[ Python OpenCV ] 파이썬 오픈씨브이 스레시홀드 한계점 - cv2.threshold

[ 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)



댓글