vs python opencv学习笔记(1)

报错总结:

#显示一张图片

import numpy as np
import cv2

img = cv2.imread('D:\2.jpg',1)  #(图片路径,如何读取) 0,2黑白;1,3彩色
cv2.imshow('image',img)   #(窗口名字命名,图像名)
cv2.waitKey(0)  #一直等待键盘输入,有按键按下后程序继续进行
cv2.destroyAllWindows()

error:182 大概率是路径出错

解决方法:

1、将图片放在程序工程文件夹下 例如img = cv2.imread('2.jpg',1)

2、将图片的绝对路径正常输入 例如img = cv2.imread('D:\2.jpg',1)

根据解决方法2,为何还是报错?

原因:路径需要用正确路径img = cv2.imread('D:/2.jpg',1) 顺利显示图片

#利用摄像头逐帧显示

import cv2
import numpy

cap = cv2.VideoCapture(0)  #通常0代表笔记本自带摄像头,外界摄像头为1
while(1):
    ret, frame = cap.read()   #逐帧捕获摄像头图片
    cv2.imshow("capture", frame)  #显示捕获的图片
    if cv2.waitKey(1) & 0xFF == ord('q'):  #按下q退出
        break

仍然报错,通过断点调试,其实是cap = cv2.VideoCapture(0)就出现问题

网上找了好多资料,找了好几天终于找到如下解决方法:

报错原因:摄像头ID不匹配,不是0或1

解决方法:

#寻找摄像头ID
import cv2
ID = 0
while(1):
    cap = cv2.VideoCapture(ID)
    # get a frame
    ret, frame = cap.read()
    if ret == False:
        ID += 1
    else:
        print(ID)
        break

结果为700!! 

测试摄像头

import cv2

cap = cv2.VideoCapture(700)
while(1):
    ret, frame = cap.read()
    cv2.imshow("capture", frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

结果无论是外界摄像头还是电脑自带摄像头,ID都为700。终于显示成功 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值