#鮮鋭化フィルタプログラム import cv2 import numpy as np def SF(img,k): #画像の複製 img2=img.copy() #平滑化(ガウシアンフィルタ) img2=cv2.GaussianBlur(img,(5,5),0) #エッジ検出(ハイパスガウシアンフィルタ) for h in range(0,height): for w in range(0,width): p0=img.item(h,w) p1=img2.item(h,w) img2.itemset((h,w),p0-p1+128) #鮮鋭化処理 for h in range(0,height): for w in range(0,width): p2=img.item(h,w) p3=img2.item(h,w) P = p2+k*(int(p3)-128) if P>255: P=255 if P<0: P=0 img.itemset((h,w),P) if __name__=="__main__": #画像入力 img=cv2.imread('image/input.bmp',cv2.IMREAD_GRAYSCALE) #画像の幅と高さ取得 height=img.shape[0] width =img.shape[1] #鮮鋭化 SF(img,1.5) #画像出力 cv2.imwrite('image/output.bmp',img)