首页 > 解决方案 > 使用 Opencv 对多个灰度文本图像进行去噪

问题描述

我正在尝试对文件夹中的多个灰度文本图像进行降噪。我已经将所有图像转换为灰度。我想要的只是在不更改文本的情况下从所有图像中去除噪点或模糊。为此,我使用 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)

标签: opencvimage-processing

解决方案


您应该缩小您加载的文件的范围。我更喜欢使用 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)

推荐阅读