에지 검출 (라플라시안, 소벨, 캐니)

6923 단어 파이썬OpenCV

실행 환경



Google 공동체

Google Colaboratory에서 이미지를 로드할 준비


from google.colab import files
from google.colab import drive
drive.mount('/content/drive')

필요한 라이브러리 로드


import cv2 #opencv
import matplotlib.pyplot as plt 
%matplotlib inline

이미지 준비


img = plt.imread("/content/drive/My Drive/Colab Notebooks/img/Lenna.bmp")
gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)

코드


#オリジナル画像
plt.subplot(2,3,1)
plt.axis('off') 
plt.title("Original", fontsize=10)
plt.imshow(gray)

#ラプラシアン
plt.subplot(2,3,4)
plt.axis('off') 
plt.title("Laplacian", fontsize=10)
dst = cv2.Laplacian(gray,ddepth = -1)
plt.imshow(dst)

#Sobel
plt.subplot(2,3,5)
plt.axis('off') 
plt.title("Sobel", fontsize=10)
dst = cv2.Sobel(gray,ddepth = -1,dx = 0,dy = 1) #dx,dyで微分字数を決める。
plt.imshow(dst)

#Sobel
plt.subplot(2,3,6)
plt.axis('off') 
plt.title("Canny", fontsize=10)
dst = cv2.Canny(gray,threshold1 = 64,threshold2 = 128)
#threshold1と2は、小さいほうがエッジ同士の接合に用いられる。
#大きいほうが強いエッジの初期検出に使われる。

plt.imshow(dst)
plt.show()

결과



좋은 웹페이지 즐겨찾기