时间:2021-05-22
受光照、气候、成像设备等因素的影响,灰度化后的图像存在噪声和模糊干扰,直接影响到下一步的文字识别,因此,需要对图像进行增强处理。图片预处理中重要一环就是椒盐去澡,通常用到中值滤波器进行处理,效果很好。中值滤波器是一种非线性滤波器,其基本原理是把数字图像中某点的值用其领域各点值的中值代替。
如求点[i,j]的灰度值计算方法为:
(1)按灰度值顺序排列[i,j]领域中的像素点;
(2)取排序像素集的中间值作为[i,j]的灰度值。中值滤波技术能有效抑制噪声。
直接上代码,希望给大家有帮助:
import numpy as npimport cv2import tensorflow as tffrom PIL import Imageimport osimport scipy.signal as signalinput_images = np.zeros((300, 300))filename = "D:\字母图库\F\P80627-112853.jpg"print(filename)img = Image.open(filename).resize((300, 300)).convert('L')width = img.size[0]height = img.size[1]for h in range(0, height): for w in range(0, width): if img.getpixel((h, w)) < 128: input_images[w, h] = 0 else: input_images[w, h] = 1cv2.imshow("test1111", input_images)data = signal.medfilt2d(np.array(img), kernel_size=3) # 二维中值滤波for h in range(0, height): for w in range(0, width): if data[h][w] < 128: input_images[w, h] = 0 else: input_images[w, h] = 1cv2.imshow("test2222", input_images)data = signal.medfilt2d(np.array(img), kernel_size=5) # 二维中值滤波for h in range(0, height): for w in range(0, width): if data[h][w] < 128: input_images[w, h] = 0 else: input_images[w, h] = 1cv2.imshow("test3333", input_images)cv2.waitKey(0)以上这篇python 中值滤波,椒盐去噪,图片增强实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
步骤如下:1.图片灰化;2.中值滤波去噪3.求图片的光影(自动光学检测)4.除法去光影5.阈值操作6.实现了三种目标检测方法主要分两种连通区域和findCont
中值滤波器去噪:中值滤波的主要原理是将数字图像中的某点用该点的邻域中各个像素值的中值所来代替,这样就能让目标像素周围能够更好的接近真实值,比如一张白纸上有一个黑
实现对图像进行简单的高斯去噪和椒盐去噪。代码如下:importnumpyasnpfromPILimportImageimportmatplotlib.pyplo
主要讲解Python调用OpenCV实现图像平滑,包括四个算法:均值滤波、方框滤波、高斯滤波和中值滤波.给图像增加噪声:importcv2importnumpy
图像可能在生成、传输或者采集过程中夹带了噪声,去噪声是图像处理中常用的手法。通常去噪声用滤波的方法,比如中值滤波、均值滤波。但是那样的算法不适合用在处理字符这样