:1017B : :1 :2022-10-14 15:05:51
OpenCV USB摄像头 采集显示与保存.CPP如果开发者对于本文件有需要的可以参考。
#include
#include
#include
//实现将拍下来的图片缩放一倍
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
02-15热键框保存和读取配置
02-03桌面图标位置记录保存还原
02-02配置批量保存功能
02-02图片保存,图片批量下载
01-30易语言自带定时保存源码
12-28opencv调用yolo模型,调用模块
02-05word更改自动保存时间间隔
10-18word文档无法保存关闭解决方法
10-06word文档无法保存关闭操作解决方法
09-01ppt设置自动保存间隔时间
08-29PPT将字体嵌入文件保存起来的方法
08-29wps/excel中的表格保存成A4图片
08-28excel超过12位数字下拉递增和保存