相机是彩色的, 用下面的代码保存为本地图片, 打开发现是彩色的.
但是, 你会发现显示到屏幕上却是黑白的.
dev_close_window() dev_open_window(0, 0, 512, 512, 'black', WindowHandle) open_framegrabber ('GigEVision2', 0, 0, 0, 0, 0, 0, 'progressive', -1, 'default',\ -1, 'false', 'default', '94aab8029638_Microvision_MVEM500M', 0, -1, AcqHandle) grab_image (Image, AcqHandle) write_image(Image, 'tiff', 0, 'd:/1.tiff') disp_image(Image,WindowHandle ) close_framegrabber (AcqHandle)
我以为是算子open_framegrabber 有问题, 改成下面这样的:
即图像为8位通道, RGB色彩空间.
open_framegrabber ('GigEVision2', 0, 0, 0, 0, 0, 0, 'progressive', 8, 'rgb',\ -1, 'false', 'default', '94aab8029638_Microvision_MVEM500M', 0, -1, AcqHandle)
结果不对,显示还是黑白的.
最后发现其实是算子 disp_image的问题, 这货只能显示黑白图像.
换成disp_obj就可以了.
真是想不到啊!
摘抄一下halcon的disp_image算子的帮助:
disp_image(操作员) 名字 disp_image• 显示灰色值图像。 签名 disp_image(Image : : WindowHandle : ) 描述 disp_image在输出窗口中显示图像的灰色值。定义域的灰值像素(set_comprise(::windowHandle、'对象':) set_comprise(或整个图像(set_comprise(::窗口句柄,"图像":)set_comprise(被使用。对定义域的限制是默认值。
果然是不求甚解啊~~
本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:


