python - 去噪和过滤图像

标签 python image opencv image-processing scikit-image

我正在进行车牌识别。我裁剪了盘子,但它非常模糊。因此我无法拆分出数字/字符并识别它。

这是我的图片:

enter image description here

我已尝试通过使用 scikit 图像 函数对其进行降噪

首先,导入库:

import cv2
from skimage import restoration
from skimage.filters import threshold_otsu, rank
from skimage.morphology import closing, square, disk

然后,我读取图像并将其转换为灰度

image = cv2.imread("plate.jpg")
image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

我尝试去除噪音:

denoise = restoration.denoise_tv_chambolle(image , weight=0.1)
thresh = threshold_otsu(denoise)
bw = closing(denoise  > thresh, square(2))

我得到的是:

enter image description here

如您所见,所有数字都混合在一起。因此,我无法将它们分开,无法一一识别。

我期望的是这样的(我画的):

enter image description here

我正在寻求帮助,如何才能更好地过滤图像?谢谢。

============================================= ====================== 更新:

使用skimage.morphology.erosion后,我得到:

enter image description here

最佳答案

首先,这张图片看起来更像是模糊而不是噪声,所以没有充分的理由对其进行降噪,尝试去模糊。

最简单的是逆向过滤,甚至是维纳过滤。然后你需要通过亮度级别将图像的背景与字母分开,例如使用分水岭算法。然后你会得到单独的字母,你需要通过一个分类器,例如,基于神经网络(即使是简单的前馈网络也可以)。

然后您将最终获得文本表示。这就是通常进行此类识别的方式。 有好的book by Gonzalez&Woods ,尝试在那里寻找详细的解释。

关于python - 去噪和过滤图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38820743/

相关文章:

python - 如果值 x == 列表 y 中的任何值 : python

Java 将图像加载到类 - 最有效的做法?

html - 使用 CSS/HTML 正确定位 2 个并排图像的方法?

python - 脸部变形/变形 - 周围没有框架?

python - 挑战蛮力方法的谜题?

Python - 转置 Pandas DataFrame

html - 以正确的方式填充背景

opencv - 在 openCV 中将矩阵转换为向量

c++ - 使用 open cv 和 c++ 检测和计算图像上的人脸

python - 使用用户代理 header 时 Webscraping CrunchBase 访问被拒绝