Halcon图像颜色通道拆分合并与四则运算
读取图像并标注目标点灰度值,为后续对比做准备
read_image (Image, 'E:/Halcon/图片/880720666518444692.jpg')
dev_set_draw ('margin')
dev_set_color ('green')
dev_get_window (WindowHandle)
query_font (WindowHandle, Font)
FontWithSize := Font[0]+'-40'
set_font (WindowHandle, FontWithSize)
R:=3713.22
C:=4042.07
r:= 100
gen_circle (ROI_0, R, C, r)
get_grayval (Image, R, C, Grayval)
dev_display (Image)
dev_disp_text ('当前点灰度值:'+Grayval, 'image', R+200, C-300, 'black', [], [])
dev_display (ROI_0)
彩色转黑白
gray = 0.299 * red + 0.587 * green + 0.114 * blue
rgb1_to_gray (Image, GrayImage1)
decompose3
— 将一个 3 通道图像转换为 3 个图像。
decompose3 (Image, ImageR, ImageG, ImageB)
dev_display (ImageR)
dev_display (ImageG)
dev_display (ImageB)
compose3- 将 3 张图像转换为三通道图像。
compose3 (ImageR, ImageG, ImageB, MultiChannelImage1)
channels_to_image— 将单通道图像转换为多通道图像
gen_empty_obj (Images)
concat_obj (ImageR, ImageG, Images)
concat_obj ( Images,ImageB, Images)
channels_to_image (Images, MultiChannelImage)
gen_image_proto- 创建具有指定常量灰度值的图像。
gen_image_proto(Image : ImageCleared : Grayval : )
Image (input_object) 输入图像
ImageCleared (output_object) 具有恒定灰度值的图像。
Grayval (input_control) 用于输出图像的灰度值。
gen_image_proto (Image, ImageCleared, 200)
invert_image 反转灰度值图像。
invert_image (Image, ImageInvert)
append_channel- 将其他矩阵(通道)附加到图像中。
MultiChannelImage (input_object) 多通道图像。
Image (input_object) 要附加的图像。
ImageExtended (output_object) 图像后附加图像.
append_channel (ImageInvert, ImageInvert, ImageExtended)
image_to_channels— 将多通道图像转换为单通道图像
image_to_channels (ImageExtended, Images)
图像则运算
图像相加法 g' := (g1 + g2) * Mult + Add
add_image (ImageR, ImageB, ImageSub, 1, 0)
图像乘法 g' := g1 * g2 * Mult + Add
mult_image (ImageR, ImageB, ImageResult, 0.005, 10)
图像减法g' := (g1 - g2) * Mult + Add
sub_image (ImageB, ImageR, ImageSub1, 1, 128)
图像除法 g' := g1 / g2 * Mult + Add
div_image (ImageB, ImageR, ImageResult1, 20, 0)