if(m_pVideoInfo->m_pCapture){
IplImage* frame,*src_image=NULL;
frame = cvQueryFrame(m_pVideoInfo->m_pCapture);
if(frame)
{
cvCopy(frame,m_pVideoInfo->m_pFrameImage);
int i, bin_w, c;
if(!m_pVideoInfo->m_pFrameImage)
{
m_pVideoInfo->m_pFrameImage = cvCreateImage( cvGetSize(frame), 8, 3 );//
m_pVideoInfo->m_pFrameImage->origin = frame->origin;
hsv = cvCreateImage( cvGetSize(frame), 8, 3 );
hue = cvCreateImage( cvGetSize(frame), 8, 1 );
mask = cvCreateImage( cvGetSize(frame), 8, 1 );//分配掩膜图像空间
backproject = cvCreateImage( cvGetSize(frame), 8, 1 );//分配反向投影图空间,大小一样,单通道
hist = cvCreateHist( 1, &hdims, CV_HIST_ARRAY, &hranges, 1 ); //分配建立直方图空间
histimg = cvCreateImage( cvSize(320,200), 8, 3 );//分配用于画直方图的空间
cvZero( histimg );//背景为黑色
}
cvCopy( frame, m_pVideoInfo->m_pFrameImage, 0 );
cvCvtColor( m_pVideoInfo->m_pFrameImage, hsv, CV_BGR2HSV ); // 把图像从RGB表色系转为HSV表色系
这是MFC程序中的一部分,capture指针打开了一个视频文件
但是每次打开视频的时候都会报错,只要把最后一段代码注释了就没问题了
#include<math.h>#include"highgui.h"#include"cv.h"#include"time.h"#include<iostream>intmain(){IplImage*image=cvLoadImage("test.png");IplImage*hsv=cvCreateImage(cvGetSize(image),8,3);cvCvtColor(image,hsv,CV_BGR2HSV);cvNamedWindow("saturate_SV",CV_WINDOW_AUTOSIZE);cvShowImage("saturate_SV",hsv);cvWaitKey(0);cvReleaseImage(&hsv);cvDestroyWindow("saturate_SV");return0;}
http://www.ylzx8.cn/duomeiti/image/1004178.html
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。