树莓派——opencv打开树莓派摄像头调试记录

这篇具有很好参考价值的文章主要介绍了树莓派——opencv打开树莓派摄像头调试记录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、安装包:(注意换要源,不要用系统默认源)

问题1:磁盘空间不足——把根目录扩展到整个SD卡

解决:把根目录扩展到整个SD卡

二、下载

1、先创建opencv目录:

2、下载

问题:fatal: unable to access 'https://github.com/opencv/opencv.git/': gnutls_handshake() failed: The TLS connection was non-properly terminated.

解决:权限不够,加sudo

3、编译

问题3:

也是权限问题:加sudo!

问题4:make 报错:

三、主目录创建picroscope文件夹

1、py文件

2、输入以下命令,检查 OpenCV 是否有效以及是否可以在 Python 中使用。

四、启动摄像头

1、用以下命令启用树莓派上的摄像头接口:

2、再次通过 SSH 进入树莓派。

3、运行命令,下载摄像头和简易服务器的 python 的界面。

4、运行以下命令,测试摄像头是否正常工作。


一、安装包:(注意换要源,不要用系统默认源)

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev vim pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy python-pip libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

问题1:磁盘空间不足——把根目录扩展到整个SD卡

报错:fatal: could not create work tree dir 'opencv': No space left on device

mkdir: cannot create directory ‘opencv’: No space left on device

等等......

解决:把根目录扩展到整个SD卡

命令行输入:

sudo raspi-config

树莓派——opencv打开树莓派摄像头调试记录
选择Advanced Options(光标移动,Tab键选择,空格键确认)
树莓派——opencv打开树莓派摄像头调试记录
选择Expand Filesystem
树莓派——opencv打开树莓派摄像头调试记录
设置完成后退出重启树莓派。
如果没有出现重启选项,在命令行输入:

sudo reboot

树莓派——opencv打开树莓派摄像头调试记录

扩展完成:从3.1G——>15G 

二、下载

1、先创建opencv目录:

sudo mkdir opencv

2、下载

git clone https://github.com/opencv/opencv.git

问题:fatal: unable to access 'https://github.com/opencv/opencv.git/': gnutls_handshake() failed: The TLS connection was non-properly terminated.

解决:权限不够,加sudo

sudo git clone https://github.com/opencv/opencv.git

3、编译

①cd opencv/
②mkdir build (创建不成功就加sudo)
③cd build/
④cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_PYTHON_EXAMPLES=ON ..

问题3:

-- Configuring incomplete, errors occurred!
CMake Error: Cannot open file for write: /home/pi/opencv/build/CMakeCache.txt.tmp
CMake Error: : System Error: Permission denied
CMake Error: Unable to open cache file for save. /home/pi/opencv/build/CMakeCache.txt
CMake Error: : System Error: Permission denied

指令:cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_PYTHON_EXAMPLES=ON ..

也是权限问题:加sudo!

⑤make (此过程非常漫长!!可能需要7、8个小时)

问题4:make 报错:

Scanning dependencies of target opencv_highgui_plugins
CMake Error: Cannot open file for write: /home/pi/opencv/build/CMakeFiles/opencv_highgui_plugins.dir/depend.make.tmp
CMake Error: : System Error: Permission denied......

树莓派——opencv打开树莓派摄像头调试记录

 加sudo !!!

sudo make install
cd

三、主目录创建picroscope文件夹

1、py文件

mkdir picroscope

cd picroscope

sudo vi LiveStream.py   //复制以下内容

from flask import Flask, Response
from picamera.array import PiRGBArray
from picamera import PiCamera
import cv2
import time
import io

class Camera(object):
    def __init__(self):
        self.cam = PiCamera()
        self.cam.resolution = (640, 480)
        self.rawCapture = PiRGBArray(self.cam, size=(640,480))

    def get_frame(self):
        for frame in self.cam.capture_continuous(self.rawCapture, format="bgr", use_video_port=True):
            image = frame.array
            cv2.imwrite('blah.jpg',image)
            self.rawCapture.truncate(0)
            return open('blah.jpg', 'rb').read()

app = Flask(__name__)

