使用Opencv去噪多个灰度文本图像[重复]

Posted

技术标签:

【中文标题】使用Opencv去噪多个灰度文本图像[重复]【英文标题】:Denoising multiple grayscaled text images using Opencv [duplicate] 【发布时间】:2020-06-09 18:17:22 【问题描述】:

我正在尝试对文件夹中的多个灰度文本图像进行降噪。我已经将所有图像转换为灰度。我想要的只是在不更改文本的情况下从所有图像中去除噪点或模糊。为此,我使用 opencv 来消除模糊或噪音。我已经编写了如下所示的代码,当我运行代码时它没有显示任何错误并且什么都不显示。请帮我解决这个问题。我是图像处理方面的新手,这就是我感到困惑的原因。这是我的代码...

import numpy as np
from PIL import Image
import cv2
import glob
src_path = r"C:\Users\usama\Documents\FYP-Data\FYP Project Data\grayscale images\*.png" #images folder path
def get_string(src_path):
    for filename in glob.glob(src_path):
        img = cv2.imread(filename)
        img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
        kernel = np.ones((1, 1), np.uint8)
        img = cv2.dilate(img, kernel, iterations=1)
        img = cv2.erode(img, kernel, iterations=1)
        cv2.imwrite(src_path + "filename", img)

【问题讨论】:

可能是你的目录名中的空格。你能关闭他们的名字再试一次吗? cv2.waitKey 丢失。如果您想在 OpenCV 窗口系统中显示图像,这一点非常重要。不这样做会挂起你的系统。 现在我的代码可以工作,但不能正常显示图像但它不能消除图像的噪点或模糊。请帮我解决问题...@rayryeng​​span> 这是一个新问题。请打开一个新的并实际显示示例图像。 【参考方案1】:

您应该缩小您加载的文件的范围。我更喜欢使用 glob 来执行此操作,它允许在搜索文件时使用简单的正则表达式模式。我希望您得到一个不是图像但仍在加载的文件,或者您缺少cv2.waitKey(0) 以退出视图。

import cv2
from glob import glob

files = glob('*.jpg')
for filename in glob('*.jpg'):
    img = cv2.imread(filename)
    bilateral_blur = cv2.bilateralFilter(img, 9, 75, 75)
    cv2.imshow('denoised_images', bilateral_blur)
    cv2.waitKey(0)

【讨论】:

我已经使用了上面的代码,但它只显示了第一个图像@Jakob Guldberg Aaes 你确定你的文件格式了吗? 当然,您必须确保使用正确的路径。这在包含 3 个文件的文件夹中对我有用。 是的。我使用了正确的路径。但仍然是同样的问题。这是我的代码import cv2 from glob import glob files = glob(r'C:\Users\usama\Documents\FYP-Data\FYP Project Data\grayscale images\*.png') for filename in glob(r'C:\Users\usama\Documents\FYP-Data\FYP Project Data\grayscale images\*.png'): #print(filename) img=cv2.imread( filename) bilateral_blur=cv2.bilateralFilter(img, 9, 75, 75) cv2.imshow('denoised_images', bilateral_blur) cv2.waitKey(0) ...@Jakob Guldberg Aaes 您必须按任意键才能显示下一个。代码阻塞,直到按键被按下。

以上是关于使用Opencv去噪多个灰度文本图像[重复]的主要内容,如果未能解决你的问题,请参考以下文章

图像处理技术滤波去噪

Python图像处理丨基于OpenCV和像素处理的图像灰度化处理

基于人工神经网络的数字字符识别系统demo:字符去噪分割

OpenCV实现答题卡识别

估计图像 Opencv 的亮度

OpenCV - 从灰度图像切出Mask前景区域