#ifdef _DEBUG #pragma comment( lib, "opencv_core230d.lib" ) #pragma comment( lib, "opencv_imgproc230d.lib" ) #pragma comment( lib, "opencv_highgui230d.lib" ) #else #pragma comment( lib, "opencv_core230.lib" ) #pragma comment( lib, "opencv_imgproc230.lib" ) #pragma comment( lib, "opencv_highgui230.lib" ) #endif #include int main( int argc, char** argv ) { const std::string windowNameSrc = "Source"; const std::string windowNameGray = "Gray"; // 画像の読み込み,出力を格納するための配列(C版) IplImage* srcIpl = cvLoadImage( "..\\lenna.png" ); IplImage* grayIpl = cvCreateImage( cvGetSize( srcIpl ), IPL_DEPTH_8U, 1 ); // 画像の読み込み,出力を格納するための配列(C++版) cv::Mat src( srcIpl ); cv::Mat gray( grayIpl ); // 入力画像をグレースケールに変換(C++版) cv::cvtColor( src, gray, CV_BGR2GRAY ); // ウインドウを作成して表示 // 実体は共有されているので,Matのヘッダを用いた処理結果はIplImage型の変数からみても反映されている cvNamedWindow( windowNameSrc.c_str() ); cvNamedWindow( windowNameGray.c_str() ); cvShowImage( windowNameSrc.c_str(), srcIpl ); cvShowImage( windowNameGray.c_str(), grayIpl ); cvWaitKey( 0 ) ; cvReleaseImage( &srcIpl ); cvReleaseImage( &grayIpl ); return 0; }