임계 값 처리 (스레셔널드)

8108 단어 파이썬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.figure(figsize=(9, 6), dpi=100,
           facecolor='w', linewidth=0, edgecolor='w')

#オリジナル画像
plt.subplot(2,5,1)
plt.imshow(gray)

#スレッショナルド処理:cv2.THRESH_BINARY #閾値を超えたものを1、他を0にする
plt.subplot(2,5,6)
ret,dst = cv2.threshold(gray,100,200,cv2.THRESH_BINARY)
plt.imshow(dst)

#スレッショナルド処理:cv2.THRESH_BINARY_INV #閾値を超えたものを0、他を1にする
plt.subplot(2,5,7)
ret,dst = cv2.threshold(gray,100,200,cv2.THRESH_BINARY_INV)
plt.imshow(dst)

#スレッショナルド処理:cv2.THRESH_TRUNC #閾値100を超えたものをmax値:200にする
plt.subplot(2,5,8)
ret,dst = cv2.threshold(gray,100,200,cv2.cv2.THRESH_TRUNC)
plt.imshow(dst)

#スレッショナルド処理:cv2.THRESH_TOZERO 閾値以下の輝度を0に変換
plt.subplot(2,5,9)
ret,dst = cv2.threshold(gray,100,200,cv2.THRESH_TOZERO)
plt.imshow(dst)

#スレッショナルド処理:cv2.THRESH_TOZERO_INV 閾値以上の輝度を0に変換
plt.subplot(2,5,10)
ret,dst = cv2.threshold(gray,100,200,cv2.THRESH_TOZERO_INV)
plt.imshow(dst)

plt.show()
plt.gray()

스레셔널드 결과



좋은 웹페이지 즐겨찾기