opencv2.3.1+vs2010摄像头驱动

       记得在大一的时候就有一些想法:用程序去驱动硬件工作。比如摄像头,马达,齿轮,显示器等等,后来学了一段单片机也可以用它来控制一些简单的东西,再后来考研了,把单片机,arm束之高阁了,很久了,很多都遗忘了,但是这些想法还一直萦绕在心头,由于搞了图像处理这一行,所以就一直想着去驱动摄像头工作,采集图像,之前没有涉及都是用的国外的图像库进行处理的,一直也想尝试一下用程序控制一下摄像头,原来opencv里面调用摄像头如此的简单,还用它拍了几张照片很好,很强大。哈哈。继续努力。

程序如下:

// myjob.cpp : 定义控制台应用程序的入口点。
//

/**********************************/
//opencv摄像头驱动
/**********************************/

#include "stdafx.h"
#include "opencv2/imgproc/imgproc.hpp"

#include "opencv2/highgui/highgui.hpp"
#include "cv.h"
#include"highgui.h"

#include "iostream"

//采用cv命名空间和标准命名空间

using namespace std;

using namespace cv;
int main()
{
	namedWindow("mycam",1);//创建窗口
	VideoCapture cam(0);//捕获摄像头,
	if(!cam.isOpened())//判断摄像头是否成功打开
	{return -1;}
	Mat frame;//捕获帧
	Mat gray,edge;
	bool stop =false;
	while(!stop)
	{
		cam>>frame;//将摄像头捕获的帧存储到frame中
		imwrite("彩色图像.jpg",frame);
		cvtColor(frame,gray,CV_BGR2GRAY);//转换为灰度图像
		GaussianBlur(gray,edge,Size(7,7),1.5,1.5);//高斯平滑
		Canny(edge,edge,0,20,3);//用canny求边缘
		imshow("mycam",edge);//显示边缘图像。
		imwrite("myface.jpg",edge);//存储边缘图像
		if(waitKey(1000)>=0)
			stop = true;
	}
	return 0;
}

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值