基于Halcon的图像预处理

图像预处理就是在提取目标物之前对图像进行一些预处理,预处理通常包括两大方向:去噪和图像增强。

1.去噪

去噪有分为时域去噪和频域去噪

a)时域去噪通常手法为:

1)中值滤波:Media_Image  中值滤波的原理是拿特征区域在图像滑动,每一点(与特征区域的中点重合)的值为特征区域所覆盖的范围的中值

2)均值滤波·:mean_image 均值滤波的原理是拿特征区域在图像滑动,每一点(与特征区域的中点重合)的值为特征区域所覆盖的范围的均值

3)高斯滤波:guss_image 高斯滤波的原理类似,只不过特征区域内的每个点做了加权处理,可以根据需要让哪个单元的权重大,哪个单元的权重小

b)频域内的去噪

1)高通滤波 :让图像中高频部分通过,通常会留下边缘,起到锐化的作用

2)低通滤波 :让图像的低频部分通过,通常弱化边缘,会得到比较平缓的图像

3)中通滤波:让图像中中频部分通过

4)高斯滤波

2.图像增强

图像增强一般通过如下几种方式:

a)scale_image:   g' := g * Mult + Add  g为当前的灰度值,Mult 为所乘的系数,Add为加的偏移值,由公式可以刊出用scale_image来处理图像是个线性变化,会让黑的地方更黑,亮的地方更亮。

b)图像形态学

1)gray_opening:结构元素在图像中滑,灰度值最高的值作为新值,有使图像变亮的作用。

2)gray_closing:结构元素在图像中滑,灰度值最低的值作为新值,有使图像变暗的作用。

c)gray_range_rect: 用一个矩形结构元素在图像中滑动,新值=(矩形中最大的)灰度值-(矩形中最大的)最小的灰度值

d)emphasize: res := round((orig - mean) * Factor) + orig   mean代表先对原图进行mean_image后的图像对应的灰度值,

orig 代表每幅图对应的灰阶值 ,res代表输出图像的灰阶值。

想要视觉交流的小伙伴可以加群:583855302 如要转载,请注明出处。

Hi~ 可私信我了解后再进行下载~ 1.基于halcon算法平台; 2.提供深度图源文件以及解压密码; 3.代码预览: */********************************* * @文档名称: 基于点云的平面拟合。 * @作者: hugo * @版本: 1.1 * @日期: 2021-6-16 * @描述: 该方法支持点云平面拟合以及深度图平面拟合。 **********************************/* read_image (imageReal, './replay_38893_2021-6-7.tif') xResolution:=0.06 yResolution:=0.06 zResolution:=0.001 ScaleFactor:=[xResolution,yResolution,zResolution] rateLowRemove:=0.1 rateHighRemove:=0.1 dev_get_window (WindowHandle) *采样区域1 create_drawing_object_rectangle2 (300, 120, rad(90), 30, 20, DrawID) set_drawing_object_params (DrawID, 'color', 'red') set_drawing_object_params (DrawID, 'line_width', 1) attach_drawing_object_to_window (WindowHandle, DrawID) ......... TransPose := [0,0,d,0,0,0,0] rigid_trans_object_model_3d (SampledObjectModel3D1, TransPose, _SampledObjectModel3D1) rigid_trans_object_model_3d (ObjectModelPlane1, TransPose, _ObjectModelPlane1) create_pose (0, 0, Mean/2, 180, 0, 0, 'Rp+T', 'gba', 'point', Pose1) *visualize_object_model_3d (WindowHandle, [_ObjectModelPlane1,_SampledObjectModel3D1,SampledObjectModel3D2], [], [Pose1], [], ['intensity','lut','lut'], ['&amplitude','sqrt','sqrt'], '', 'Edited by AmazingRobot+ ' , PoseOut) visParamName := ['intensity_1','color_0','color_2','alpha_0'] visParamValue := ['coord_z','red','yellow',0.5] visualize_object_model_3d (WindowHandle, [_SampledObjectModel3D1,SampledObjectModel3D2,_ObjectModelPlane1], [], [], visParamName, visParamValue, 'Edited by AmazingRobot+', [], '', PoseOut) stop () 谢谢您的信任~
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值