前提
visual studioで画像処理に入力画像(カラー)とトライマップ画像を利用して前景画像の切り抜きを行っています。
そこで、コマンドプロンプトからコマンドライン引数を指定して、visual studioで読み込むことができると知りました。
しかし、コマンドライン引数を用いて画像処理を行っているサイトがなかなか見つからず、作業が思うように進みません。
分かりにくい文章になってしまい、申し訳ございません。
実現したいこと
入力画像(カラー)とトライマップ画像をコマンドライン引数を用いて参照したい。
どのようにしてコマンドプロンプトで画像ファイル名を指定すればvisual studio内で参照できるようになりますか?
該当のソースコード
C++
1//コードが長いため一部だけ載せさせていただきます。 2if (argc != 4) 3 { 4 cout << "Usage: ProjectMatting.exe input.png trimap.png output.png" << endl; 5 return -1; 6 } 7 8 string img_filename = argv[1]; 9 string trimap_filename = argv[2]; 10 string output_filename = argv[3]; 11 Mat img = imread(img_filename, cv::IMREAD_COLOR); 12 Mat trimap = imread(trimap_filename, cv::ImreadModes::IMREAD_GRAYSCALE);
で、何がしたいのでしょうか?
もしかして画像を表示したいってことですか?
それなら無理です。
Visual Studioは単なる開発するためのソフトです。コンパイラやエディタが一つになったやつです。
EXCELだけで人間を作るようなものです。物理的に無理。
これってC++だけでやってるんですよね?Windows APIとかは使ってないんですよね?無理です。
参考
https://f-penguin.hatenablog.jp/entry/2016/06/07/192014
ただし、OpenCVでは、画像ファイル名やパスに日本語が含まれてるとダメだと思います
(pythonではダメなので、たぶんc++でもダメだと思います)
VisualStudioはC++の開発環境であるだけで、それが画像を表示する訳ではありません。「VisualStudioで作成したC++のプログラムで、デバッグなどの実行時にコマンドプロンプトの様なターミナル上でコマンドラインの引数で画像ファイルを指定するにはどうしたら良いのでしょうか?」との様なご質問内容なのでしょうか。
起動時にファイルパスを引数として渡したいのであえば、以下が参考になると思います(VisualStudioのバージョンによってUIが違いますが、同じことは可能なはず)
ファイル名が毎回変わるのであれば、別の方法を考えた方が良いと思います。
https://www.ipentec.com/document/visual-studio-set-command-line-arguments-in-debug-application
>>VisualStudioで作成したC++のプログラムで、デバッグなどの実行時にコマンドプロンプトの様なターミナル上でコマンドラインの引数で画像ファイルを指定するにはどうしたら良いのでしょうか?
勉強不足で申し訳ございません。dodox86様の仰るとおりです。
とりあえず基礎からやりましょう。
回答3件
あなたの回答
tips
プレビュー
