gpt4 book ai didi

python - OpenCV使用单色相机将帧扔到输出时得到3张图片而不是1张

转载 作者:行者123 更新时间:2023-12-02 17:36:55 24 4
gpt4 key购买 nike

我使用单色相机 oCam-1MGN-U 从视频中获取帧。当我想将帧扔到输出时,我得到了 3 张图片而不是 1 张。我知道这台相机使用 1 个 channel 。我该如何解决这个问题?

if __name__ == '__main__':
cap = cv2.VideoCapture(1) # Streamming from camera monochromatic
while(cap.isOpened()):
succes, frame = cap.read()
if(succes):
cv2.imshow('Orginal',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break

cap.release()
cv2.destroyAllWindows()
print('End')

我在 linux 上工作,我得到了三张与此非常相似的图片:

https://github.com/TheImagingSource/tiscamera/issues/20

我所拥有的框架具有形状:480、640、3

我尝试了什么:
  • 我在 OpenCV 3.2 和 3.4 上测试过
  • 获取此帧并将其拆分 b, g ,r = cv2.split(frame)并抛出
    只有一个 channel 输出,但我仍然得到 3 张图片
  • 更改视频流的分辨率
  • 最佳答案

    听起来这是自 2014 年以来已知的一个问题:
    https://github.com/TheImagingSource/tiscamera/issues/20

    The OpenCV capture class is in a very sad state (not only concerning v4l2). The reason your image looks that way is that it interprets the incoming Y800 as rgb while trying to maintain the correct resolution. This can only be fixed by either patching OpenCV or by using other means to grab images.



    单色的建议是使用:
    cv2.imdecode(frame, CV_LOAD_IMAGE_GRAYSCALE)

    你能试着让我们知道它是否有效吗?

    关于python - OpenCV使用单色相机将帧扔到输出时得到3张图片而不是1张,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50213162/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com