首页 > python教程

python 中值滤波,椒盐去噪,图片增强实例

时间:2021-01-08 python教程 查看: 919

受光照、气候、成像设备等因素的影响,灰度化后的图像存在噪声和模糊干扰,直接影响到下一步的文字识别,因此,需要对图像进行增强处理。图片预处理中重要一环就是椒盐去澡,通常用到中值滤波器进行处理,效果很好。中值滤波器是一种非线性滤波器,其基本原理是把数字图像中某点的值用其领域各点值的中值代替。

如求点[i,j]的灰度值计算方法为:

(1)按灰度值顺序排列[i,j]领域中的像素点;

(2)取排序像素集的中间值作为[i,j]的灰度值。中值滤波技术能有效抑制噪声。

直接上代码,希望给大家有帮助:

import numpy as np
import cv2
import tensorflow as tf
from PIL import Image
import os
import scipy.signal as signal

input_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] = 1
cv2.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] = 1
cv2.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] = 1
cv2.imshow("test3333", input_images)
cv2.waitKey(0)

以上这篇python 中值滤波,椒盐去噪,图片增强实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持python博客。

展开全文
上一篇:python实现名片管理器的示例代码
下一篇:Python实现图像去噪方式(中值去噪和均值去噪)
输入字:
相关知识
Python 实现图片色彩转换案例

我们在看动漫、影视作品中,当人物在回忆过程中,体现出来的画面一般都是黑白或者褐色的。本文将提供将图片色彩转为黑白或者褐色风格的案例详解,感兴趣的小伙伴可以了解一下。

python初学定义函数

这篇文章主要为大家介绍了python的定义函数,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助,希望能够给你带来帮助

图文详解Python如何导入自己编写的py文件

有时候自己写了一个py文件,想要把它导入到另一个py文件里面,所以下面这篇文章主要给大家介绍了关于Python如何导入自己编写的py文件的相关资料,需要的朋友可以参考下

python二分法查找实例代码

二分算法是一种效率比较高的查找算法,其输入的是一个有序的元素列表,如果查找元素包含在列表中,二分查找返回其位置,否则返回NONE,下面这篇文章主要给大家介绍了关于python二分法查找的相关资料,需要的朋友可以参考下