Python線形フィルタ一式

これを貼って実行すると、線形フィルタ一式が、作成表示されます。

とりあえず確認するときにご活用ください。

(*いつものごとく、テスト画像は c:/temp/ts.jpg においてください。)

import cv2
import numpy as np

img = cv2.imread('c:/temp/ts.jpg')
cv2.imshow('base',img)

#NegaPosi反転
bitnot=cv2.bitwise_not(img)
cv2.imwrite('c:/temp/bitwise_not.jpg',bitnot)
cv2.imshow('bitwise_not',bitnot)

#平滑化
blu=cv2.blur(img,(5,5))
cv2.imwrite('c:/temp/blur.bmp',blu)
cv2.imshow('blur(heikatsuka)',blu)

#ガウシアン
gau=cv2.GaussianBlur(img,(3,1),3,3)
cv2.imwrite('c:/temp/gausian.bmp',gau)
cv2.imshow('gausian',gau)

#中央値平滑化
mbr=cv2.medianBlur(img,11)
cv2.imwrite('c:/temp/medianblur.bmp',mbr)
cv2.imshow('medianBlur',mbr)

#Sobel
sob=cv2.Sobel(img,-1,0,1)
cv2.imwrite('c:/temp/sobel.bmp',sob)
cv2.imshow('Sobel_filter',sob)

#laplacian
lap=cv2.Laplacian(img,-1)
cv2.imwrite('c:/temp/laplacian.bmp',lap)
cv2.imshow('laplacian',lap)

#LoG
log=cv2.Laplacian(gau,-1)
cv2.imwrite('c:/temp/log.bmp',log)
cv2.imshow('LoG',log)

#Cannyのエッジ検出
cann=cv2.Canny(img,40.0,200.0)
cv2.imwrite('c:/temp/Canny.bmp',cann)
cv2.imshow('Canny',cann)

#bilateralFilter
bil = cv2.bilateralFilter(img, 15, 20, 20)
cv2.imwrite('c:/temp/bil.bmp',bil)
cv2.imshow('bilateral',bil)

#ノンローカルミーンフィルタ
nlm = cv2.fastNlMeansDenoisingColored(img,None,10,10,7,21)
cv2.imwrite('c:/temp/Nonlocal_mean.bmp',nlm)
cv2.imshow('NonlocalMean',nlm)

#dirate
kernel=np.ones((3,3),np.uint8)
dila=cv2.dilate(img,kernel)
cv2.imwrite('c:/temp/dilate.bmp',dila)
cv2.imshow('dilate',dila)

#erode
ero=cv2.erode(img,kernel)
cv2.imwrite('c:/temp/erode.bmp',ero)
cv2.imshow('erode',ero)

#Mosic
SCALE=0.05
height=img.shape[0]
width=img.shape[1]
mos=cv2.resize(img,(round(width*SCALE),round(height*SCALE)),interpolation=cv2.INTER_NEAREST)
mos2=cv2.resize(mos,(width,height),interpolation=cv2.INTER_NEAREST)
cv2.imwrite('c:/temp/mosic.bmp',mos2)
cv2.imshow('mosic',mos2)

cv2.waitKey(0)
cv2.destroyAllWindows()

ディジタル画像処理 [改訂第二版]【電子書籍】[ ディジタル画像処理編集委員会 ]

価格:3,861円
(2023/6/8 00:38時点)
感想(0件)

Pythonで始めるOpenCV 4プログラミング [ 北山直洋 ]

価格:3,630円
(2023/6/8 00:38時点)
感想(0件)

コメント

タイトルとURLをコピーしました