halcon-convert_image_type图像类型转换
111.png
112.png
在HDevelop中
read_image (Image1, 'D:/bb/tu/111.png') read_image (Image2, 'D:/bb/tu/112.png') get_image_size (Image1, Width, Height) convert_image_type (Image1, ImageConverted1, 'int2') *图像类型转换 *参数1:输入图像 *参数2:输出图像 *参数3:新类型( 'int1', 'int2', 'uint2', 'int4', 'byte', 'real', 'direction', 'cyclic', 'complex') *convert_image_type将任意类型的图像转换为任意的新图像类型,如果从较大的灰度值范围转换到较小的灰度 *值范围(例如,从'int4'到'byte'),过大或过小的值将被简单地“剪切”。如果结果图像的类型是'direction', *那么不属于'direction'图像有效值范围的灰度值将被设置为255,以表示它们无效。因此,建议在调用该操作符 *之前通过调用scale_image来调整灰度值的范围。对于类型复杂的图像,只转换实部,虚部被忽略。这有助于从 *频域转换回的图像的有效转换。这样的图像的虚部总是为0 convert_image_type (Image2, ImageConverted2, 'int2') sub_image (ImageConverted1, ImageConverted2, ImageSub, 1, 0) *将两个图像相减 dual_threshold (ImageSub, RegionDiff, 500, 20, 10) *把有符号的图像分割为正负区域 *一般用在拉普拉斯算子之后,或者用来处理两个图像的差 *第一个输入参数:图像 *第二个输出参数:分割后的正负区域 *第三个输入参数:最小区域大小 *第四个输入参数:最小灰度值大小 *第五个输入参数:阈值 灰度值小于阈值(或大于-阈值)的区域将被抑制 dev_open_window(10,10,Width, Height,'black',WindowHandle) dev_display (RegionDiff)
在QtCreator中
HObject ho_Image1, ho_Image2, ho_ImageConverted1;
HObject ho_ImageConverted2, ho_ImageSub, ho_RegionDiff;
HTuple hv_Width, hv_Height, hv_WindowHandle;
ReadImage(&ho_Image1, "D:/bb/tu/111.png"); ReadImage(&ho_Image2, "D:/bb/tu/112.png"); GetImageSize(ho_Image1, &hv_Width, &hv_Height); ConvertImageType(ho_Image1, &ho_ImageConverted1, "int2"); //图像类型转换 //参数1:输入图像 //参数2:输出图像 //参数3:新类型( 'int1', 'int2', 'uint2', 'int4', 'byte', 'real', 'direction', 'cyclic', 'complex') //convert_image_type将任意类型的图像转换为任意的新图像类型,如果从较大的灰度值范围转换到较小的灰度 //值范围(例如,从'int4'到'byte'),过大或过小的值将被简单地“剪切”。如果结果图像的类型是'direction', //那么不属于'direction'图像有效值范围的灰度值将被设置为255,以表示它们无效。因此,建议在调用该操作符 //之前通过调用scale_image来调整灰度值的范围。对于类型复杂的图像,只转换实部,虚部被忽略。这有助于从 //频域转换回的图像的有效转换。这样的图像的虚部总是为0 ConvertImageType(ho_Image2, &ho_ImageConverted2, "int2"); SubImage(ho_ImageConverted1, ho_ImageConverted2, &ho_ImageSub, 1, 0); //将两个图像相减 DualThreshold(ho_ImageSub, &ho_RegionDiff, 500, 20, 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_RegionDiff, HDevWindowStack::GetActive());
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
2019-04-13 窗口标志-外观
2019-04-13 pyqt5-QWidget-窗口状态(最大化最小化等)
2019-04-13 pyqt5-顶层窗口特定操作-图标和标题和不透明度
2019-04-13 python-闭包