我在学习opencv的时候,想在标准window窗口下显示图片,经过学习,可以在对话框显示。
但是问题出现了,当用opencv处理该图片时,调用opencv函数:
cvCvtColor(img.GetImage(), imgtemp, CV_BGR2GRAY);
处理过的图片存在imgtemp中,建立时是iplimage,处理过却是cvarr。不能使用cvvimage的drawtohdc()函数。我想可能是cvvimage类的构造函数不够用,于是我继承了cvvimage类
class myimg:public CvvImage
{
public:
myimg(IplImage* img):CvvImage()
{
m_img=cvCloneImage(img);
}
};
处理语句如下:
imgtemp=cvCreateImage(cvSize(img.Width(),img.Height()),IPL_DEPTH_8U,1);
cvCvtColor(img.GetImage(), imgtemp, CV_BGR2GRAY); //rgbת»»Îª»Ò¶È
CRect rect(img.Width()*0.5+10,0,img.Width()+10, img.Height()*0.5 );
myimg img1(imgtemp);
img1.DrawToHDC(dc.GetSafeHdc(),rect);