树莓派 opencv运行错误

img = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)  
cv2.error: OpenCV(4.5.0-dev) /home/pi/opencv/modules/imgproc/src/color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cvtColor'

img

请问有不有帮忙解决一下,在树莓派上运行出现的错误

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7464993
  • 这篇博客也不错, 你可以看下【笔记】opencv图像轮廓 获得平均灰度值在原图上画轮廓 观察灰度图的分解
  • 你还可以看下opencv参考手册中的 opencv Blender
  • 除此之外, 这篇博客: 搭建树莓派OpenCV环境及错误总结-系统镜像有手就行中的 配置树莓派初始环境 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  •    如果想用笔记本电脑来扩展树莓派的屏幕,需要进行一些基础性配置。
    
    • 1、首先对内存卡进行操作,安装好系统后的SD卡在电脑上会显示只有200多兆,这是正常的。

    • 2、打开boot文件夹,进入cmdline这个文件夹,用记事本打开,在头部加入一个静态ip地址 例:ip=192.168.137.100

    • 注意:在这个ip地址最后要打一个空格。

    • 3、然后新建一个记事本文档,在勾选显示文件扩展名的前提下,更改文件名为ssh,不加后缀

    • 4、再或者,可以提前配置一下wifi密码。在boot分区创建wpa_supplicant.conf文件。根据需要可以配置多个wifi连接信息,将ssid和password替换为真实值即可。当然,也可以等下进入桌面再配置。

    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    country=CN
    
    network={
        ssid="无线ssid"
        psk="无线密码"
        key_mgmt=WPA-PSK
        priority=1
    }
    
    • 接下去就可以将SD卡插入树莓派,用网线连接笔记本。
    • 电脑进入控制面板对网络链接进行配置,先将除以太网之外的网禁用,只保留以太网的正常使用。对以太网进行设置,鼠标右键,属性,把版本6(IPv6)关闭,只保留协议版本4,选中版本4→属性,在属性菜单中进行设置,“使用以下的IP地址”,输入IP地址:192.168.137.101,只要不和树莓派刚刚设置的ip地址相同即可,点击子网掩码自动补齐,默认网关不需要设置,后面都不需要。
      在这里插入图片描述
      注意:如果出现IPV4内的更改不成功,可以进入cmd进行配置。
    • 检查IP地址
      检查笔记本的静态IP地址。打开cmd命令提示符,输入:ipconfig就可以查看。
      检查树莓派的IP地址。输入ping 192.168.137.100(之前设置的树莓派的静态ip)。如果回车后显示 时间<1ms表示刚刚设置的ip是正确的。此时树莓派和笔记本电脑已经联网,可以互通了。
    • 4、远程控制树莓派
      需要一个下载PuTTY的软件(这是一个独立的exe程序,百度网盘链接里有),打开后输入树莓派设置好的ip地址,22,ssh这些都不用改。点击open会跳出一个警告,说明这个远程控制终端已经正常工作,点击→是,默认用户名:pi 密码:raspberry(注:输入密码是不显示的
    • 5、设置打开图形界面
      切换到管理员用户(根用户root),输入:sudo su→回车会显示root@raspberrypi:
      进入树莓派自带的设置命令,raspi-config→回车
      选中Interfacing options→VNC→yes
      选中advanced options→resolution→1024×768→键盘最左侧的tab键→Finish
    • 6、下载一个VNC Viewer软件,网址:realvnc.com
      输入树莓派设置好的ip地址,链接进入就可以进入树莓派的内部。
      →next箭头设置国家和语言→重置密码(6位以上的密码)→next→restart
    • 7、查看树莓派是否在运行,回到cmd,输入ping 192.168.137.100 -t 就会一直对他进行访问。
  • 您还可以看一下 英特尔老师的英特尔 OpenCV 初级认证课程课程中的 图像像素类型转换与归一化小节, 巩固相关知识点

图片为空就是这个报错
检查一下图片路径,或者摄像头读取到的图片返回值是否正常