启动摄像头,采集图片

实验室机器人用小摄像头,选择0

#include "stdafx.h"
#include "cxcore.h"
#include "cvcam.h"
#include "windows.h"
#include "cv.h"
#include "highgui.h"
#include "iostream"
#define ANY_IMAGE 2
void callback(IplImage* image);
int main()
{
int ncams = cvcamGetCamerasCount();//返回可以访问的摄像头数目
    int width=500;
    int height=500;
    HWND MyWin;// 设置系统属性,MyWin 是窗口 HWND 的类型
    cvcamSetProperty(0, CVCAM_PROP_ENABLE, CVCAMTRUE); //使能视讯 0:欲设置属性的摄像头序号; 第二个参数是属性名字;第三个参数是指向设置值的指针
    cvcamSetProperty(0, CVCAM_PROP_RENDER, CVCAMTRUE); //启用视讯
    MyWin = (HWND)cvGetWindowHandle("cvcam window"); 
    cvcamSetProperty(0, CVCAM_PROP_WINDOW, &MyWin); // Selects a window 
    cvcamSetProperty(0,CVCAM_RNDWIDTH,&width);//与视频宽度有关
    cvcamSetProperty(0,CVCAM_RNDHEIGHT,&height); //与视频高度有关
   cvcamSetProperty(0, CVCAM_PROP_CALLBACK, callback);//回调函数将处理每一帧
cvcamInit();
    cvcamStart();
    cvWaitKey(0);//等待命令
    cvcamStop();
    cvcamExit();
    return 0;
}
// 回调函数
void callback(IplImage* image)
{
    cvcamPause();
    cvcamGetProperty(0,"raw_image",&image);
    static int index=0;
    index++;
    assert(image);
    IplImage *img = image;
    //TO_DO 记录视频片段
    if(index==ANY_IMAGE)
    {
      cvcamPause();
      if(!cvSaveImage("captureImage.bmp",img))
 printf("Could not save: %s\n","captureImage.jpg");
      cvcamResume();
   }
cvcamResume();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值