dポイントプレゼントキャンペーン実施中!

はじめまして。
初投稿です。

OpenCVで
http://opencv.jp/opencv2-x-samples/usage_of_spar …
上記プログラムをそのままVisual Studioでコンパイル・実行をしています。

「Invalid Image name」と表示され、実行できません。
どなたか解決方法を教えていただけないでしょうか。
よろしくお願いします。

A 回答 (2件)

それなら


lenna.png を C:\にコピーして
Mat image = imread("C:\\lenna.png");
とフルパスで指定するとか。
これでうまくいくようなら、ファイルの置き場所がわるいだけですし
これでも上手くいかないなら、lenna.png自体が壊れているかなんかで読み込めないのではないでしょうか
    • good
    • 0

サンプルの該当箇所を見ます



> Mat image = imread("lenna.png");//input image
> if(image.empty())
> {
> cout<<"invalid image name"<<endl;
> return -1;

その表示があるのは、 image.empty()が真の時です。
imageはMatクラスのインスタンスで、リファレンスマニュアルから、emptyはデータが空だということを表わすことがわかります。
そのimageは imreadの戻り値です。imreadのリファレンスマニュアルを読むと、画像読み込みに失敗すると、空のMatを返すことがわかります。

以上から、imreadが失敗していることがわかります。
imreadで指定してるファイル「lenna.png」が無いか、実行時ディレクトリ(VisualStudioで特に設定してなければ、コンパイルしてできたexeファイルと同じになってるはず)に置いていないか、だと思われます。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
しかし、どちらも条件を満たしているみたいです。
結果は、変わりませんでした。

お礼日時:2011/07/11 14:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!