Verybot之OpenCV应用一:安装与图像采集测试

2024-09-08 15:08

本文主要是介绍Verybot之OpenCV应用一:安装与图像采集测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

        在Verybot上安装OpenCV是很简单的,只需要执行:

        sudo apt-get update
        sudo apt-get install libopencv-dev
        sudo apt-get install python-opencv

        下面就对安装好的OpenCV进行一下测试,编写一个通过USB摄像头采集并显示图像的程序,代码如下:

#include "cv.h"
#include "highgui.h"
#include "stdio.h"int main(int argc, char** argv)
{cvNamedWindow("vedio",0);   CvCapture* capture;if(1 == argc){capture = cvCreateCameraCapture(0);}else{capture = cvCreateCameraCapture(atoi(argv[1]));}assert(NULL != capture);//设置采集的分辨率cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH, 640);cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT,480);IplImage* frame;char keyCode;while((keyCode = cvWaitKey(15))){if(keyCode == 'q')    //如果按下q键,退出循环{break;}frame = cvQueryFrame(capture);    //采集一帧图像if(!frame){break;}cvShowImage("vedio",frame);       //显示图像}cvReleaseImage(&frame);cvDestroyAllWindows();return 0;
}

 

        代码比较简单,就只做了较少的注释,如果跟使用V4L2与FrameBuffer的图像采集与显示的程序比,就会感觉简单很多,把上面这个文件命名为:capture.cpp,然后在同文件夹下建立一个CMakeLists.txt的文件,内容如下:

project( captrue )
find_package( OpenCV REQUIRED )
add_executable( capture capture )
target_link_libraries( capture ${OpenCV_LIBS} )


        保存之后在同文件夹下运行:

        cmake .

        然后:

        make

        编译完成以后运行:

        ./capture

        没有问题的话就可以看到USB摄像头采集的图像了。

这篇关于Verybot之OpenCV应用一:安装与图像采集测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1148448

相关文章

Python使用OpenCV实现获取视频时长的小工具

《Python使用OpenCV实现获取视频时长的小工具》在处理视频数据时,获取视频的时长是一项常见且基础的需求,本文将详细介绍如何使用Python和OpenCV获取视频时长,并对每一行代码进行深入解析... 目录一、代码实现二、代码解析1. 导入 OpenCV 库2. 定义获取视频时长的函数3. 打开视频文

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

Java MQTT实战应用

《JavaMQTT实战应用》本文详解MQTT协议,涵盖其发布/订阅机制、低功耗高效特性、三种服务质量等级(QoS0/1/2),以及客户端、代理、主题的核心概念,最后提供Linux部署教程、Sprin... 目录一、MQTT协议二、MQTT优点三、三种服务质量等级四、客户端、代理、主题1. 客户端(Clien

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

Python如何将OpenCV摄像头视频流通过浏览器播放

《Python如何将OpenCV摄像头视频流通过浏览器播放》:本文主要介绍Python如何将OpenCV摄像头视频流通过浏览器播放的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完... 目录方法1:使用Flask + MJPEG流实现代码使用方法优点缺点方法2:使用WebSocket传输视

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase

CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比

《CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比》CSS中的position属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布... css 中的 position 属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布局和层叠关

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的