python摄像头采集视频图像时出现cvtcolor错误_cv2.cvtColor错误。它是错误吗?

在尝试使用OpenCV从摄像头读取视频并进行颜色转换时,遇到cv2.cvtColor错误,提示scn == 3 || scn == 4条件未满足。错误发生在读取和转换连续帧的过程中。尽管有人建议可能是颜色格式问题,但问题可能出在摄像头未能正确传输帧。一位用户指出,忽视cam.read()返回的错误状态可能导致此问题,建议检查是否成功读取帧。
摘要由CSDN通过智能技术生成

import cv2

def diffImg(t0, t1, t2):

d1 = cv2.absdiff(t2, t1)

d2 = cv2.absdiff(t1, t0)

return cv2.bitwise_and(d1, d2)

cam = cv2.VideoCapture(0)

winName = "Movement Indicator"

cv2.namedWindow(winName, cv2.CV_WINDOW_AUTOSIZE)

# Read three images first:

t_minus = cv2.cvtColor(cam.read()[1], cv2.COLOR_RGB2GRAY)

t = cv2.cvtColor(cam.read()[1], cv2.COLOR_RGB2GRAY)

t_plus = cv2.cvtColor(cam.read()[1], cv2.COLOR_RGB2GRAY)

while True:

cv2.imshow(winName, diffImg(t_minus, t, t_plus))

#diff = diffImg(t_minus, t, t_plus)

# Read next image

t_minus = t

t = t_plus

t_plus = cv2.cvtColor(cam.read()[1], cv2.COLOR_RGB2GRAY)

#cv2.imshow(winName, diff)

key = cv2.waitKey(10)

if key == 27:

cv2.destroyWindow(winName)</

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值