Halcon-渐变亮度

问题描述

我有一个在光线不均匀的情况下拍摄的图像。.在相机的下方有一个暗灯罩,一个在下方,因此,图像在中央(从上到下)已正确照明,但左右偏暗

是否可以应用带有渐变的增亮滤镜?所以它越靠近外边缘,它就会越亮?

通过以下方式解决了Mannari的答案:

decompose3 (OriginalImage,ImageR,ImageG,ImageB)
trans_from_rgb(ImageR,ImageB,ImageH,ImageL,ImageS,'hls')

ImageWhite:=ImageL
gen_rectangle1(Rectangle,ImageHeight-1,ImageWidth-1)
* paint a white rectangle
paint_region(Rectangle,ImageWhite,255.0,'fill')

tuple_real(BrightenWidth,BrightenWidth)
gen_image_gray_ramp (ImageGrayRampL,-(255/BrightenWidth),128,1,BrightenWidth/2,ImageWidth,ImageHeight)
gen_image_gray_ramp (ImageGrayRampR,(255/BrightenWidth),ImageWidth-(BrightenWidth/2),ImageHeight)
add_image (ImageGrayRampL,ImageGrayRampR,ImageGrayRampRaw,0)

mult_image (ImageL,ImageComp,0.003,0)


add_image (ImageL,BrightenedImageL,0)
add_image (ImageS,BrightenedImageS,0)
trans_to_rgb(ImageH,'hls')
compose3(ImageR,CompensatedImage)

解决方法

是的,当然。

您可以在演示multi_image.dev中找到一个示例。

此处是演示代码:

* This example demonstrates how to multiply two images using
* the operator 'mult_image'.
* 
* 
dev_close_window ()
dev_update_off ()
* 
* Read an input image and generate a second input image
* by creating a gray value ramp
read_image (Scene00,'autobahn/scene_00')
gen_image_gray_ramp (ImageGrayRamp,0.5,128,256,512,512)
* 
* Display the input images for the multiplication
dev_open_window_fit_image (Scene00,-1,WindowHandle)
set_display_font (WindowHandle,16,'mono','true','false')
dev_display (Scene00)
disp_message (WindowHandle,'Multiply the image with a gray value ramp','window',12,'black','true')
disp_continue_message (WindowHandle,'true')
stop ()
dev_display (ImageGrayRamp)
disp_message (WindowHandle,'Created gray value ramp','true')
stop ()
* 
* Multiply the images with factor 0.005 for the gray value
* adaption and display the resulting image
mult_image (Scene00,ImageGrayRamp,ImageResult,0.005,0)
dev_display (ImageResult)
disp_message (WindowHandle,'Resulting image of the product','true')

我认为最好是拿一张参考照片(例如用白皮书)而不是创建渐变图像。