标签:提取 Image hv SelectedRegions Yellow halcon 实例 ho ConnectedRegions
实例目的:提取最上面黄色的线
在HDevelop中
dev_close_window () read_image (Image, 'D:/bb/tu/8.png') get_image_size (Image, Width, Height) decompose3 (Image, Red, Green, Blue) *将RGB三通道数据转化为HSV色彩空间的三通道图像数据 *HSV:看https://blog.csdn.net/xiaoyafang123/article/details/113029596 trans_from_rgb (Red, Green, Blue, Hue, Saturation, Intensity, 'hsv') 对HSV图像中的饱和度通道进行阈值操作 threshold (Saturation, HighSaturation, 200, 255) *获取上述阈值操作后区域中的色调通道图像数据 reduce_domain (Hue, HighSaturation, HueHighSaturation) *对上述色调通道图像数据进行阈值处理 threshold (HueHighSaturation, Yellow, 20, 30) *寻找连通域 connection (Yellow, ConnectedRegions) *保留ConnectedRegions里的最大的区域 select_shape_std (ConnectedRegions, SelectedRegions, 'max_area', 0) *对SelectedRegions进行闭运算操作 closing_circle (SelectedRegions, Yellow, 3.5) *将Yellow区域里的图像剪切出来 reduce_domain (Image, Yellow, ImageReduced) dev_open_window(10,10,Width, Height,'black',WindowHandle) dev_display(ImageReduced)
在Qt Creator中
HObject ho_Image, ho_Red, ho_Green, ho_Blue; HObject ho_Hue, ho_Saturation, ho_Intensity, ho_HighSaturation; HObject ho_HueHighSaturation, ho_Yellow, ho_ConnectedRegions; HObject ho_SelectedRegions, ho_ImageReduced; HTuple hv_Width, hv_Height, hv_WindowHandle;
ReadImage(&ho_Image, "D:/bb/tu/8.png"); GetImageSize(ho_Image, &hv_Width, &hv_Height); Decompose3(ho_Image, &ho_Red, &ho_Green, &ho_Blue); //将RGB三通道数据转化为HSV色彩空间的三通道图像数据 //HSV:看https://blog.csdn.net/xiaoyafang123/article/details/113029596 TransFromRgb(ho_Red, ho_Green, ho_Blue, &ho_Hue, &ho_Saturation, &ho_Intensity, "hsv"); //对HSV图像中的饱和度通道进行阈值操作 Threshold(ho_Saturation, &ho_HighSaturation, 200, 255); //获取上述阈值操作后区域中的色调通道图像数据 ReduceDomain(ho_Hue, ho_HighSaturation, &ho_HueHighSaturation); //对上述色调通道图像数据进行阈值处理 Threshold(ho_HueHighSaturation, &ho_Yellow, 20, 30); //寻找连通域 Connection(ho_Yellow, &ho_ConnectedRegions); //保留ConnectedRegions里的最大的区域 SelectShapeStd(ho_ConnectedRegions, &ho_SelectedRegions, "max_area", 0); //对SelectedRegions进行闭运算操作 ClosingCircle(ho_SelectedRegions, &ho_Yellow, 3.5); //将Yellow区域里的图像剪切出来 ReduceDomain(ho_Image, ho_Yellow, &ho_ImageReduced); SetWindowAttr("background_color","black"); OpenWindow(10,10,hv_Width,hv_Height,0,"visible","",&hv_WindowHandle); HDevWindowStack::Push(hv_WindowHandle); if (HDevWindowStack::IsOpen()) DispObj(ho_ImageReduced, HDevWindowStack::GetActive());
标签:提取,Image,hv,SelectedRegions,Yellow,halcon,实例,ho,ConnectedRegions 来源: https://www.cnblogs.com/liming19680104/p/16214949.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。