跪求用USB摄像头获取并保存图像的c或c++代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跪求用USB摄像头获取并保存图像的c或c++代码相关的知识,希望对你有一定的参考价值。

要求一定不要用MFC做,就是一般的MAIN()那种叫
要求就是摄像头打开,然后一直开着,然后保存一帧图像为.BMP格式,然后结束就可以了……

可以通过Intel的opencv库来做,这个库提供的功能比较多。
支持很多功能,使用起来也算简单。
相信的内容可以参考www.opencv.org.cn
需要配置这个库

下面代码是从这个网址转来的,可以参考下
http://www.aiseminar.cn/bbs/thread-327-1-1.html
/* jink2005编写于www.aiseminar.cn */
#include "stdio.h"
#include "cv.h"
#include "highgui.h"
#pragma comment(lib, "cv.lib")
#pragma comment(lib, "cxcore.lib")
#pragma comment(lib, "highgui.lib")
int main(int argc, char* argv[])
/* 通过摄像头采集一帧图像 */
IplImage* img = 0;
CvCapture* capture = cvCaptureFromCAM(0);
if (! cvGrabFrame(capture)) // 采集一帧
printf("Could not grab a frame!\n\7");
exit(0);

img = cvRetrieveFrame(capture); // 提取采集到的帧
/* 获得此帧的相关信息 */
cvQueryFrame(capture); // 此调用是获得正确的采集属性所必需的
int frameH = (int)cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT);
int frameW = (int)cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH);
/* 显示图像到窗口 */
cvNamedWindow("mainWin", CV_WINDOW_AUTOSIZE); // 创建窗体
cvShowImage("mainWin", img);
/* 释放采集源对像 */
cvReleaseCapture(&capture);
// 等待一个任意键
cvWaitKey(0);
cvReleaseImage(&img);
return(0);
参考技术A 不行啊 我还没到境界 帮补了你了

从网络摄像机捕获实时图像

【中文标题】从网络摄像机捕获实时图像【英文标题】:Capturing real time images from a network camera 【发布时间】:2010-01-22 12:04:44 【问题描述】:

从网络 IP 摄像机捕获流式 MJPEG 的最佳方法是什么?

我想使用 c++(或用 c++ 扩展的 python)获取帧并处理它们。

OpenCV 是我的最佳选择吗?

【问题讨论】:

【参考方案1】:

Appart 来自 OpenCV,您可以使用 mplayer 和 -vo yuv4mpeg 重定向到管道来获取未压缩的 yuv 图像流。您可以从 C++ 创建 mplayer 进程和管道。

另一种方法是使用 RTSP 库(您的 IP 摄像机可能将其用作协议)

【讨论】:

其实OpenCV也可以用rtsp,用cvCreateCaptureFromFile

以上是关于跪求用USB摄像头获取并保存图像的c或c++代码的主要内容,如果未能解决你的问题,请参考以下文章

求用opencv把摄像头读取的图像转换成矩阵形式的代码

OpenCV保存USB摄像头视频流,附C++和Python源代码

OpenCV保存USB摄像头视频流,附C++和Python源代码

用VC怎样获取USB摄像头图像,最好有代码

如何利用C语言,C++语言打开USB串口,然後对其发送信号? 跪求回答! 可行比加分!!

opencv调用摄像头函数