画像をRGBから白黒に変換した後、RGBに戻したいのですが、問題があります。
私のコード:
int width=zoomedImage->width;
int height=zoomedImage->height;
TempImage=cvCreateImage(cvSize(width,height),IPL_DEPTH_8U,1);
cvCvtColor(zoomedImage, TempImage,CV_RGB2GRAY);
cvThreshold( TempImage, TempImage,128,256,CV_THRESH_BINARY);
cvCvtColor( TempImage,zoomedImage,CV_GRAY2RGB);
this->pictureBox1->Image=(gcnew
System::Drawing::Bitmap(zoomedImage->width,zoomedImage->height,zoomedImage->widthStep,
System::Drawing::Imaging::PixelFormat::Format24bppRgb,(System::IntPtr)zoomedImage->imageData));
ここではzoomedImageを白黒画像として表示しています。別のアクションではzoomedImageをRGB画像として表示したいのですが、ここでの主な問題は、コードの別の部分が依存しているため、描画される画像を変更できないことです。このシーケンスで、私は他のアクションでそれを書きました:
cvCvtColor( TempImage,zoomedImage,CV_GRAY2RGB);
this->pictureBox1->Image=(gcnew
System::Drawing::Bitmap(zoomedImage->width,zoomedImage->height,zoomedImage->widthStep,
System::Drawing::Imaging::PixelFormat::Format24bppRgb,(System::IntPtr)zoomedImage->imageData));
しかし、zoomedImageはまだ白黒として表示されます。トゥルーカラー画像がグレーに変換されると、トゥルーカラー画像として再び返すことはできないと聞きました。CV_GRAY2RGBは何をしますか?