0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

OpenCV「連続した画像の読み込み」「連続での保存」

Last updated at Posted at 2020-12-04

##概要
画像処理をしていると、連続での読み込みや連続での保存なんかしたくなる時ありますよね。特に大量に画像データがある場合は必要な技術だと思います。色々なやり方があると思いますが、ここでは僕がよく使うやり方を説明したいと思います。

##このような連続の番号の画像を用意します。
1.png

##Mark7 画像の連続の読み込み

#include <opencv2/opencv.hpp>
#include<iostream>

#if _DEBUG
#pragma comment(lib,"opencv_world430d.lib")
#else
#pragma comment(lib,"opencv_world430.lib")
#endif;;

using namespace cv;
using namespace std;

int main()
{
	Mat img;

	for (int n = 1; n < 11; n++) {
		string filepas = "C:\\Users\\abc\\Desktop\\aaa\\" + to_string(n) + ".png";
		img = imread(filepas);
		imshow("a", img);
		waitKey(0);
	}

	

	return 0;
}

######解説①

for (int n = 1; n < 11; n++)

まずfor文で何枚の画像があるのかとnが何の数字なのかをここで決めます。

######解説②

string filepas = "C:\\Users\\abc\\Desktop\\aaa\\" + to_string(n) + ".png";

次にstringを使いfilepasを宣言します。filepasでなくても名前は何でもいいです。そこに画像までのパスを入れます。そして画像の名前の違うとこだけをto_string(n) でfor分の数字になるようにして、最後に""の中に画像の拡張子を入れてやればOKです。これで連続での表示はできると思います。

##Mark8 画像の連続の保存

#include <opencv2/opencv.hpp>
#include<iostream>

#if _DEBUG
#pragma comment(lib,"opencv_world430d.lib")
#else
#pragma comment(lib,"opencv_world430.lib")
#endif;;

using namespace cv;
using namespace std;

int main()
{
	Mat img;

	for (int n = 1; n < 11; n++) {
		string filepas = "C:\\Users\\abc\\Desktop\\aaa\\" + to_string(n) + ".png";
		img = imread(filepas);



		string filepas1 = "C:\\Users\\abc\\Desktop\\ccc\\" + to_string(n) + ".png";
		imwrite(filepas1, img);
		imshow("a", img);
		waitKey(0);
	}

	

	return 0;
}

######解説①

せっかくなので先ほど読み込んだ画像をファイルに保存していきます。
ほとんどさっきと同じですが、次はimwriteにパスであるfilepas1を入れて先に読み込んでいたimgを保存するようにしましょう。

 imwrite(filepas1, img);

このように保存できていればOKです。
6.png

##最後に
そんなに難しくないと思うのでぜひやってみてください。ただ今回紹介したのはあくまでも連続の番号になってる画像に限ります。もしそうじゃないならちょっと複雑になると思うので頑張って下さい。
最近、藤井風にはまってます。とってもいいアーティストなので聞いてみてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?