前提・実現したいこと
画像を連番で読み込み、階調を反転させて出力したい。
発生している問題・エラーメッセージ
処理結果の保存の箇所で「アクセス違反が発生しました」となってしまうのですが、そのエラーを解決できません。ご教授のほどよろしくお願いいたします。
該当のソースコード
C++
#define _CRT_SECURE_NO_WARNINGS #define _USE_MATH_DEFINES #include<iostream> #include<cmath> #include<opencv2/opencv.hpp> using namespace std; using namespace cv; string win_src = "src"; string win_dst = "dst"; int main() { for (int i = -40; i <= 40; i += 10) { string file_src = "aout" + to_string(i) + ".pgm"; // 入力画像のファイル名 string file_dst = "test" + to_string(i) + ".pgm"; // 出力画像のファイル名 Mat img_src = imread(file_src, 0); // 入力画像(グレースケール)の読み込み Mat img_dst; if (!img_src.data) { cout << "error" << endl; return -1; } int x, y; for (y = 0; y < img_src.cols; y++) { for (x = 0; x < img_src.rows; x++) { img_src.at<unsigned char>(y, x) = 255 - img_src.at<unsigned char>(y, x); } } imwrite(file_dst, img_src); // 処理結果の保存 waitKey(0); // キー入力待ち } return 0; }
まだ回答がついていません
会員登録して回答してみよう