2014-02-23 3 views
-3
import cv2 
import numpy as np 

cap = cv2.VideoCapture(0) 

while(1): 

    # Take each frame 
    _, frame = cap.read() 

    # Convert BGR to HSV 
    hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) 

    # define range of blue color in HSV 
    lower_blue = np.array([110,50,50]) 
    upper_blue = np.array([130,255,255]) 

    # Threshold the HSV image to get only blue colors 
    mask = cv2.inRange(hsv, lower_green, upper_green) 

    # Bitwise-AND mask and original image 
    res = cv2.bitwise_and(frame,frame, mask= mask) 

    cv2.imshow('frame',frame) 
    cv2.imshow('mask',mask) 
    cv2.imshow('res',res) 
    k = cv2.waitKey(5) & 0xFF 
    if k == 27: 
     break 

cv2.destroyAllWindows() 

참고 : 나는 이력서를 여는 것이므로 신사 숙녀 여러분 !!! 이 프로그램나를 위해이 opencv 프로그램을 설명하십시오.

1) 프레임을 읽는 동안 심볼 이유가있어서

'_은,'이전 프레임

는 구문이다 ??

2) 청색의 하한 및 상한이 지정됩니다. 은 RGB 값 또는 BGR 값 또는 HSV 값입니까 ??

빨강, 초록 같은 다른 색상의 하한 및 상한을 어떻게 찾을 수 있습니까?

다른 색상의 값을 찾는 과정을 설명해주세요. 다른 색상을 시도했지만 hsv 및 res에 대한 검정색 화면 출력을 제공했습니다.

3)이 프로그램을 변경하면 붉은 색이나 다른 색을 감지하여 차이를 알 수 있습니까?

+1

광고 1 : '_'은 (는) 다른 변수와 마찬가지로 변수입니다. 또한 '딸기'또는 '알로하'라고 부를 수도 있습니다. 그 내용에 관심이 없다면 보통 변수'_'를 호출합니다. – Hyperboreus

+0

처음에'_'이있는 이유는'cap.read()'가 2 개의 값을 반환한다는 것입니다. 우리가 원하지 않기 때문에 첫 번째 것을'_'에 넣는 것입니다. [doc] (http://docs.opencv.org/modules/highgui/doc/reading_and_writing_images_and_video.html#videocapture-read)에 따르면 이는 Python 버전의 API에서만 반환되기 때문에 다소 이상하게 사용됩니다. , 그리고 내 경험에서 완전히 쓸모없는 ...) – mirosval

답변

1
  1. 이것은 튜플 압축 풀기입니다. cap.read()은 두 값을 반환하며 첫 번째 값은 _ ("this는 사용하지 않을 것"에 대한 규칙)과 두 번째 값을 frame에 할당합니다.
  2. 의견 은 문자 그대로 "in hsv"라고 말합니다.
  3. 자신 만의 경계를 지정하거나 이미 경계를 변경하고 차이점을 직접 확인해야합니다. 사용중인 색상을 확인하려면 HSV converter을 사용하십시오. 범위 내의 색상이 처리중인 이미지에 없으면 검은 색이됩니다.
관련 문제