转:在标准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);


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/polinzhuo/archive/2005/04/03/335183.aspx

posted @ 2009-07-31 14:27  DELPHI&.NET初学者[TECSOON WENDAY]  阅读(355)  评论(0编辑  收藏  举报