Computer Vision/opencv(python)

[39] 7.이진 영상 처리 1) 영상의 이진화

jwjwvison 2021. 3. 23. 10:43
  • 영상의 이진화(Binarization)란?
    • 영상의 픽셀 값을 0 또는 255(1) 로 만드는 연산
      • 배경(background) vs 객체(object)
      • 관심 영역 vs 비관심 영역

 

  • 그레이스케일 영상의 이진화

 

  • 임계값 함수
cv2.threshold(src,thresh,maxval,type,dst=None) -> retval,dst

 • src : 입력 영상 . 다채널 , 8 비트 또는 32 비트 실수형
 • thresh: 사용자 지정 임계값
 • maxval : cv2.THRESH_BINARY 또는 cv2.THRESH_BINARY_INV 방법 사용 시 최댓값. 보통 255 로 지정
 • type: cv2.THRESH_ 로 시작하는 플래그. 임계값 함수 동작 지정 또는 자동 임계값 결정 방법 지정
 • retval: 사용된 임계값
 • dst : 출력 영상 . src 와 동일 크기 , 동일 타입 , 같은 채널 수

 

 

  • 트랙바를 이용한 영상의 이진화 예제
import sys
import numpy as np
import cv2


src = cv2.imread('cells.png', cv2.IMREAD_GRAYSCALE)

if src is None:
    print('Image load failed!')
    sys.exit()

def on_threshold(pos):
    _,dst=cv2.threshold(src,pos,255,cv2.THRESH_BINARY)
    cv2.imshow('dst',dst)


cv2.imshow('src',src)
cv2.namedWindow('dst')
cv2.createTrackbar('Threshold','dst',0,255,on_threshold)
cv2.setTrackbarPos('Threshold','dst',4)
cv2.waitKey()
cv2.destroyAllWindows()

'Computer Vision > opencv(python)' 카테고리의 다른 글

[41] 3) 지역 이진화  (0) 2021.03.23
[40] 2) 자동 이진화: otsu 방법  (0) 2021.03.23
[38] 5) 허프 변환: 원 검출  (0) 2021.03.22
[37] 4) 허프 변환: 직선 검출  (0) 2021.03.22
[36] 3) 캐니 에지 검출  (0) 2021.03.22