前提
GitHub上のコードを実行していて、疑問点が出てきたので質問させていただきます。
該当のソースコードを見ると、argvがargv[3]まで記述されているのですが、引数で渡すであろう画像ファイルが2つまでしか用意されていませんでした。この場合、最後のoutput_filename(argv[3])には何も指定しなくても良いのでしょうか?
目的のGitHubは前景画像の切り抜きを行うものです。
該当のソースコード
C++
1if (argc != 4) 2 { 3 cout << "Usage: matting.exe input.png trimap.png output.png" << endl; 4 return -1; 5 } 6 7 string img_filename = argv[1]; 8 string trimap_filename = argv[2]; 9 string output_filename = argv[3]; 10 Mat img = imread(img_filename, cv::IMREAD_COLOR); 11 Mat trimap = imread(trimap_filename, cv::ImreadModes::IMREAD_GRAYSCALE);
しなくてもプログラム通りには動作するのでは。
調べたこと、試したことを質問に追記してください。
https://teratail.com/help/question-tips#questionTips11
> 戻り値-1を返す状態です
いや、画像を見る限りでは-1が返されているようには見えません。
コード的には「コマンドライン引数の数が指定数でないなら、入力例を出して-1を返す」となっていますが、画像にはコマンドライン引数の例がありません。
予想としては「基礎ができていないため、使い方自体が間違っている」辺りじゃないかと。
やっぱり使い方が間違っているとかでしょうね。
すみません。『戻り値』ではありませんでしたね。
画像消されているけれど・・・
「コマンドプロントに入力した状態です。」として貼り付けてあった画像は
エラー表示なども無くコマンドプロンプトの入力が戻ってきているので
作業が成功していませんかね。
元の質問から多分離れていってません?
なんとなく違うような気がする…
回答3件
あなたの回答
tips
プレビュー