MATLABfill函数_matlab中C的模块名称是什么

MATLABfill函数_matlab中C的模块名称是什么matlab移植C/C++代码时,发现不管是opencv还是IPP库都没有填充联通区域函数imfill(),于是只能自己动手了。先展示一下imfill()函数的功能,如下图:上图中,左图是一个二值图像,白色是手臂边缘像素值为1,黑色区域像素值为0,现在想将手臂填充1,用imfill()函数可以实现该功能,但C/C++代码需要自己实现。C/C++代码:boolimFill(Ipp8u*img,intwidth,intheight){ vector<int>q; int

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

matlab移植C/C++代码时,发现不管是opencv还是IPP库都没有填充联通区域函数imfill(),于是只能自己动手了。

先展示一下imfill()函数的功能,如下图:
在这里插入图片描述
上图中,左图是一个二值图像,白色是手臂边缘像素值为1,黑色区域像素值为0,现在想将手臂填充1,用imfill()函数可以实现该功能,但C/C++代码需要自己实现。

C/C++代码:

bool imFill(Ipp8u *img, int width, int height)
{
	vector<int> q;
	int head = 1;
	int tail = 1;
	int pix_x;
	int pix1_x;
	int pix, pix1;
	int nerghbour1[8] = { -1, -1, -1, 0, 0, 1, 1, 1 }; //行坐标偏移
	int nerghbour2[8] = { -1, 0, 1, -1, 1, -1, 0, 1 };  //列坐标偏移

	q.push_back(round(height / 2)*width + round(width / 2) - 1);

	tail = tail + 1;
	do
	{
		pix = q[head - 1];
		pix_x = pix % width;
		for (int i = 0; i < 8; i++)
		{
			pix1 = pix + nerghbour2[i] + nerghbour1[i] * width;
			pix1_x = pix1 % width;
			if (pix1 < height*width && pix1 > 0 && abs(pix1_x - pix_x) < 2)
			{
				if (img[pix1] == 0)
				{
					img[pix1] = 1;
					q.push_back(pix1);
					tail = tail + 1;
				}
			}
		}
		//q.erase(q.begin());
		head = head + 1;

	} while (head != tail);

	return true;
}

继续搬砖了,原理改天附上。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/194492.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SysUtils.QuotedStr – 加单引号

    SysUtils.QuotedStr – 加单引号举例:varss,s:string;beginss:=’Delphi’;s:=QuotedStr(ss);ShowMessage(s);{‘Delphi’}end;SysUtils单元下的公用函数目录

    2022年10月18日
    1
  • eclipse .class文件中文乱码_svn中文乱码

    eclipse .class文件中文乱码_svn中文乱码eclipse默认编码格式为GBK将其更改为utf-8即可更改后

    2022年8月31日
    5
  • Java动态加载类(java动态加载代码)

    通过java、JavaScript和css实现点击按钮后出现灰色遮罩层,并显示动态加载的字样,提高用户体验,废话不多说,上代码(写这个博客的原因是网上代码太多新手根本不知道哪里对哪里,这里剔除所有无关代码,只显示可以出现功能的最少代码)。第一:效果图为第二:实现如上效果的代码为1:遮罩层css代码#load{position:fixed;top:0px;right:0px;bottom:0…

    2022年4月13日
    44
  • python基础语法个人笔记_python基础语言法则

    python基础语法个人笔记_python基础语言法则python语法规范python的语法规范非常重要,简洁明了是python的特性,以下是python语法的一些说明python3的编码格式是unicode(utf-8)标识符的规则:由字母、数字

    2022年7月29日
    6
  • 中石化面试题java,中石化面试经验

    中石化面试题java,中石化面试经验面试过程:应聘途径:社会招聘面试内容:1对1面试面试难度:简单面试感觉:一般面试官提的问题:到了面试那里,像上次那样在会议室等着。大概有四、五十人左右吧,分成了几组人,第一组人先去做性格测评,说要八十分钟左右,其他人在等,说那些领导在开会,商议面试的事宜。领导开会开到十一点半才出来,宣讲一下相关内容,结果把一些还没做完测试的人拉了下来。宣讲完,那些做完测试的人就先去面试,因为估计不到什么时候才面完…

    2022年10月15日
    3
  • jboss版本_输入法下载

    jboss版本_输入法下载昨天和今天到jboss区下载jboss4.0.4或者其他版本,没有一个下的了,太烂了,网站怎能这样,现在是什么时代呀,免费的或者收费的服务都应该要做的很好才是.感觉现在的软件的功能远远没有达到我心目中理想的位置,也不知何年何月我才对会软件的功能称好!也许软件就是这样吧,开发要成本,做得很好是几乎不可能的了.

    2022年9月28日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号