배경(background) vs 객체(object)
관심영역 vs 비관심 영역
T 값보다 작으면 0 크면 255로 만드는 연산
#OpenCV 임계값 함수
/*
src : 입력 영상. 다채널, 8비트 또는 32비트 실수형.
thresh : 사용자 지정 입계값
maxval : cv2.THRESH_BINARY 또는 cv2.THRESH_BINARY_INV 방법 사용 시 최댓값.
type : cv2.THRESH_ 로 시작하는 플래그.
retval : 사용된 임계값
dst : 출력 영상. src와 동일 크기, 동일 타입, 같은 채널 수.
*/
cv2.threshold(src, thresh, maxval, type, dst=None) -> retval, dst
예제 1) 임계값을 설정하는 파이썬 코드
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()
threshold = 100
_, dst1 = cv2.threshold(src, threshold , 255, cv2.THRESH_BINARY)
threshold = 210
_, dst2 = cv2.threshold(src, threshold , 255, cv2.THRESH_BINARY)
cv2.imshow('src', src)
cv2.imshow('dst1', dst1)
cv2.imshow('dst2', dst2)
cv2.waitKey()
cv2.destroyAllWindows()
예제 2) 트래바를 이용하여 임계값을 실시간으로 처리하는 코드
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', 128)
cv2.waitKey()
cv2.destroyAllWindows()
OpenCV의 다양한 필터 (0) | 2021.05.25 |
---|---|
영상의 필터링 (0) | 2021.05.25 |
히스토그램 역투영(Histogram backprojection) (0) | 2021.05.25 |
특정 색상 영역 추출 하기 (0) | 2021.05.25 |
히스토그램 평활화(Histogram equalization) (0) | 2021.05.25 |
댓글 영역