임계 값 처리 (어댑티브 임계 값)

6735 단어 파이썬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.gray()

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

henkango = 255 #閾値を超えたものの数値をどう変換するか
blocksize = 11 #閾値算出の為の近傍領域サイズ(3以降の奇数)
c = 16 #減算値


#アダプティブスレッショナルド処理:MEAN
plt.subplot(2,2,3)
plt.title("MEAN", fontsize=10)
dst = cv2.adaptiveThreshold(gray, henkango, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, blocksize, c)
plt.axis('off') 
plt.imshow(dst)

#アダプティブスレッショナルド処理:GAUSSIAN_C
plt.subplot(2,2,4)
plt.title("GAUSSIAN", fontsize=10)
dst = cv2.adaptiveThreshold(gray, henkango, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, blocksize, c)
plt.axis('off') 
plt.imshow(dst)

좋은 웹페이지 즐겨찾기