在标准window窗口下,显示opencv处理过的图片

我在学习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);

你可能感兴趣的:(在标准window窗口下,显示opencv处理过的图片)