質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

91.25%

  • OpenCV

    674questions

    OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

  • 機械学習

    314questions

    機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

creatsamplesの撮影画像を用いた正解画像の作成

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 52

uriuri

score 8

プログラミング初心者です
creatsamplesを用いていくつかの画像を加工し数千枚用いた機械学習は精度が悪かったので、加工せずに数多くの画像を集め機械学習を行おうとしました
こちらのサイトを参考にさせていただきました
https://qiita.com/Jey/items/334d143767aabfdc4145

object-markerで生成したアノテーションを利用し、正解データのvecファイルを生成する際にvecファイルが作れずエラーが出てしまいます
試しに1つの画像をobject-markerで位置座標などだし正解データのvecファイルを生成できるかやってみました

opencv_createsamples.exe -info ./pos/i.txt -vec ./vec/ine.vec -num 4 -bgcolor 255 w- 24 h- 24
Info file name: ./pos/i.txt
Img file name: (NULL)
Vec file name: ./vec/ine.vec
BG  file name: (NULL)
Num: 4
BG color: 255
BG threshold: 80
Invert: FALSE
Max intensity deviation: 40
Max x angle: 1.1
Max y angle: 1.1
Max z angle: 0.5
Show samples: FALSE
Width: 24
Height: 24
Create training samples from images collection...
Unable to open image: ./pos/ii(1).jpg
OpenCV Error: Unknown error code -9 () in cvSetImageROI, file ..\..\..\modules\core\src\array.cpp, line 3011

i.txtの中身は
ii(1).jpg 4 183 146 25 42 143 176 25 41 211 145 23 45 132 153 21 39 

解決方法を調べましたがなにが原因かわからない状況です
教えていただけると助かります
よろしくお願いします

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

0

C++のOpenCVで同じようなコケ方をした人が居ました。
DrOffsetさんの答えを書いていきます。

・アドレスはあっていますか?

Что это там такое перед /home? Мусор какой-то. Я думаю дело в этом.

uriuriさんの場合ですと、./pos/の前の部分がどうなっていますか?日本語のような二バイト文字や半角スペースが入っているとうまく読み取れない恐れがあります。

・i.txtの中身は大丈夫ですか?

Ну так а файл-то такой есть?

uriuriさんの場合ですと、ii(1).jpgとなっていますので、ファイルの位置が相対参照でどこを参照しているのかがOpenCVとObjectMarkerとで食い違っている恐れがあります。面倒ではありますが、こういう場合は絶対参照に書き換えるとうまくいったりします。実際キリル文字の回答では絶対参照が使われていますね。

・BOM?

Это похоже на UTF-8 BOM. Сохраняй файл без BOM.

もし、п»ї/home/pi/Desktop/Haar/Good/G85551.bmp 1 0 0 40 93のような感じで、行の先頭に、їが付いているとUTF-8のBOMがくっついている可能性があるようです。uriuriさんの場合には、ii(1).jpg 4 183 146 25 42 143 176 25 41 211 145 23 45 132 153 21 39ですので、もし、i(1).jpgiがくっついてしまってii(1).jpgになったのでなければ、今回の場合はBOMは関係なさそうですね。また、

Сохраняй в ANSI, если через блокнот.

だそうですので、メモ帳を使う場合にはANSIを指定して保存してください。


追伸)
whの引数の指定を直した方が良いと思います。これでこけていたかもしれません。

  • 修正前
    opencv_createsamples.exe -info ./pos/i.txt -vec ./vec/ine.vec -num 4 -bgcolor 255 w- 24 h- 24

  • 修正後
    opencv_createsamples.exe -info ./pos/i.txt -vec ./vec/ine.vec -num 4 -bgcolor 255 -w 24 -h 24


キリル文字で怪しい感じですが、元記事のURLのファイル:Picture Cropperを使うのもありかもしれませんね。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/12/19 17:24

    いろいろ試したところ
    posの画像の名前がii (1).jpgとなっておりスペースを取り除いてみたところそれが原因でした
    画像、リストファイルどちらともii(1).jpgにしたところ大丈夫でした
    逆にスペースを用いた画像とリストファイルで試したところ読み込む際にエラーがでるようでした

    ご相談ありがとうございました

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

ただいまの回答率

91.25%

関連した質問

  • 受付中

    OpenCVで動画の読み込みがうまくできません。

    以前別のプログラムで動画の読み込みができましたが、今現在取り組んでいるプログラムではうまくいきません。 言語はC++でopencv2.4.9を使用しています。 Os windo

  • 受付中

    OpenCVで動画の読み込みがうまくできません。

    以前別のプログラムで動画の読み込みができましたが、今現在取り組んでいるプログラムではうまくいきません。   言語はC++を使用しています。  ・ソースコード  ヘッダファ

  • 解決済

    byte配列のcv::Matへの画像変換

    byte配列に格納している画像データをMatに画像配列として保存します。この時、cv::imdecodeを使用しています。その後に画素値の変換をかけてcv::imencodeで再び

  • 解決済

    OpenCV for UnityでwebCamTextureToMatできない

    OpenCV for Unityを使ってウェブカメラの画像をいじろうとしているのですが、WebCamTextureをMatに変換しようとするときに出るエラーが解決できずにいます。

  • 解決済

    opencvでの画像の回転

    opencvを用いて読み込んだ画像の回転を行っています。 以下のプログラムで画像の回転を行い実行できたのですが、 画像が回転し、元の画像の場所が黒く表示されるのが気に入りません

  • 解決済

    OpencvをGoで動かし、人体検出をしたい。

    opencvで人検出をしたいのですが、検出することができていません。 顔検出はできたのですが、人ができていません。 エラーメッセージは OpenCV Error:

  • 解決済

    ファルダ内の画像を読み込むときNoneが返ってくる問題について

    opencvでファルダ内の画像を読み込もうとしたら、Noneが返ってくるのですが、なぜなのでしょうか? ちなみに、ファルダのパスは間違っていません。 for i in os

  • 解決済

    OpenCVのImportエラー

    前提・実現したいこと Tensorflowを使ってPythonで画像分類のプログラムを実行しようとしています。openCVを実行するところで画像がうまくインポートできていないのかエ

同じタグがついた質問を見る

  • OpenCV

    674questions

    OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

  • 機械学習

    314questions

    機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。