#今日の学び No.25「画像処理#前編」

どうもです。Anbyでございます。もう10月も終わりですねぇ。
さて、今回はですね「画像処理」について書きたいと思います。これも昨日書いた「流体力学」と同様、大学で履修している講義にあるものです。

昨日の記事の「流体力学」についてまだ見ていない方は下に貼っておくのでどうぞご覧くださいませ!では今日も参りましょう!!

1.画像処理って?

「画像処理」。皆さんは聞いたことがありますか?

その名の通りと言えばそうなのですが、簡単に言うと画像を処理することです。皆さん普段はスマホなどのカメラで写真を撮ったりしますよね。大体はTwitterやInstagramに投稿したりするでしょう。投稿する前に写真を加工したりする人が多いと思います。その撮った写真に対して加工することを「画像処理」とここでは意味するとしましょう。

今私が大学でやっているのは、画像の処理の仕方です。ダウンロードした写真(識別子はおもに.jpg)をウィンドウに表示するプログラムを作成しています。これにネガ・ポジ反転や補正などをするプログラムを加えたりして処理するプログラムを作っています。

2.画像処理の実際

下に実際の画像処理の実際を示します。下の写真はオリジナルの写真です[図1]。地球ですね。

画像1

図1 Earth.jpg

そしてこれをグレースケール画像にするプログラムがこちら。

//ダウンロードした写真をウィンドウで開く
 #include  <stdio.h>
 #include  <opencv2/opencv.hpp>
 #include  <opencv2/core/core.hpp>
 #include  <opencv2/highgui/highgui.hpp>

using namespace cv;

Mat img_src, img_dst;

int main(){
   char key;
   namedWindow("image",CV_WINDOW_AUTOSIZE);
   
   while (1) {
       img_src = imread("Earth.jpg",0); //グレースケールに変換
	   flip(img_src,img_dst,0); //上下反転
       imshow("image",img_src);
	key = waitKey(10);
	if (key == 'q') break;
	else if (key == 's') imwrite("output.jpg",img_src);
   }
   destroyAllWindows();
   return 0;
}

ちょっと時間がなくなったので詳しい話は次回にしようと思います!すみません...

第26号

この記事が気に入ったらサポートをしてみませんか?