【问题标题】:Please explain this opencv program for me请为我解释一下这个opencv程序
【发布时间】:2014-03-24 20:16:06
【问题描述】:
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()

注意:我是新来打开简历的,所以请大家帮忙!!!

在这个节目中

  1. 读取一帧时,为什么帧前有符号'_,'

是语法吗??

  1. 指定了蓝色的下限和上限。 是RGB值还是BGR值还是HSV值??

如何找到红色、绿色等其他颜色的下限和上限?

请解释寻找其他颜色值的过程,我尝试了其他颜色,但它给了我 hsv 和 res 的黑屏输出!!!

  1. 有人可以更改此程序以检测红色或其他颜色,以便我知道其中的区别吗?

【问题讨论】:

  • ad 1: _ 和其他变量一样。您也可以将其命名为 strawberryaloha。如果你对它的内容不感兴趣,你通常调用一个变量_
  • 我想补充一下,_ 之所以存在,是因为cap.read() 返回两个值,所以我们只将第一个值放入_,因为我们没有'不想使用它(它有点奇怪,因为根据doc 它只在 API 的 Python 版本中返回,根据我的经验它完全没用......)

标签: python opencv numpy colors rgb


【解决方案1】:
  1. 这是元组解包; cap.read() 返回两个值,我们将第一个分配给_(约定“我们不会使用它”),第二个分配给frame
  2. 评论字面意思是“in hsv”。
  3. 您只需要指定您自己的界限,或更改已经存在的界限,然后自己查看差异。使用HSV converter 查看您使用的颜色。如果您范围内的颜色不在您处理的图像中,它将是黑色的。

【讨论】:

    猜你喜欢
    • 2017-05-15
    • 1970-01-01
    • 2013-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-19
    • 2014-04-04
    • 1970-01-01
    相关资源
    最近更新 更多