树莓派-WebCamera图像采集(OpenCV)
来源:互联网 发布:日本漫画软件下载 编辑:程序博客网 时间:2024/05/02 00:32
(1)在树莓派USB接口中插入webcamera,使用如下命令检测是否检测到camera
cd /dev
ls | grep video
如果有个设备名字是videox(x是数字)
(2)编写代码,流程很简单,首先获取摄像头,然后再while(1)中显示采集到的视频,按下esc退出图像采集。
#include <opencv/cv.h>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main(int argc,char **argv)
{
//获取摄像头
CvCapture* pCapture = cvCreateCameraCapture(-1);
cvSetCaptureProperty(pCapture,CV_CAP_PROP_FRAME_WIDTH,320);
cvSetCaptureProperty(pCapture,CV_CAP_PROP_FRAME_HEIGHT,240);
//cvSetCaptureProperty(pCapture, CV_CAP_PROP_FPS, 5);
//声明IplImage指针
IplImage *pFrame = 0;
if (NULL == pCapture)
{
fprintf(stderr, "Can't initialize webcam!\n");
return 1;
}
//创建窗口
cvNamedWindow("WebCamera");
//视频显示
while(1)
{
pFrame = cvQueryFrame(pCapture); // query a frame
cvShowImage("WebCamera",pFrame);
char c = cvWaitKey(40);
if(c==27)
break;
}
if(NULL == pFrame)
{
fprintf(stderr, "Can't get a frame!\n" );
return 1;
}
cvReleaseCapture(&pCapture); // free memory
cvDestroyWindow("WebCamera");
return 0;
}
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main(int argc,char **argv)
{
//获取摄像头
CvCapture* pCapture = cvCreateCameraCapture(-1);
cvSetCaptureProperty(pCapture,CV_CAP_PROP_FRAME_WIDTH,320);
cvSetCaptureProperty(pCapture,CV_CAP_PROP_FRAME_HEIGHT,240);
//cvSetCaptureProperty(pCapture, CV_CAP_PROP_FPS, 5);
//声明IplImage指针
IplImage *pFrame = 0;
if (NULL == pCapture)
{
fprintf(stderr, "Can't initialize webcam!\n");
return 1;
}
//创建窗口
cvNamedWindow("WebCamera");
//视频显示
while(1)
{
pFrame = cvQueryFrame(pCapture); // query a frame
cvShowImage("WebCamera",pFrame);
char c = cvWaitKey(40);
if(c==27)
break;
}
if(NULL == pFrame)
{
fprintf(stderr, "Can't get a frame!\n" );
return 1;
}
cvReleaseCapture(&pCapture); // free memory
cvDestroyWindow("WebCamera");
return 0;
}
(3)编写makefile
CC = g++
# 可执行文件
TARGET = webcamera
# C文件
SRCS = webcamera.cpp
# 目标文件
OBJS = $(SRCS:.cpp=.o)
# 库文件
DLIBS = -lopencv_core -lopencv_imgproc -lopencv_highgui
# 链接可执行文件
$(TARGET):$(OBJS)
$(CC) -o $@ $^ $(DLIBS)
clean:
rm -rf $(TARGET) $(OBJS)
# 编译规则 $@代表目标文件 $<代表第一个依赖文件
%.o:%.cpp
$(CC) -o $@ -c $<
# 可执行文件
TARGET = webcamera
# C文件
SRCS = webcamera.cpp
# 目标文件
OBJS = $(SRCS:.cpp=.o)
# 库文件
DLIBS = -lopencv_core -lopencv_imgproc -lopencv_highgui
# 链接可执行文件
$(TARGET):$(OBJS)
$(CC) -o $@ $^ $(DLIBS)
clean:
rm -rf $(TARGET) $(OBJS)
# 编译规则 $@代表目标文件 $<代表第一个依赖文件
%.o:%.cpp
$(CC) -o $@ -c $<
(4)编译,make
(5)运行,./webcamera
运行效果:
0 0
- 树莓派-WebCamera图像采集(OpenCV)
- opencv 网络摄像头(webcamera)
- (转载)opencv 使用DirectShow采集图像
- opencv+directshow采集视频图像
- Opencv调用摄像头采集图像
- OpenCV - 视频及图像采集
- Opencv学习手册(二)--- 图像采集与显示
- opencv定时采集图像并存储本地
- OpenCV编程案例:从摄像头采集图像
- opencv采集图像并进行傅里叶变换
- Basler工业相机基于opencv 采集图像
- opencv 开启摄像头实时采集图像
- opencv同时开启两个摄像头采集图像
- opencv采集图像并进行轮廓检测
- 四.使用OpenCv采集图像及图像边缘检测
- 关于图像采集卡采集到图像到内存后怎样用Opencv进行图像处理
- opencv 3.00的vs2013的环境搭建,以及DirectShow的图像采集(一)
- opencv的相关类及示例分析(一)之在QT中利用opencv用摄像头采集图像
- 如何提高tableView的性能
- python print格式化输出
- 文本文件加密解密(一)
- Android ViewPager多页面滑动切换以及动画效果
- UnicodeEncodeError: 'gbk' codec can't encode character '\ufeff' in position 0: illegal multibyte seq
- 树莓派-WebCamera图像采集(OpenCV)
- 使用 ftrace 调试 Linux 内核,第 1 部分
- 使用dbcp连接池连接数据库
- genymotion-unable to load virtualbox engine-Windows
- mysql备份
- SparkR安装
- Spring Boot使用自定义的properties
- POJ_1458_CommonSubsequence
- jsp页面解决IE浏览器兼容模式下css,js显示问题