C++怎么实现打开本机摄像头并获取图像?

是MFC的。求代码... 是 MFC 的。求代码 展开
 我来答
tattackor
推荐于2017-10-09 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:861万
展开全部
  1. C语言本身是无法直接控制外设的。但可以通过各种应用编程接口(api),间接调用外部设备。例如opencv库。

    OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
    OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。该库也有大量的Python, Java and MATLAB/OCTAVE (版本2.5)的接口。这些语言的API接口函数可以通过在线文档获得。如今也提供对于C#,Ch, Ruby的支持。

  2. 例程:

    #include "cv.h"
    #include "highgui.h"
    int main(int argc, char** argv) {
        cvNamedWindow("win");
        CvCapture* capture = cvCreateCameraCapture(0);    //创建并获取摄像设备
        IplImage* frame;
        while(1) {
            frame = cvQueryFrame(capture);    //创建并获取一张摄像截图
            if(!frame) break;        //如果失败终止循环
            cvShowImage("win", frame);    //在一个"win"窗口,并当中显示该截图
            char c = cvWaitKey(50);
            if(c==27) break;
        }
        cvReleaseCapture(&capture);        //释放摄像设备
        cvDestroyWindow("win");        //释放窗口"win"
        return 0;
    }
镭速传输
2024-10-28 广告
在深圳市云语科技有限公司,我们深知远程传输大文件的重要性与便捷性。为此,我们推荐使用高效的文件传输服务,这些服务通常支持断点续传,确保大文件传输的稳定与安全。用户只需简单上传,系统即可自动处理,无论文件大小,都能实现快速、可靠的远程传输。同... 点击进入详情页
本回答由镭速传输提供
2925059
2015-05-27 · TA获得超过4134个赞
知道大有可为答主
回答量:1.1万
采纳率:51%
帮助的人:1683万
展开全部
这个不是语言的问题,是系统的问题.个人比较推荐用 opencv来实现

OpenCV于1999年由Intel建立,如今由Willow Garage提供支持。OpenCV是一个基于[1] (开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。[2] 最新版本是3.0 RC1,2015年4月24日发布。
OpenCV 拥有包括 500 多个C函数的跨平台的中、高层 API。它不依赖于其它的外部库——尽管也可以使用某些外部库。
OpenCV 为Intel® Integrated Performance Primitives (IPP) 提供了透明接口。 这意味着如果有为特定处理器优化的 IPP 库, OpenCV 将在运行时自动加载这些库。[3]
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sl65agm
2012-02-27 · TA获得超过1383个赞
知道小有建树答主
回答量:734
采纳率:0%
帮助的人:582万
展开全部
下个DirectShow,里面的实例代码就有打开摄像头拍照的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cnc163
2012-02-28 · TA获得超过423个赞
知道小有建树答主
回答量:508
采纳率:0%
帮助的人:135万
展开全部
DirectShow
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chao_pengll
2012-02-27
知道答主
回答量:16
采纳率:0%
帮助的人:20.7万
展开全部
这个恐怕得知道其api才行。
知道api接口,就容易了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式