opencv对电脑摄像头采集和边缘检测
2015-11-19 13:23
330 查看
#include "cxcore.h" #include "cvcam.h" #include "windows.h" #include "cv.h" #include "highgui.h" #include "stdio.h" #pragma comment(lib, "cv.lib") #pragma comment(lib, "cxcore.lib") #pragma comment(lib, "highgui.lib") int main(int argc,char ** argv) { IplImage * laplace = 0; IplImage * colorlaplace = 0; IplImage * planes[3] = {0,0,0}; CvCapture *capture = 0; //从摄像头读取 capture = cvCaptureFromCAM(0); cvNamedWindow("Laplacian",1); //循环捕捉,直到用户按键跳出循环体 for(;;) { IplImage * frame =0; //抓起一祯 frame = cvQueryFrame(capture); if(!frame) break; if(!laplace) { //创建图像 for(int i=0;i<3;i++) planes[i] = cvCreateImage(cvSize(frame->width,frame->height),IPL_DEPTH_8U,1); laplace = cvCreateImage(cvSize(frame->width,frame->height),IPL_DEPTH_16S,1); colorlaplace = cvCreateImage(cvSize(frame->width,frame->height),IPL_DEPTH_8U,3); } //分割 cvCvtPixToPlane(frame,planes[0],planes[1],planes[2],0); for(int i=0;i<3;i++) { //交换,如通道变换 cvLaplace(planes[i],laplace,3); //使用线性变换转换输入函数元素成8为无符号整形 cvConvertScaleAbs(laplace,planes[i],1,0); } cvCvtPlaneToPix(planes[0],planes[1],planes[2],0,colorlaplace); //结构相同(0 - 顶—左结构,1 - 底—左结构) colorlaplace->origin = frame->origin; cvShowImage("Laplacian",colorlaplace); if(cvWaitKey(10)>0) break; } cvReleaseCapture(&capture); cvDestroyWindow("Laplacian"); return 0; }
视频采集和边缘检测
相关文章推荐
- 运行时架构(Runtime Architecture)
- Makefile missing separator. Stop.如何解决
- 【算法】希尔排序
- CentOs安装Maven
- Operating System: Three Easy Pieces --- Condition Variables (Note)
- Linux系统安装、维护SSH
- Linux Shell编程入门
- 【openCV】对图像进行锐化
- Operating System: Three Easy Pieces --- Locks (Note)
- tomcat源码系列(四)--关闭过程
- RESTFul service架构的安全性和幂等性
- tomcat启动异常(严重: Dispatcher initialization failed Unable to load configuration. - [unknown location] )
- 阿里云系列——5.网站云解析快速配置(简单+免费+详细+最新)
- Linux下批量重命名文件名为数字索引编号(0~N.xxx)的方法
- Bash Shell注释
- Linux服务之ssh防暴力破解
- linux中find批量删除空文件及空文件夹脚本
- 阿里云--域名,主机,备案都配置好了,就是不能访问网站的解决方案
- mesos上安装hadoop过程简介
- Centos平台Supervisord全攻略