关于OPENCV二值化的有关问题
【求助】关于OPENCV二值化的问题!
#include "stdafx.h"
#include"cv.h"
#include"highgui.h"
#include"stdio.h"
// 实现将拍下来的图片缩放一倍
IplImage* DoPyrDown(IplImage* image, int filter = IPL_GAUSSIAN_5x5)
{
// 设置大小缩小一倍
CvSize size = cvSize(image->width / 2,image->height / 2);
//初始化图片
IplImage* outImage = cvCreateImage(size,image->depth,image->nChannels);
//实现缩放
cvPyrDown(image,outImage);
cvReleaseImage(&image);
return outImage;
}
int main(int argc, char** argv)
{
cvNamedWindow("vedio");
CvCapture* capture;
// 首先是要通过摄像设备来得到一个CvCapture对象
if(1 == argc)
{
capture = cvCreateCameraCapture(0);
}
else
{
capture = cvCreateCameraCapture(atoi(argv[1]));
}
assert(NULL != capture);
IplImage* frame;
char keyCode;
// 每隔30ms捕捉一次视频图像
// 可以设为while(1) 使得实时捕捉视频画面
while((keyCode = cvWaitKey(30)))
{
//表示按下了ESC键,退出
if(keyCode == 27)
{
break;
}
// 得到摄像设备的下一帧图像
frame = cvQueryFrame(capture);
if(!frame)
{
break;
}
IplImage* outImage = cvCreateImage(cvGetSize(frame),frame->depth,frame->nChannels);
//将原图拷贝过来
cvCopy(frame,outImage,NULL);
outImage = DoPyrDown(outImage);
char* outImageName = "test.jpg";
cvSaveImage(outImageName,outImage);
cvShowImage("vedio",frame);
}