opencv 摄像头灰度处理及canny处理





#include <cv.h>
#include <cxcore.h>
#include <highgui.h>
#include"cv.h"
#include"highgui.h"




IplImage * doPyrDown(IplImage* in, int filter = IPL_GAUSSIAN_5x5)
{
assert(in->width % 2 == 0 && in->height % 2 == 0);
IplImage * out = cvCreateImage(cvSize(in->width / 2, in->height / 2), in->depth, in->nChannels);
cvPyrDown(in, out);
return (out);





};
IplImage* doCanny(IplImage* in, double low, double high, double aperture)
{
// if (in->nChannels != 1) return 0;
IplImage* out = cvCreateImage(
cvGetSize(in),
IPL_DEPTH_8U,
1);
cvCanny(in, out, low, high, aperture);
return (out);
};
IplImage* doGray(IplImage* in)
{
IplImage* out =
cvCreateImage(cvGetSize(in), IPL_DEPTH_8U, 1);

cvConvertImage(in, out, 1);
return (out);
}
void main()
{
cvNamedWindow("Video", CV_WINDOW_AUTOSIZE);
cvNamedWindow("Gray", CV_WINDOW_AUTOSIZE);
cvNamedWindow("Canny", CV_WINDOW_AUTOSIZE);
CvCapture * capture;


capture = cvCreateCameraCapture(0);
IplImage* in;
while (1){
in = cvQueryFrame(capture);
IplImage* img1 = doPyrDown(in );
IplImage* img2 = doGray(img1);

IplImage* img3 = doCanny(img1, 10,100,3);
//cvCvtColor(img, img1, CV_BGR2GRAY);
cvShowImage("Video", in);
cvFlip(img2,img2);
cvShowImage("Gray", img2);
// cvShowImage("Gray2", img2);
cvShowImage("Canny", img3);


char c = cvWaitKey(33);
if (c == 27)
{
break;
}
in = cvQueryFrame(capture);
}
}





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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值