2014年8月29日金曜日

画像の書出(1)【OpneCV】【C++】


やったことのメモ。

cv::imread("filename", img);   // img : 画像    filename : この名前で保存
※参考: http://opencv.jp/opencv-2.1/cpp/reading_and_writing_images_and_video.html



画像の書出
#include <opencv2\opencv.hpp>

int main(int argc, char* argv[]){

 cv::Mat img = cv::imread("lena.jpg");

 //グレースケール
 cv::Mat imgG = cv::imread("lena.jpg", 0);

 //保存
 cv::imwrite("lena2.jpg", img);
 cv::imwrite("lenaG2.jpg", imgG);
}


実行結果
元画像 lena.jpg:


保存 lena2,jpg, lenaG2.jpg:




使用した画像はOpenCVのsampleに入っていたもの。
JPEGの品質(CV_IMWRITE_JPEG_QUALITY)はデフォルトで95(0-100)。値が高いほど高品質。







画像の読込【OpenCV】【C++】

やったことのメモ。

cv::Mat img = cv::imread("filename");    // 画像の読み込み
cv::namedWindow("window name");      // ウィンドウ作成
cv::imshow("window name", img);         // ウィンドウ表示
cv::waitKey(0);                        // 0のとき何かキー入力があるまで待つ

※参考: http://opencv.jp/opencv-2.1/cpp/user_interface.html



画像の読込と表示
#include <iostream>
#include <opencv2\opencv.hpp>

int main(int argc, char* argv[]){

 cv::Mat img = cv::imread("lena.jpg");

 //グレースケール
 cv::Mat imgG = cv::imread("lena.jpg", 0); //flag=0でグレースケール

 cv::namedWindow("img");
 cv::namedWindow("imgGray");
 cv::imshow("img", img);
 cv::imshow("imgGray", imgG);
 cv::waitKey(0);
}


実行結果



使用した画像はOpenCVのsampleに入っていたもの。