def gen(camera):
    while True:
        frame = camera.get_frame()
        yield (b'--frame\r\n'
               b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n')
        

@app.route('/')
def video_feed():
    return Response(gen(Camera()),
                    mimetype='multipart/x-mixed-replace; boundary=frame')

if __name__ == '__main__':
    app.run(host='0.0.0.0', debug=True)  #ssh登录,0.0.0.0换成自己的树莓派ip地址

2、输入以下命令,检查 OpenCV 是否有效以及是否可以在 Python 中使用。

cd picroscope/

python

import cv2

如果显示错误,请使用网络进行问题排查。如果其他方法都行不通,请发帖提问。

如果没有问题,OpenCV 可以正常使用。你可以输入以下命令来关闭 Python CLI。

exit()

输入以下命令关闭树莓派。

sudo shutdown now

四、启动摄像头

1、用以下命令启用树莓派上的摄像头接口:

sudo raspi-config


选择“Interfacing Options”
选择“Camera”
当系统询问是否启用相机时,选择“是”
当要求重启树莓派时,选择“是”

2、再次通过 SSH 进入树莓派。

3、运行命令,下载摄像头和简易服务器的 python 的界面。

sudo pip install picamera
sudo pip install Flask

4、运行以下命令,测试摄像头是否正常工作。

cd picroscope
python LiveStream.py

树莓派——opencv打开树莓派摄像头调试记录

第一步:打开浏览器并在 URL 栏中输入:[HOSTNAME] .local:5000(ip地址:5000)
第二步:你应该可以看到摄像头在直播。

树莓派——opencv打开树莓派摄像头调试记录文章来源地址https://www.toymoban.com/news/detail-503497.html

到了这里,关于树莓派——opencv打开树莓派摄像头调试记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解决树莓派原装libcamera(csi)摄像头无法通过opencv读取数据的问题

    1.1 硬件 树莓派4B 树莓派原装CSI摄像头IMX219(libcamera Camera Raspberry Pi) 1.2 软件 64位树莓派arrch64,Debian 11(bullseye) Python3.9 OpenCv 此时返回的ret,frame = (False, None) 继续执行下面这条语句 报错如下 若直接执行 则报错如下 出现上述情况,应该是opencv读取不到摄像头数据所致 接下来排

    2024年02月03日
    浏览(43)
  • 树莓派CSI摄像头使用python调用opencv库函数进行运动检测识别

    目录 一、完成摄像头的调用 二、利用python调用opencv库函数对图像进行处理 2.1 图像处理大体流程 2.2 opencv调用函数的参数以及含义 2.2.1 ret, img = cap.read() 读取帧图像 2.2.2 cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 灰度图像 2.2.3 gray_diff_img = cv2.absdiff(gray_img, previous_img) 帧差法 2.2.4 cv2.thre

    2024年02月15日
    浏览(53)
  • 动态识别二维码(树莓派4b + python3 + pyzbar + opencv + 摄像头)

            最近需要做一个 工训物料小车 扫码领取任务的功能,于是使用 树莓派 的摄像头扫码二维码。经过我的多番寻找,发现有个叫pyzbar的库,可以结合opencv,可以做一个 视频动态二维码扫描 。         本文实现的功能: 实现树莓派的二维码扫描         opencv的

    2024年02月14日
    浏览(54)
  • Opencv(C++)系列学习---读取视频文件和打开摄像头

    今天学习的这两个内容比较简单,话不多说,直接上代码! 目录 【1】读取视频文件 【2】摄像头读取视频 运行结果:  这段代码较为简单,有兴趣的同学也可以挑战一下,在视频读取上加个进度条,可以通过鼠标拖动进度条到指定位置,像平时我们用的视频播放器一样,主

    2024年02月16日
    浏览(52)
  • 树莓派4B使用opencv获取Camera Module 3摄像头图像(解决无法直接获取图像的问题)

    莓派4B在使用官方的Camera Module 3摄像头时,无法通过opencv直接获取到图像,具体问题表现在 opencv可以打开摄像头但是无法获取到图像信息,导致imshow等方法因无法获取图像数据进而报错 ,只能使用picamera2库进行图像的获取和和处理,对不熟悉picamera2库的同学不够友好; [INF

    2024年04月27日
    浏览(53)
  • 【CV】树莓派+OpenCV-python解决摄像头分辨率及帧率过低无法调整问题

    笔者使用的是USB摄像头。 如果你使用的是CSI摄像头, vcgencmd get_camera 命令可能能够帮到你。希望读取高帧率可以看看CSDN-树莓派ARM64系统中如何设置opencv-python读取高清摄像头画面 如果你使用的是USB摄像头, vcgencmd get_camera 命令会出现 supported=1 detected=0 的提示,这是正常的。同

    2024年02月05日
    浏览(93)
  • opencv进阶09-视频处理cv2.VideoCapture示例(打开本机电脑摄像头)

    视频信号(以下简称为视频)是非常重要的视觉信息来源,它是视觉处理过程中经常要处理的一类信号。实际上,视频是由一系列图像构成的,这一系列图像被称为帧,帧是以固定的时间间隔从视频中获取的。获取(播放)帧的速度称为帧速率,其单位通常使用“帧/秒”表示

    2024年02月12日
    浏览(53)
  • jetson nano USB摄像头使用openCv打开帧率低的问题

    最近玩jetson nano的时候发现openCv打开USB摄像头帧率只有5帧,但是windows下能跑30帧,在网络搜了一下原因发现是摄像头默认读取格式不对,需要改成MJPG格式帧率才能上去,于是使用CSDN上找的代码,但是都不能工作,折腾了好久没搞定,突然想到上 stacoverflow上看看,没想到真的

    2024年02月06日
    浏览(138)
  • 【树莓派】USB摄像头+python+opencv 六、报错:python Non-ASCII character '\xe5' in file

    插入usb摄像头,在命令行模式下输入        lsusb         如果看到列举出来的信息有camera的话就说明识别成功,可以使用。 1、拍照测试 安装 fswebcam 输入以下命令,开启摄像头 2、录像测试 安装 luvcview 输入以下命令,开启摄像头 如果发现安装的是python3的话就需要把pyth

    2024年02月05日
    浏览(53)
  • 树莓派4B摄像头安装+Ubuntu22.04系统摄像头识别

    树莓派4B安装上摄像头后,是不能立即使用的,需要进行一些配置才能使用,本文详细说明了配置过程和测试结果。 执行以下命令,检测是否可以识别摄像头: 结果如下: 返回结果:supported=0 detected=0,说明此时摄像头硬件还没有识别出来,而且设备是不支持摄像头配件的,

    2024年02月22日
    浏览(79)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包