映美相机、Qt、Vs、OpenCV

4 篇文章 0 订阅
3 篇文章 0 订阅

我先写一个很垃圾的例子,我后续会更新的。。。

代码:

#include "tisudshl.h"

#include <algorithm>

#include <opencv2/opencv.hpp>

#include "cmdhelper.h"     //这个玩意是我在映美的一个例子中看到的   xxxxx \IC Imaging Control 3.4\samples\vc10\Common

根据自身情况找找吧

using namespace DShowLib;
using namespace cv;
using namespace _DSHOWLIB_NAMESPACE;

//加载库
    if (DShowLib::InitLibrary()) {

        qDebug() << "InitLibrary true";

    }

    //创建Grabber对象
    Grabber* grabber = new Grabber();
    qDebug() << "grabber isvalid: " << grabber->isDevValid();

    //获取设备列表,打印大小,打开列表中下标为0的设备
    Grabber::tVidCapDevListPtr list_item = grabber->getAvailableVideoCaptureDevices();
    int size = list_item->size();
    qDebug() << "list_item.size: " << size;
    qDebug() << "openDev isSuccessful: " << grabber->openDev(list_item->at(0));

    //获取列表中的第一个设备,打印设备名
    Grabber::tVideoCaptureDeviceItem item = list_item->at(0);
    std::string basename =  item.getBaseName();
    qDebug() << "device name without devnumber: " << QString::fromStdString(basename);

   //设置帧率

    grabber->setFrameRate(0.872);

    //实时显示图像

    if(!grabber->isLive())
        grabber->startLive();


上面测试可行,写的有点麻烦了,其实可以精简的
  

    DShowLib::InitLibrary();
    Grabber grabber;

    DShowLib::Grabber::tVideoCaptureDeviceItem  item = grabber->getDev();
    grabber->openDev(item );

    if(!grabber->isLive())
        grabber->startLive();

我会在更新的,下集预告:获取buffer

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值