使用Numpy+OpenCV来增强灰度图像

本文介绍了如何使用Numpy和OpenCV手动去除灰度图像中的阴影。通过最大值滤波和最小值滤波的组合应用,实现图像增强,详细解释了这两个滤波操作的原理,并提供了代码实现。最终,通过归一化处理得到增强后的图像。完整代码可在提供的Github链接中找到。
摘要由CSDN通过智能技术生成

在日常生活中,我们经常会扫描纸张把它们转换成图像,但这些图像往往存在阴影,我们有各种各样的工具可以在线增强这些图像,使它们的亮度更亮,并消除这些图像中的阴影。那有没有方法可以手动去除阴影呢?比如我们可以将任何图像作为灰度图像加载到我们的代码中,并在几秒钟内获得输出,而无需任何应用程序的帮助。

这是可以通过使用基本的Numpy操作和一些openCV函数来实现。我们使用了下面的图片作为例子,它是用手机拍的。

很明显,它有一个阴影需要删除。

  1. 将必要的软件包导入你的环境。为了易于显示图像,我们使用Jupyter Notebook。

import cv2
import numpy as np
import matplotlib.pyplot as plt

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

那么,最大值滤波和最小值滤波

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值