halcon中Image的像素类型

本文探讨了在Halcon中使用sub_image算子前将图像类型转换为'int2'的原因。虽然了解到'int2'是像素类型之一,但具体转换原因尚未明确。通过对比转换前后图像相减的操作,作者发现两者似乎没有明显差别。

在学习halcon算子sub_image(ImageMinuend, ImageSubtrahend : ImageSub : Mult, Add : )时,在样例中遇到了一个操作

* This example demonstrates how to subtract two images
* using the operator 'sub_image'.
* 
* 
dev_close_window ()
dev_update_off ()
* 
* Read two images and convert them
read_image (Scene00, 'autobahn/scene_00')
read_image (Scene01, 'autobahn/scene_01')
convert_image_type (Scene00, ImageConverted1, 'int2')
convert_image_type (Scene01, ImageConverted2, 'int2')
* 
* Display the input images for the subtraction
dev_open_window_fit_image (ImageConverted1, 0, 0, -1, -1, WindowHandle)
set_display_font (WindowHandle, 16, 'mono', 'true', 'false')
dev_display (ImageConverted1)
disp_message (WindowHandle, 'Image 1', 'window', 12, 12, 'black', 'true')
disp_continue_message (WindowHandle, 'black', 'true')
stop ()
dev_display (ImageConverted2)
disp_message (WindowHandle, 'Image 2', 'window', 12, 12, 'black', 'true')
disp_continue_message (WindowHandle, 'black', 'true')
`scale_image` 算子是Halcon中用于图像缩放的重要算子,在图像处理流程中发挥着关键作用。以下是关于该算子的使用指南及相关信息: ### 功能用途 `scale_image` 算子用于对输入图像的灰度值进行线性缩放。通过设定缩放因子和偏移量,可以调整图像的对比度和亮度,以满足不同的处理需求。 ### 语法格式 ```python scale_image(Image : ImageScaled : Mult, Add : ) ``` - **参数说明**: - `Image`(输入参数):待处理的输入图像,可以是多通道图像。 - `ImageScaled`(输出参数):经过缩放处理后的输出图像。 - `Mult`:缩放因子,用于控制灰度值的缩放比例。 - `Add`:偏移量,用于调整灰度值的整体偏移。 ### 示例代码与解释 以下是引用中的示例代码片段,展示了 `scale_image` 算子的使用: ```python # 读取图像 read_image (Image, 'E:/Halcon/资源图片/111.PNG') # 打开窗口并适配图像显示 dev_close_window () dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle) # 分解图像为RGB通道 decompose3 (Image, ImageR, ImageG, ImageB) # 进行高斯差分处理 diff_of_gauss (ImageG, DiffOfGauss, 1,29) # 生成矩形ROI gen_rectangle1 (ROI_0, 209.601, 248.13, 382.448, 391.034) # 缩小图像定义域到ROI reduce_domain (DiffOfGauss, ROI_0, ImageReduced) # 反转图像 invert_image (ImageReduced, ImageInvert1) # 计算ROI内图像的最小、最大灰度值和灰度范围 min_max_gray (ROI_0, ImageInvert1, 0, Min, Max, Range) # 计算缩放因子和偏移量 mult:=255/(Max - Min) add:=-mult*Min # 使用scale_image算子进行图像缩放 scale_image (ImageInvert1, ImageScaleMax, mult, add) # 再次计算ROI内缩放后图像的最小、最大灰度值和灰度范围 min_max_gray (ROI_0, ImageScaleMax, 0, Min1, Max1, Range1) ``` 在上述代码中,首先读取了一张图像,并进行了一系列预处理操作,包括通道分解、高斯差分、ROI提取和图像反转等。然后,通过 `min_max_gray` 算子计算了ROI内图像的最小和最大灰度值,进而计算出缩放因子 `mult` 和偏移量 `add`。最后,使用 `scale_image` 算子对反转后的图像进行缩放处理,得到最终的缩放图像 `ImageScaleMax`。 ### 支持GPU运行 Halcon 中有 61 个算子支持GPU运行以提高处理速度,`scale_image` 算子便是其中之一。这意味着在具备GPU加速条件的环境下,可以显著提升该算子的处理效率 [^3]。 ### 与其他算子的对比 与 `scale_image_max` 算子相比,`scale_image_max` 是按最大比例增强对比度,自动计算像素的最大和最小值并按照最大值比例化各个像素;而 `scale_image` 则需要手动指定缩放因子和偏移量,给予用户更多的控制权,可根据具体需求灵活调整图像的缩放效果 [^2]。 ### 注意事项 - 在使用 `scale_image` 算子时,需要合理选择缩放因子和偏移量,以避免图像灰度值溢出或损失。 - 输入图像的类型和通道数应与算子的要求相匹配,确保处理结果的正确性。 ### 总结 `scale_image` 算子是Halcon中一个强大且灵活的图像缩放工具,通过手动控制缩放因子和偏移量,可以实现对图像对比度和亮度的精细调整。同时,其支持GPU运行的特性也为大规模图像处理提供了高效的解决方案。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值