您的位置:首页 > 编程语言 > Python开发

Python实现椒盐噪声、中值滤波、均值滤波,OpenCV

2017-10-17 08:31 1946 查看
lena图片:



对Lena图片生成椒盐噪声,并用OpenCV实现中值滤波/均值滤波,对比可发现中值滤波适合做椒盐噪声消除。

# -*- coding: utf-8 -*-
"""
Created on Sat Oct 14 21:38:06 2017

@author: 18201
"""

#coding=utf-8
import cv2
import numpy as np

def salt(img, n):
for k in range(n):
i = int(np.random.random() * img.shape[1])
j = int(np.random.random() * img.shape[0])
if img.ndim == 2:
img[j,i] = 255
elif img.ndim == 3:
img[j,i,0]= 255
img[j,i,1]= 255
img[j,i,2]= 255
return img

def pepper(img, n):
for k in range(n):
i = int(np.random.random() * img.shape[1])
j = int(np.random.random() * img.shape[0])
if img.ndim == 2:
img[j, i] == 0
elif img.ndim == 3:
img[j,i,0]= 0
img[j,i,1]= 0
img[j,i,2]= 0
return img

img = cv2.imread("lena_.jpg", 0)
saltRe = salt(img, 500)
result = pepper(saltRe, 500)

median3 = cv2.medianBlur(result, 3)
median5 = cv2.medianBlur(result, 5)

cv2.imshow("SaltPepper", result)
cv2.imshow("Median3", median3)
cv2.imshow("Median5", median5)

cv2.waitKey(0)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python opencv 图片
相关文章推荐