[ Python OpenCV ] 파이썬 오픈씨브이 스레시홀드 한계점 - cv2.threshold
1. OpenCV로 이미지 불러오기
import cv2 as cv
# 이미지 경로
image = cv.imread('/home/heo/VSCode/cat.jpeg')
# 이미지 쇼
cv.imshow('image', image)
2. 스레시홀드 사전 작업
- 그레이스케일 이미지 필요
# 이미지 그레이 변환
COLOR_BGR2GRAY = cv.cvtColor(image,
cv.COLOR_BGR2GRAY)
# 이미지 쇼
cv.imshow('COLOR_BGR2GRAY', COLOR_BGR2GRAY)
3. 스레시홀드의 thresh minval, maxval 값 변화
# 쓰레쉬 값 최소 최대 세팅
ret, THRESH_BINARY50 = cv.threshold(
COLOR_BGR2GRAY, 50, 255, cv.THRESH_BINARY)
ret, THRESH_BINARY150 = cv.threshold(
COLOR_BGR2GRAY, 150, 255, cv.THRESH_BINARY)
cv.imshow('THRESH_BINARY50', THRESH_BINARY50)
cv.imshow('THRESH_BINARY150', THRESH_BINARY150)
4. 스레시홀드 종류 확인
ret, THRESH_BINARY_INV = cv.threshold(
COLOR_BGR2GRAY, 100, 255, cv.THRESH_BINARY_INV)
cv.imshow('THRESH_BINARY_INV', THRESH_BINARY_INV)
ret, THRESH_MASK = cv.threshold(
COLOR_BGR2GRAY, 100, 255, cv.THRESH_MASK)
cv.imshow('THRESH_MASK', THRESH_MASK)
ret, THRESH_OTSU = cv.threshold(
COLOR_BGR2GRAY, 100, 255, cv.THRESH_OTSU)
cv.imshow('THRESH_OTSU', THRESH_OTSU)
ret, THRESH_TOZERO = cv.threshold(
COLOR_BGR2GRAY, 100, 255, cv.THRESH_TOZERO)
cv.imshow('THRESH_TOZERO', THRESH_TOZERO)
ret, THRESH_TOZERO_INV = cv.threshold(
COLOR_BGR2GRAY, 100, 255, cv.THRESH_TOZERO_INV)
cv.imshow('THRESH_TOZERO_INV', THRESH_TOZERO_INV)
ret, THRESH_TRIANGLE = cv.threshold(
COLOR_BGR2GRAY, 100, 255, cv.THRESH_TRIANGLE)
cv.imshow('THRESH_TRIANGLE', THRESH_TRIANGLE)
ret, THRESH_TRUNC = cv.threshold(
COLOR_BGR2GRAY, 100, 255, cv.THRESH_TRUNC)
cv.imshow('THRESH_TRUNC', THRESH_TRUNC)
==========
댓글
댓글 쓰기