图像阴影去除

本文介绍了使用OpenCV进行图像阴影去除的方法,包括最大滤波和最小滤波的原理及其实现过程。通过先进行最大滤波增强背景,再用最小滤波处理,最后通过背景减法对结果进行归一化,从而有效地去除图像中的阴影。
摘要由CSDN通过智能技术生成

 

OpenCV的图像阴影去除

原理:删除阴影时,有两件事要注意。由于图像是灰度图像,如果图像背景较浅且对象较暗,则必须先执行最大滤波,然后再执行最小滤波。如果图像背景较暗且物体较亮,我们可以先执行最小滤波,然后再进行最大滤波。

3.最大滤波:让我们假设我们有一定大小的图像I。我们编写的算法应该逐个遍历I的像素,并且对于每个像素(x,y),它必须找到该像素周围的邻域(大小为N x N的窗口)中的最大灰度值,并进行写入A中相应像素位置(x,y)的最大灰度值。所得图像A称为输入图像I的最大滤波图像。现在让我们通过代码来实现这个概念。

  • max_filtering()函数接受输入图像和窗口大小N。

  • 它最初在输入数组周围创建一个“墙”(带有-1的填充),当我们遍历边缘像素时会有所帮助。

  • 然后,我们创建一个“ temp”变量,将计算出的最大值复制到其中。

  • 然后,我们遍历该数组并围绕大小为N x N的当前像素创建一个窗口。

  • 然后,我们使用“ amax()”函数在该窗口中计算最大值,并将该值写入temp数组。

  • 我们将该临时数组复制到主数组A中ÿ

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值