#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++版) cv::Mat src = cv::imread( std::string( "..\\lenna.png" ) ); cv::Mat gray( src.size(), CV_8UC1 ); // 画像の読み込み,出力を格納するための配列(C版) IplImage srcIpl = src; IplImage grayIpl = gray; // 入力画像をグレースケールに変換(C版) cvCvtColor( &srcIpl, &grayIpl, CV_BGR2GRAY ); // ウインドウを作成して表示 // 実体は共有されているので,IplImageのヘッダを用いた処理結果はMat型からみても反映されている cv::namedWindow( windowNameSrc ); cv::namedWindow( windowNameGray ); cv::imshow( windowNameSrc, src ); cv::imshow( windowNameGray, gray ); cv::waitKey( 0 ); gray.release(); return 0; }