python 초 간단 한 영상 대상 추출 기능 구현
동 영상 대상 추출 이 라 기보 다 는 동 영상 색상 추출 이 라 기보 다 는 본질 적 으로 OpenCV 의 HSV 색상 물체 검 사 를 사 용 했 기 때문이다.다음은 더 이상 할 말 이 없 으 니 상세 한 소 개 를 해 봅 시다.
HSV 소개
HSV 는 색조(H:hue),포화 도(S:saturation),밝기(V:value)를 대표 하 며 A.R.Smith 가 1978 년 에 만 든 색 공간 으로 육각 추 체 모형(Hexcone Model)이 라 고도 부른다.
색조(H:hue):각도 로 측정 하고 수치 범 위 는 0°~360°이 며 빨간색 부터 시계 반대 방향 으로 계산 합 니 다.빨간색 은 0°이 고 녹색 은 120°이 며 파란색 은 240°입 니 다.그들의 보색 은 노란색 은 60°이 고 파란색 은 180°이 며 빨간색 은 300°이다.(OpenCV 에서 H 의 수치 범 위 는 0~180 이 고 8bit 저장 시)이다.
포화 도(S:saturation):수치 범 위 는 0~255 이 고 수치 가 클 수록 색 이 포화 된다.
밝기(V:value):수치 범 위 는 0(검은색)~255(흰색)입 니 다.
효과 전시
사고의 방향 을 실현 하 다.
위의 효과 그림 에서 보 듯 이 우리 가 해 야 할 일 은 영상 속 의 녹색 돼지 페 이 치 를 식별 하면 된다.다음은 식별 절차 이다.
전체 코드
#coding=utf-8
#HSV ( )
import cv2
import numpy as np
cap = cv2.VideoCapture(0)
while (1):
_, frame = cap.read()
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
# PS HSV
psHSV = [112, 89, 52]
diff = 40 #
# PS HSV(HSB) :0~360、0~1、0~1, OpenCV HSV :0~180、0~255、0~255, ps hsv ,H/2、SV*255
lowerHSV = [(psHSV[0] - diff) / 2, (psHSV[1] - diff) * 255 / 100,
(psHSV[2] - diff) * 255 / 100]
upperHSV = [(psHSV[0] + diff) / 2, (psHSV[1] + diff) * 255 / 100,
(psHSV[2] + diff) * 255 / 100]
mask = cv2.inRange(hsv, np.array(lowerHSV), np.array(upperHSV))
# “ ”
res = cv2.bitwise_and(frame, frame, mask=mask)
#
res = cv2.GaussianBlur(res, (5, 5), 1)
cv2.imshow('frame', frame)
# cv2.imshow('mask', mask)
cv2.imshow('res', res)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cv2.destroyAllWindows()
총결산이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.