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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • .Net 接入CAS 遇到的坑

    .Net 接入CAS 遇到的坑

    2021年7月2日
    106
  • Java基础语法_java的基本语法有哪些

    Java基础语法_java的基本语法有哪些Java基础语法

    2022年4月21日
    75
  • 域名、服务器、IP之间的关系[通俗易懂]

    域名、服务器、IP之间的关系[通俗易懂]文章转载自:[https://www.jianshu.com/p/c3d3f6629c13](https://www.jianshu.com/p/c3d3f6629c13)本文主要针对域名、服务器和IP之间的关系进行介绍,并通过实际案例讲解域名解析过程本文目录基础概念案例分析阿里云域名解析过程基础概念服务器:服务器其实就像我们的家用电脑一样,也有主板、CPU、内存、硬盘、电源等。根据功能来说服务器可分为web服务器、ftp服务器、数据库服务器、邮件服务器等等,做什么用途就可以叫做什么服务器

    2022年9月29日
    2
  • LAMP架构简介与概述 及服务安装

    LAMP架构简介与概述 及服务安装1、LAMP平台概述(1)LAMP平台概述LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整台系统和相关软件,能够提供动态web站点服务及其应用开发环境LAMP是一个缩写词,具体包括Linux操作系统,Apache网站服务器,MySQL数据库服务器,PHP(或perl,Python)网页编程语言(2)构建LAMP平台顺序在构建LAMP平台时,各组件的安装顺序依次为Linux,Apache,MySQL,PHP其中Apache和MySQL的安装并没有严格的顺序要求,而PH

    2022年10月16日
    3
  • python之IP地址处理模块IPy

    python之IP地址处理模块IPyIPy 的安装 wgethttps pypi python org packages source I IPy IPy 0 81 tar gztar xzvfIPy 0 81 tar gzcdIPy 0 81pythonsetu pyinstallIP 地址与网段的基本处理 IPy 模块包含 IP 类通过 version 方法区别 IPv4 与 IPv6 通过制定的网段输出该网段

    2025年11月26日
    5
  • JAVA获取服务器上文件路径,java 获取远程服务器目录的路径

    JAVA获取服务器上文件路径,java 获取远程服务器目录的路径java获取远程服务器目录的路径内容精选换一换已将所需升级的鲲鹏性能分析工具的软件包下载到本地。获取软件包后,需要校验软件包,确保与网站上的原始软件包一致,详细步骤请参见软件包校验。获取软件包后,需要校验软件包,确保与网站上的原始软件包一致,详细步骤请参见软件包校验。升级前请确认鲲鹏性能分析工具可以正常使用。升级前请确认安装空间至少保留原工具安装目录的大小加上新版本安装空间(1GB)为加强对系…

    2022年7月11日
    61

发表回复

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

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