在好例子网,分享、交流、成长!
您当前所在位置:首页C/C++ 开发实例常规C/C++编程 → OpenCV USB摄像头 采集显示与保存.CPP

OpenCV USB摄像头 采集显示与保存.CPP

常规C/C++编程

下载此实例
  • 开发语言:C/C++
  • 实例大小:1.69KB
  • 下载次数:6
  • 浏览次数:47
  • 发布时间:2022-01-20
  • 实例类别:常规C/C++编程
  • 发 布 人:115haoliz
  • 文件格式:.cpp
  • 所需积分:2
 相关标签: opencv usb摄像头 摄像头 usb 摄像

实例介绍

【实例简介】基于OpenCV的USB摄像头 采集显示与保存.CPP

【实例截图】

from clipboard

【核心代码】

#include <cv.h>
#include <highgui.h>
#include <stdio.h>
//实现将拍下来的图片缩放一倍
IplImage * DoPyrDown(IplImage * image,int filter = IPL_GAUSSIAN_5x5)
{
//设置大小缩小一倍
CvSize size = cvSize(image->width / 2,image -> height / 2);

//初始化图片
IplImage * outImage = cvCreateImage(size,image->depth,image->nChannels);

//实现缩放
cvPyrDown(image,outImage);

cvReleaseImage(&image);
return outImage;
}

int main(int argc,char ** argv)
{
cvNamedWindow("Demo08");
CvCapture * capture;

//首先是要通过摄像设备来得到一个CvCapture 对象
if(argc == 1)
{
capture=cvCreateCameraCapture(0);
}
else
{
capture=cvCreateCameraCapture(atoi(argv[1]));
}
assert(capture!=NULL);

IplImage * frame;

char keyCode;
//每隔30ms 捕捉一次视频图像
while((keyCode = cvWaitKey(30)))
{
//表示按下了Esc 键
if(keyCode == 27)
{
break;
}

//表示按下了回车键,此时应当保存照片
if(keyCode == 13)
{
//初始化一张图片
IplImage * outImage = cvCreateImage(
cvGetSize(frame),
frame->depth,
frame->nChannels);
//将原图拷贝过来
cvCopy(frame,outImage,NULL);

//实现缩放操作
outImage= DoPyrDown(outImage);

char *outImageName = "XiaoZhen.jpg";

//将图片保存
cvSaveImage(outImageName,outImage);

cvReleaseImage(&outImage);

printf("恭喜你, 保存图片成功! \n");
}

//得到摄像设备中的下一帧图像
frame = cvQueryFrame(capture);

if(!frame)
{
break;
}
cvShowImage("Demo08",frame);
}

cvReleaseImage(&frame);
cvDestroyAllWindows();
return 0;
}

.
└── 好例子网_opencv_usbcam.cpp

0 directories, 1 file


实例下载地址

OpenCV USB摄像头 采集显示与保存.CPP

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
;
报警