图像的数学运算

it2024-07-24  70

数学运算无非就加减乘除这些,这次就直接上代码,有兴趣的可以自己玩玩。 **要求:**慢慢的连续按F6一步步查看图像处理效果。

read_image (Checbox, 'C:/Users/LWJ/Desktop/AS_1/checbox.jpg') read_image (Password, 'C:/Users/LWJ/Desktop/AS_1/password.jpg') dev_close_window () dev_open_window (0, 0, 512, 512, 'black', WindowHandle) abs_image (Password, ImageAbs) //计算一个图像的绝对值(模数) dev_display (ImageAbs) disp_message (WindowHandle, '绝对值', 'window', 0, 0, 'black', 'true') //显示用到的数学式子 add_image (Checbox, Password, ImageResult, 0.5, 0) //两个图像相加 dev_display (ImageResult) disp_message (WindowHandle, '加法', 'window', 5, 0, 'black', 'true') sub_image (Checbox, Password, ImageSub, 1, 128) //两个图像的相减 dev_display (ImageSub) disp_message (WindowHandle, '减法', 'window', 10, 0, 'black', 'true') mult_image (Checbox, Password, ImageResult2, 0.005, 0) //两个图像的相乘 dev_display (ImageResult2) disp_message (WindowHandle, '乘法', 'window', 15, 0, 'black', 'true') div_image (Checbox, Password, ImageResult1, 255, 0) //两个图像相除 dev_display (ImageResult1) disp_message (WindowHandle, '除法', 'window', 20, 0, 'black', 'true') max_image (Checbox, Password, ImageMax) //按像素计算两个图像的最大值 dev_display (ImageMax) disp_message (WindowHandle, '两者最大值', 'window', 25, 0, 'black', 'true') min_image (ImageMax, ImageMax, ImageMin) //按像素计算两个图像的最小值 dev_display (ImageMin) disp_message (WindowHandle, '两者最小值', 'window', 30, 0, 'black', 'true') invert_image (Password, ImageInvert) //一个图像的反像,即黑变白,白变黑 dev_display (ImageInvert) disp_message (WindowHandle, '反像', 'window',35,0, 'black', 'true') sqrt_image (Checbox, SqrtImage) //一个图像的平方根

**思路:**先是用read_image算子读取两张图片,想用哪张图片就用对应的图片名称作为数学运算。运算完成后采用显示图像算子dev_display, 用编辑文本消息算子 ————— disp_message来显示用了什么数学式子。 **说明:**dev_close_window 和dev_open_window 分别为关闭窗口、打开窗口,关闭再打开是为了把先前的窗口图像内容清除。而且在往后联合VS编程时,打开窗口这个算子必不可少,因为VS的窗口控件与halcon内自带的窗口不对应,必须手动在halcon里打开一个窗口,那么联合VS时就会弹出一个新的窗口,然后将弹出窗口覆盖到窗口控件上即可。 dev_display为显示图像算子,第一个算子为窗口句柄,即选择显示在哪个窗口上;第二个参数为显示内容;第三个参数如果设置为“window”,则文本位置相对于窗口坐标系统给出。如果设置为“image”,则使用图像坐标(这在缩放图像中可能有用);第四、五个参数为图像行列坐标;第六个参数为字体颜色;第七个参数看帮助文档也看不懂,应该就是设置显示在哪个框的意思吧?默认设置就好。

最新回复(0)