halcon-regiongrowing区域增长法分割图像为区域
图像 分割 增长 区域 HALCON
2023-09-27 14:28:41 时间
在HDevelop中
dev_update_off() read_image (Image, 'D:/bb/tu/8.jpg') get_image_size (Image, Width, Height) regiongrowing (Image, Regions, 1, 1, 3, 1000) *区域增长法分割图像为区域
*此方法分割的区域可能有重叠 *参数1:输入图像 *参数2:分割后的输出区域 *参数3Row和参数4Col :定义了在图像内相邻移动的模板的长和宽度大小 *参数5:两个相邻模板中心灰度值差,如果小于这个值就合并为同一区域 *参数6:作为一个限制,限定了用上面方法分割出的区域面积最终不能小于MinSize给定的值,否则不作为区域输出 gen_empty_region (NoPixel) *创建一个空区域 *count_obj返回1 这个区域的面积是0。 expand_region (Regions, NoPixel, RegionExpanded1, 'maximal', 'image') *填充区域之间的间隙或分割重叠区域 *参数1:Regions要膨胀的区域 * 如果是区域:不执行膨胀,而是只分割重叠区域,将重叠区域均匀地分布到各个区域里。 * 因为与原区域的交集是在收缩操作后计算出来的,因此可能会导致输出区域出现间隙。 * 这可以通过第二次调用expand_region来防止,并将原始区域的补集作为ForbiddenArea *参数2:ForbiddenArea禁止膨胀的区域 *参数3:RegionExpanded1膨胀后结果区域 *参数4:迭代次数 * 默认值: 'maximal' 函数一直执行直到不可膨胀 * 建议值: 'maximal',0,1,2,3,5,7,10,15,20,30,50,70,100,200 * 传递0的话,返回未重叠的全部区域 * 典型值范围:0≤ Iterations≤ 1000 *参数5:扩展模式 * 'image' 目的是填充区域之间的间隙,输入区域将迭代地膨胀,直到它们触及另一个区域或图像边缘 * 'region' 目的是分割重叠区域 dev_set_colored (10) *设置输出颜色的数量 dev_open_window (10, 10, Width, Height, 'black', WindowHandle) dev_display (RegionExpanded1)
在QtCreator中
HObject ho_Image, ho_Regions, ho_NoPixel, ho_RegionExpanded1;
HTuple hv_Width, hv_Height, hv_WindowHandle;
ReadImage(&ho_Image, "D:/bb/tu/8.jpg"); GetImageSize(ho_Image, &hv_Width, &hv_Height); Regiongrowing(ho_Image, &ho_Regions, 1, 1, 3, 1000); //区域增长法分割图像为区域
//此方法分割的区域可能有重叠 //参数1:输入图像 //参数2:分割后的输出区域 //参数3Row和参数4Col :定义了在图像内相邻移动的模板的长和宽度大小 //参数5:两个相邻模板中心灰度值差,如果小于这个值就合并为同一区域 //参数6:作为一个限制,限定了用上面方法分割出的区域面积最终不能小于MinSize给定的值,否则不作为区域输出 GenEmptyRegion(&ho_NoPixel); //创建一个空区域 //count_obj返回1 这个区域的面积是0。 ExpandRegion(ho_Regions, ho_NoPixel, &ho_RegionExpanded1, "maximal", "image"); //填充区域之间的间隙或分割重叠区域 //参数1:Regions要膨胀的区域 // 如果是区域:不执行膨胀,而是只分割重叠区域,将重叠区域均匀地分布到各个区域里。 // 因为与原区域的交集是在收缩操作后计算出来的,因此可能会导致输出区域出现间隙。 // 这可以通过第二次调用expand_region来防止,并将原始区域的补集作为ForbiddenArea //参数2:ForbiddenArea禁止膨胀的区域 //参数3:RegionExpanded1膨胀后结果区域 //参数4:迭代次数 // 默认值: 'maximal' 函数一直执行直到不可膨胀 // 建议值: 'maximal',0,1,2,3,5,7,10,15,20,30,50,70,100,200 // 传递0的话,返回未重叠的全部区域 // 典型值范围:0≤ Iterations≤ 1000 //参数5:扩展模式 // 'image' 目的是填充区域之间的间隙,输入区域将迭代地膨胀,直到它们触及另一个区域或图像边缘 // 'region' 目的是分割重叠区域 if (HDevWindowStack::IsOpen()) SetColored(HDevWindowStack::GetActive(),10); //设置输出颜色的数量 SetWindowAttr("background_color","black"); OpenWindow(10,10,hv_Width,hv_Height,0,"visible","",&hv_WindowHandle); HDevWindowStack::Push(hv_WindowHandle); if (HDevWindowStack::IsOpen()) DispObj(ho_RegionExpanded1, HDevWindowStack::GetActive());
相关文章
- 属性分解 GAN 复现 实现可控人物图像合成
- Text to image论文精读ALR-GAN:文本到图像合成的自适应布局优化
- Python 图像滤波 代码实现 (sobel、average、gaussian、laplace)
- 基于深度学习的图像分割:网络结构设计
- 改进YOLOv8 | 即插即用篇 | 用于低分辨率图像和小物体的新 CNN 模块SPD-Conv | 《不再使用步幅卷积或池化:一种适用于低分辨率图像和小物体的新卷积神经网络构建模块》
- FFMPEG Qt视频播放器之显示图像
- 基于改进萤火虫算法的图像分割的应用(Matlab代码实现)
- [轻笔记]Pytorch语义分割输出转换为图像显示
- CorelDRAW2021序列号 专业的矢量图像设计软件
- SSE图像算法优化系列二十八:深度优化局部拉普拉斯金字塔滤波器。
- SSE图像算法优化系列十九:一种局部Gamma校正对比度增强算法及其SSE优化。
- 图像语义分割代码实现(1)
- mean shift 图像分割(一、二、三)
- k-means 图像分割
- python 图像处理(一阶梯度图像和角度图像)
- OpenCV图像中绘制通过两点的直线(Python / C++源码)
- C#图像处理-OpenCVSharp教程(三十) OpenCVSharp GrabCut & FloodFill图像分割
- PaddleSeg图像分割预测pyinstaller打包报错:No module named ‘framework_pb2‘,问题解决
- opencv 图像拼接stitcher
- OpenCV图像处理之——分水岭算法的图像分割
- cv2.threshold() 进行简单的图像分割,构建Mask
- cv2.threshold() 阈值:使用Python,OpenCV进行简单的图像分割
- 计算机视觉系列-图像目标分割 Mask-RCNN结构介绍(2)
- 图像抠图的closed form算法
- 图像物体检測识别中的LBP特征
- 基于jQuery图像碎片切换效果插件FragmentFly
- CxImage图像库的使用
- C++opencv图像的缩放