Python實現(xiàn)中值濾波去噪方式-創(chuàng)新互聯(lián)

中值濾波器去噪:

目前成都創(chuàng)新互聯(lián)公司已為成百上千家的企業(yè)提供了網(wǎng)站建設、域名、網(wǎng)站空間、綿陽服務器托管、企業(yè)網(wǎng)站設計、鄭州網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

中值濾波的主要原理是將數(shù)字圖像中的某點用該點的鄰域中各個像素值的中值所來代替,這樣就能讓目標像素周圍能夠更好的接近真實值,比如一張白紙上有一個黑點時,黑點的像素值比較大,經(jīng)過中值濾波過后,黑點附近的像素值可能就會變小。經(jīng)過中值濾波后一些相對孤立的噪聲點就容易被清除掉,這樣就能提高圖像的質(zhì)量。

所以中值濾波器去噪的一個優(yōu)點就是對椒鹽噪聲的去除具有很好的效果,具體操作是選取一個中心鄰域,然后給鄰域類各個像素的灰度值按大小進行排序,選取排序序列中的中值作為該鄰域中心點的像素值的灰度值。

它的缺點是當鄰域挑選過大時,可能會造成圖像特征丟失。

實現(xiàn)代碼如下:

import numpy as np
import cv2
from PIL import Image
import scipy.signal as signal
import matplotlib.pyplot as plt
#創(chuàng)建一個500*500的矩陣
input_images = np.zeros((500, 500))
filename = "E:/pycharm/GraduationDesign/Test/testtwo.png"
#convert將當前圖像轉換為灰度模式,并且返回新的圖像。
#將圖片在重新定義的矩陣中再顯示,不然可能會只顯示部分。
img = Image.open(filename).resize((500, 500)).convert('L')
plt.subplot(221)
plt.title('原圖', fontproperties=font_set)
plt.imshow(img)
#圖像的尺寸,按照像素數(shù)計算。它的返回值為寬度和高度的二元組(width, height)。
width = img.size[0]
height = img.size[1]
threshold=130
#可以改寫代碼使其成為二值化,此代碼可理解為反向二值化
for h in range(height):
 for w in range(width):
  #getpixel直接獲得(h,w)處的像素直接返回這個點三個通道的像素值
  #返回給定位置的像素值。如果圖像為多通道,則返回一個元組(r,g,b,閾值)。
  #如果改成(w,h)出現(xiàn)的圖像會倒轉
  if img.getpixel((w, h)) < threshold:
 
   input_images[h, w] = 1
  else:
   input_images[h, w] = 0
plt.subplot(222)
plt.title('二值化', fontproperties=font_set)
plt.imshow(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[h, w] = 0
  else:
   input_images[h, w] = 1
 
plt.subplot(223)
plt.title('中值濾波去噪(3*3)', fontproperties=font_set)
plt.imshow(input_images)
 
data = signal.medfilt2d(np.array(img), kernel_size=7) # 二維中值濾波
for h in range(0, height):
 for w in range(0, width):
  if data[h][w] < 128:
   input_images[h, w] = 0
  else:
   input_images[h, w] = 1
plt.subplot(224)
plt.title('中值濾波去噪(7*7)', fontproperties=font_set)
plt.imshow(input_images)
plt.show()

本文名稱:Python實現(xiàn)中值濾波去噪方式-創(chuàng)新互聯(lián)
文章起源:http://muchs.cn/article28/ddsecp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供自適應網(wǎng)站、微信公眾號企業(yè)建站、網(wǎng)站制作營銷型網(wǎng)站建設網(wǎng)站導航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營