日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

05-图像的平滑处理(不同的滤波操作)

發(fā)布時間:2023/12/1 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 05-图像的平滑处理(不同的滤波操作) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
對圖像進(jìn)行平滑處理實(shí)則就是對圖像進(jìn)行濾波操作罷了

每張圖片都有若干個像素點(diǎn)所構(gòu)成,濾波操作上就是將照片上的某些部分像素點(diǎn)進(jìn)行修改從而達(dá)到平滑的效果

先展示一下原圖

import cv2 img = cv2.imread('E:\Jupyter_workspace\study\data/test1.png')cv2.imshow('test1',img)#以test1為命名的窗口進(jìn)行顯示 cv2.waitKey(0) cv2.destroyAllWindows()

均值濾波

簡單的平均卷積操作
先確定卷積核的大小,然后把圖像按照卷積核(也就是一個二維矩陣,一般取奇數(shù))的大小進(jìn)行分組,每一個卷積核作為一組,再將每組的數(shù)值進(jìn)行相加求平均值,然后把該平均值代替這一組的所有數(shù)值
cv2.blur(img,(3,3))
第一個參數(shù):輸入的圖像對象數(shù)據(jù)
第二個參數(shù):核的大小 一般的為奇數(shù)的二維數(shù)組,然后把這個二維數(shù)組進(jìn)行求均值分別替代這個二維數(shù)組里面的值,每一個二維數(shù)組進(jìn)行一次求均值,把整個圖像按照[3,3]的二維數(shù)組進(jìn)行劃分

import cv2blur = cv2.blur(img,(3,3))cv2.imshow('JZLB',blur) cv2.waitKey(0) cv2.destroyAllWindows()

方框濾波

基本和均值濾波一樣,可以選擇歸一化
cv2.boxFilter(img,-1,(3,3),normalize=True)
cv2.boxFilter(img,-1,(3,3),normalize=False)
第一個參數(shù):輸入的圖像對象數(shù)據(jù)
第二個參數(shù):-1表示得到的顏色通道數(shù)和原圖是一致的,通常情況也都是-1
第三個參數(shù):卷積核[3,3]的矩陣
第四個參數(shù):是否要做歸一化
True 當(dāng)卷積求和越界時,處理個均值濾波效果完全一致
False 當(dāng)卷積求和越界時,只要大于255時所有的值均取255

import cv2box = cv2.boxFilter(img,-1,(3,3),normalize=True)cv2.imshow('FKLB_True',box) cv2.waitKey(0) cv2.destroyAllWindows()

import cv2box = cv2.boxFilter(img,-1,(3,3),normalize=False)cv2.imshow('FKLB_False',box) cv2.waitKey(0) cv2.destroyAllWindows()

高斯濾波

高斯濾波實(shí)則就是正態(tài)分布那個圖像,也就是按權(quán)值進(jìn)行劃分
同樣需要給出一個卷積核的大小,然后取平均值,之后在每個卷積核內(nèi),離平均值越近的數(shù)值權(quán)值越大,當(dāng)然離平均值越遠(yuǎn)的數(shù)值權(quán)值越小
cv2.GaussianBlur(img,(5,5),1)

import cv2aussian = cv2.GaussianBlur(img,(5,5),1)cv2.imshow('GSLB',aussian) cv2.waitKey(0) cv2.destroyAllWindows()

中值濾波

在一個卷積核中,選取中位數(shù)當(dāng)成最后處理的結(jié)果
cv2.medianBlur(img,5)

import cv2median = cv2.medianBlur(img,5)cv2.imshow('ZZLB',median) cv2.waitKey(0) cv2.destroyAllWindows()

將所有的濾波方式展示在一塊

import cv2 import numpy as np#res = np.vstack((blur,aussian,median))#上下展示 res = np.hstack((blur,aussian,median))#左右展示#print(res)cv2.imshow('JZ-GS-ZZ',res) cv2.waitKey(0) cv2.destroyAllWindows()

總結(jié)

以上是生活随笔為你收集整理的05-图像的平滑处理(不同的滤波操作)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。