- RGB 색 공간에서 녹색 영역 추출하기
- HSV 색 공간에서 녹색 영역 추출하기
- RGB 색 공간에서 녹색 영역 추출하기
import cv2
import sys
import numpy as np
src = cv2.imread('candies2.png')
#src = cv2.imread('candies2.png')
if src is None:
print('Image load failed!')
sys.exit()
src_hsv=cv2.cvtColor(src,cv2.COLOR_BGR2HSV)
dst1=cv2.inRange(src,(0,128,0),(100,255,100))
dst2=cv2.inRange(src_hsv,(50,150,0),(80,255,255)) # 50<=h<=80, 150<=s<=255, 0<=v=<255
cv2.imshow('src',src)
cv2.imshow('dst1',dst1)
cv2.imshow('dst2',dst2)
cv2.waitKey()
cv2.destroyAllWindows()
- 특정 범위 안에 있는 행렬 원소 검출
cv2.inRange(src,lowerb,upperb,dst=None) -> dst
• src 입력 행렬
• lowerb : 하한 값 행렬 또는 스칼라
• upperb 상한 값 행렬 또는 스칼라
• dst : 입력 영상과 같은 크기의 마스크 영상 . (numpy.uint8) 범위 안에 들어가는 픽셀은 255, 나머지는 0 으로 설정
- 트랙바를 이용한 특정 색상 영역 추출
import sys
import numpy as np
import cv2
src = cv2.imread('candies.png')
if src is None:
print('Image load failed!')
sys.exit()
src_hsv = cv2.cvtColor(src, cv2.COLOR_BGR2HSV)
def on_trackbar(pos):
hmin = cv2.getTrackbarPos('H_min', 'dst')
hmax = cv2.getTrackbarPos('H_max', 'dst')
dst = cv2.inRange(src_hsv, (hmin, 150, 0), (hmax, 255, 255))
cv2.imshow('dst', dst)
cv2.imshow('src', src)
cv2.namedWindow('dst')
cv2.createTrackbar('H_min', 'dst', 50, 179, on_trackbar)
cv2.createTrackbar('H_max', 'dst', 80, 179, on_trackbar)
on_trackbar(0)
cv2.waitKey()
cv2.destroyAllWindows()
'Computer Vision > opencv(python)' 카테고리의 다른 글
[20] 크로마키 합성 (0) | 2021.03.18 |
---|---|
[19] 8)히스토그램 역투영 (0) | 2021.03.18 |
[17] 6) 히스토그램 평활화 (0) | 2021.03.18 |
[16] 5) 영상의 명암비 조절 (0) | 2021.03.18 |
[15] 4) 히스토그램 분석 (0) | 2021.03.18 |