1 :デフォルトの名無しさん2010/04/19(月) 23:20:56
OpenCVとはインテルが開発・公開しているオープンソースのコンピュータビジョン向けのLinux/Windows向けC/C++ライブラリです。

実装分野は
・ユーザーインターフェイス
・物体分離
・セグメンテーションと認識
・顔認識システム
・ジェスチャー認識
・モーショントラッキング
・感情モーション
・モーション理解
・モーションからの構築(SFM)
・モバイルロボティクス
前スレ
【Intel】OpenCV総合スレ【画像処理】2
http://pc12.2ch.net/test/read.cgi/tech/1230511656/l50

関連リンクなどは
>2-10くらい
2 :名無し募集中。。。2010/04/19(月) 23:24:41
【関連スレ】
画像処理 その12
http://pc12.2ch.net/test/read.cgi/tech/1247100724/l50

【関連リンク】
OpenCVメモ - PukiWiki
ttp://nautilus.cs.miyazaki-u.ac.jp/~yoshi/pukiwiki/index.php?OpenCV%A5%E1%A5%E2
FrontPage - OpenCV@Chihara-Lab.
ttp://chihara.naist.jp/people/2004/kenta-t/OpenCV/pukiwiki/
OpenCV による画像処理
ttp://www-cv.mech.eng.osaka-u.ac.jp/~hamada/openCV/
OpenCVをVisual Studio .NETで使う
http://luvtechno.net/h/?OpenCV

米インテルが,コンピュータによる視覚認識ソフトの新版「OpenCV 2.1」を公開
http://itpro.nikkeibp.co.jp/free/ITPro/USNEWS/20011212/5/
4 :名無し募集中。。。2010/04/19(月) 23:28:52
申し訳ない
>>2 の殆どがリンク切れだ
6 :デフォルトの名無しさん2010/04/20(火) 09:33:06
>>2
リンク切れ削除しておいたから
テンプレ変更してね



【関連スレ】
画像処理 その12
http://pc12.2ch.net/test/read.cgi/tech/1247100724/l50

【関連リンク】
OpenCVをVisual Studio .NETで使う
http://luvtechno.net/h/?OpenCV

米インテルが,コンピュータによる視覚認識ソフトの新版「OpenCV 2.1」を公開
http://itpro.nikkeibp.co.jp/free/ITPro/USNEWS/20011212/5/

【良書】
Amazon.co.jp: 詳解 OpenCV ―コンピュータビジョンライブラリを使った画像処理・認識
Gary Bradski, Adrian Kaehler, 松田 晃一: 本
http://www.amazon.co.jp/gp/product/4873114136
8 :デフォルトの名無しさん2010/04/21(水) 07:27:38
オープンソースで、メインの開発者たちの所属はいろいろ
(IntelとWillow Garageが多いみたいだけど)だから、
○○の会社が開発している!ってこたーないんじゃね?
11 :デフォルトの名無しさん2010/04/24(土) 08:05:16
白黒のpngファイルを読み込んで、全部のピクセルを調べて、もし色が白だったら、その座標を保存する、ってことがしたいんです。
Mat img = imread(filename, 0);
for(int i = 0; i < img.rows; i++){
for(int j = 0; j < img.cols; j++){
ここをどうやってかけばいいのでしょうか?
}
}

ちなみに画像はこれです
http://imagepot.net/view/127206379328.png
12 :デフォルトの名無しさん2010/04/24(土) 09:22:08
>>11
cvGet2Dじゃだめなの?
13 :デフォルトの名無しさん2010/04/24(土) 10:17:44
反転してマスクにするのはダメなの?
19 :デフォルトの名無しさん2010/04/24(土) 23:03:40
>>13

参考までにお聞かせください。
マスクにすると?ピクセルの座標が簡単に取得できるんですか?
できるとすると、どのような方法でしょうか?

今まで for文で回して 取得していたもので・・・。


あと、OpenCVって、IPPと違って 1bit カラーで画像を扱えませんよね。
メモリを多く使いますが、8bitグレースケールをマスクとして使うしかないですよね。
15 :デフォルトの名無しさん2010/04/24(土) 13:36:03
| a b c d |
| e f g h |
| i j k l |
と( x y z 1 )の転置の行列積が(u, v, 1)の転置になると考えて、式変形すると解けるよ
16 :デフォルトの名無しさん2010/04/24(土) 13:51:18
>>15
そうやって、変形してからどうやって解けばいいんでしょうか?
cv::Mat inv はつかえないですよね?
17 :デフォルトの名無しさん2010/04/24(土) 13:56:42
>>15
d, h, l を右辺に移せよ
18 :デフォルトの名無しさん2010/04/24(土) 14:51:11
>>17
あっ ほんとだ! 解けました

また話は変わるんですけど、今、複数のカメラの画像からの3D座標の再構築をやっているのですが、
手元に、それぞれのカメラの3×4のプロジェクションマトリックスはあるので、
あとは、画像のxy座標を上の式に入れて解いてやればワールド座標が求められるんですよね?
この考え方あってるんでしょうか?
20 :デフォルトの名無しさん2010/04/27(火) 18:47:23
haartraining.exe実行中に
Corrupt JPEG data:premature end of data segment
と表示されて止まってしまうのですが、
どなたか原因と対策分かる人いますか?
27 :デフォルトの名無しさん2010/04/28(水) 12:28:42
>>20
画像はcvLoadImageで読んでいるから
全部の画像をcvLoadImageで読み込むプログラム作ったら分かるよ。
21 :デフォルトの名無しさん2010/04/27(火) 22:26:38
[原因] データが壊れている
[対策] 正常なデータを使用する
22 :202010/04/27(火) 22:55:28
>>21
ありがとう。どのファイルが壊れてるか確認する方法はありますか?
画像ファイルが一万個ほどあります。エクスプローラでさっと見る限りは異常はなさげですが。
25 :デフォルトの名無しさん2010/04/28(水) 00:31:28
>>22
手動2分木探査をする。

1) ファイルの半分を別のフォルダに移動。
2) haartraining.exeを走らせる
3) エラーがあったら1にもどる
4) エラーが無かったら別のフォルダに移動してから2にもどる。

これを最後の1ファイルになるまで繰り返す。
23 :202010/04/27(火) 23:10:21
Jpegアナライザーというソフトを見つけました。
フォルダ内のファイルを一気に解析可能です。
24 :202010/04/28(水) 00:00:56
解析しましたがエラーは一つも検出されずでした。
まいったな。
26 :デフォルトの名無しさん2010/04/28(水) 08:19:43
gslはいろんな言語にインターフェイスあるのに
OpenCVはpythonしかないな
28 :デフォルトの名無しさん2010/05/02(日) 08:59:41
顔検出でいろんな画像で試してみたんだが
誤検出率があまりにもひどいな
びっくりしたわ
平坦な場所とかで検出してるし
せめて必ず正解を含んでるとかならまだしも
明らかな顔があっても拾わない事が多いな
29 :デフォルトの名無しさん2010/05/02(日) 12:55:37
設定が悪いんじゃねぇの
それでも酷いって言うならパターン自分で作るか
OpenCVに頼らず自分で実装すれば良い
取り合えずOpenCVに文句言うことでは無いと思う
31 :デフォルトの名無しさん2010/05/02(日) 22:50:59
顔検出。
数値を示してないから良い、悪いは何とも言えないが、そう思うなら自分で学習させた方が良いかも。
デフぉの学習画像てどっかで見れるのかな?
32 :デフォルトの名無しさん2010/05/03(月) 05:50:42
OpenCVよりいい顔検出ライブラリを作れる人がそこら中にいたら
とっくに作られているだろうからそれを使えばいいよ。



33 :デフォルトの名無しさん2010/05/03(月) 13:33:53
質問があるんだが、忌憚無い回答をお願いしたい

個人的にOpenCVは、個人や大学の研究レベルで使う物で、
データや処理の精度なんかを特定(固定)させて、それで望む結果を得るような感じだと思っている
(汎用的で且つ高精度な処理は出来ない)

しかし何を思ったのか、うちの”会社”の上層部がOpenCVを使って売り物を作ろう的な事を言い出したんだ…
例えば、WEBカメラで撮ってる映像から、登録したユーザー個人を認識してピックアップさせたいとか(顔認識を使う)
でライセンスとか特許とか調べ出して本気で使う気なんだ…

でOpenCVは画像処理の敷居を下げる為のライブラリで
商売目的で使うには精度が出ないと実験結果を交えて説明してるんだが、上と担当が全然分かってくれないんだ
俺の実験はわざと失敗する様にしてると言い張り、自分に都合が良い条件で実験実装して出来てる売り物になるの一点張りなんだ
(常に対象が正面を向いてる鮮明な動画を使ってるw)

もう担当じゃないし突き放しても良いんだが、この御時世に同じ”会社”で
そんな事で金と時間と人を使って欲しく無いので止めたいんだが…
俺が製品に対する精度を高く考え過ぎなんだろうか?
34 :名無し募集中。。。2010/05/03(月) 14:48:30
どこが質問なのか分からない件

デフォルトのOpenCVに出来なくても、その上に自分で作ったアルゴリズムを載せていけば
満足するまでレベルを上げていけると思うけどね
35 :デフォルトの名無しさん2010/05/03(月) 15:27:39
>>34
要領を得ない内容で申し訳ない
つまり、OpenCVで本格的な商用アプリやサービスを作るのは向かないと思いませんか?
って事

一応大学の院で画像処理を学んだレベルなんだが、OpenCVの判別認識系の処理は精度が低いと思っている
そして、そのライブラリ処理を使って独自の処理を構築するくらいなら、全て自社で開発すればクオリティや作業時間が一番になる筈
(OpenCVの仕様やらインターフェイスに引っぱられるなら使わない方がいいって思ってる)

OpenCVには画像処理の基本をすっとばしてライブラリ使うってイメージしか無いので…
(だから画像処理の敷居を下げる物としては優秀だと思う)

因みにOpenCVを使う事で作成時間的なアドバンテージを得たいとかの主旨ではないです
37 :名無し募集中。。。2010/05/03(月) 16:36:47
OpenCVで本格的な商用アプリやサービスを作るのは向かないと思いません。

>>34でも書いたけど、デフォルトのOpenCVでは商用アプリとして厳しいと思いますが
好きなだけOpenCVに上乗せしていけばいいと思います。
別の顔認識アルゴリズムを載せるのも良いでしょうし、笑顔検出だって欲しければ作ればいい。
OpenCVを使うことと、精度(検出率?)は関係無いと思いますよ。

> そのライブラリ処理を使って独自の処理を構築するくらいなら、全て自社で開発すればクオリティや作業時間が一番
顔認識を商品化するくらいなら、自社ライブラリがあるんじゃないのかな。
OpenCVから欲しいところを自社ライブラリに移植すれば解決だね(クオリティが上がるかは疑問ですが
# ライセンスの事は考えてないので、自分で調べて解決してください

よく解らんが、「OpenCVを使うことで失敗する」ではなく「OpenCVではない別の解決方法」を
上長に提言しないと採用されないのじゃないのかなー
36 :デフォルトの名無しさん2010/05/03(月) 16:33:00
openCVを使ったほうがクオリティやコストなど総合的に判断して合理的だと上層部は決断したんだろ
必ずしも間違っているとは言えないと思うが?
38 :デフォルトの名無しさん2010/05/03(月) 21:24:53

上の人も言ってるけど、OpenCV自体は画像処理の土台を提供してくれるものだと思います。
OpenCVの関数は大半がごく基礎的なもので、その上で、キャッチーな機能も実装されてる、ってかんじじゃないかな?
行列演算もフィルタ処理も色空間変換も、SSE化や並列化も全部一からやりたい、って場合もあるかもしれないけど、
あるもの使うのが良い場合もあるんじゃない。
Googleだって、ストリートビューの処理とかでOpenCV使ってるらしいですし。

あ、でもお金あるんだったらHALCONとかの方が簡単な場面も多いと思います。とくにFA用途などでは。
あとOpenCVの認識系の処理の精度が低いって言っているのは、何と比べた結果なのかちょっと気になりますね。
39 :デフォルトの名無しさん2010/05/03(月) 22:27:23
OpenCVを画像処理ライブラリとして使うのはいいと思うけど
顔検出のアルゴリズムをそのままは弱いよな。
真正面しか検出できないし。
40 :デフォルトの名無しさん2010/05/04(火) 15:41:43
つか、アルゴリズムの問題じゃなくて、でふぉで入ってる学習データが研究レベルのモノだってことなんじゃないの。
一般的な商用の画像認識ライブラリの学習データに使ったデータからすると、規模も質も比べ物にならないだろ。
顔認識などか難しいのは、アルゴリズムの実装じゃなくて、データ収集と学習処理時間への投資がかなりの規模になるってことなんじゃないか。
商用の場合、規模と質を背景に、高いライセンス料を取るわけだ。
41 :デフォルトの名無しさん2010/05/04(火) 16:29:17
画像の質?ってのは良くわからんが、
画像の量は、単に増えても過学習を引き起こすか、ペナルティで意味がなくなるだけなんじゃ?

なんか顔検出に話が偏ってるけど、そもそも頭抜けた検出率の商用ライブラリとか存在するの?
みんないったい何のソフトの話をしているんだろう・・・
ちょっとだけ斜め方向の検出率が良くなりました、とかそんなイメージ。
42 :デフォルトの名無しさん2010/05/04(火) 18:31:36
商用のライブラリは小手先の小細工みたいなので性能を底上げしているから
研究用のシンプルな作りのライブラリとは天と地の差になるってことかしら。

でもそれだと研究じゃまともな性能評価は出来ないってことになるような気もしないでも無い
43 :名無し募集中。。。2010/05/04(火) 18:47:50
ちょうどこんな記事が載っていた
1年で70億枚の顔写真をスキャンしたFace.comが顔認識APIを無料で一般公開
ttp://jp.techcrunch.com/archives/201005037-billion-scanned-photos-later-face-com-opens-up-to-developers/
44 :デフォルトの名無しさん2010/05/04(火) 21:26:24
>>43
APIつってもWEBサービスだね。
45 :デフォルトの名無しさん2010/05/05(水) 00:35:43
OpenCVをどのレベルまで使うかによるが
単に画像処理のサポートをするライブラリとしてみれば
精度もくそもない
46 :デフォルトの名無しさん2010/05/05(水) 10:01:12
http://developers.face.com/new-detector-demo/#faces/detect
これと比較すればどれだけクソか分かるだろ
47 :デフォルトの名無しさん2010/05/05(水) 10:13:31
>>46
すげ〜。 iPhotoもこれぐらい出来てほしいな。
57 :デフォルトの名無しさん2010/05/07(金) 01:35:41
>>46
画像ファイルのURL指定して検出させてみたら
これもそんなにOpenCVと変わらない
58 :デフォルトの名無しさん2010/05/10(月) 14:37:47
>>57
素でhaarだけやったものと比較したらかなり違うだろ
たぶんいろいろな探索結果を掛けてさらに絞り込んでるんだろうけど

ところで分類器の作り方がよくわからない
WindowsでGUIで動くサンプルを集めるツールとかないの?
画像指定して目的の場所を選択していって
一括でサンプルを生成してくれるみたいな
60 :デフォルトの名無しさん2010/05/10(月) 23:41:44
61 :デフォルトの名無しさん2010/05/12(水) 23:02:38
>>60
なんか理想と違う
62 :デフォルトの名無しさん2010/05/13(木) 12:58:19
48 :デフォルトの名無しさん2010/05/05(水) 10:25:28
凄いけど、最初に並んでる画像以外選択できないのは何でだろう?
50 :デフォルトの名無しさん2010/05/05(水) 17:08:06
それって、スターバックスとマクドナルドをコーヒーだけで比較するみたいなもんだよな。
51 :デフォルトの名無しさん2010/05/06(木) 01:24:11
開発したPCと別のPCで作成したアプリを実行する必要に迫られています。
実行環境にもopencvをインストールしなくてはならないのでしょうか?
現在、「error while loading shared libraries : libcv.so.1: cannot open shared object file : No such file or directory」
いうエラーで困っています。
実行するPCではadmin権限を持っていないので、opencvをインストールすることは難しいです。
開発環境がubuntu8.04、実行環境がcentOS5.2、コンパイラはg++を用いました。
よろしくお願いいたします。
53 :デフォルトの名無しさん2010/05/06(木) 04:57:39
>>51
ホームディレクトリにインストール
52 :デフォルトの名無しさん2010/05/06(木) 01:46:08
lddしてnot foundになってる共有ライブラリをコピーしてくればいいんじゃねっすか
55 :デフォルトの名無しさん2010/05/07(金) 00:47:46
けど俺が最初に買った自作の本はハンダでGOってやつだったよ
63 :デフォルトの名無しさん2010/05/13(木) 18:37:07
現在、PCに1.1、2.0、2.1が入っており、全てのパスを通しているのですが、これって問題無いでしょうか?
また、使用しているOpenCVのバージョンを表示させたり確認する方法ってありますでしょうか?
64 :デフォルトの名無しさん2010/05/14(金) 10:34:22
>58
ツールがすでにあると思うが
createsamples.exe
haartraining.exe
65 :デフォルトの名無しさん2010/05/15(土) 02:54:58
>>64
おまえが使ったことないのは分かった
66 :デフォルトの名無しさん2010/05/16(日) 19:42:56
顔検出といえば2.0から特徴量にLBPが追加されたが試した人いる?
67 :デフォルトの名無しさん2010/05/16(日) 23:14:21
freeBSD上でopencvを動かしています。
顔認識を行った後cvsaveimageを用いて画像をjpg形式で保存すると化けてしまいます。
壊れたCRTの画面のような画像になってしまいます。
bmp形式で出力したところ正常な画像でした。
ヘルプお願いいたします。
69 :デフォルトの名無しさん2010/05/17(月) 02:48:21
>>67
ImlImage *img = cvLoadImage("a.jpg", 1);
cvSaveImage("b.jpg", img);
のようなコードでも化けるのか確認した?
70 :デフォルトの名無しさん2010/05/17(月) 20:54:56
>>69
int
main (int argc, char **argv)
{
int i;
IplImage *src_img = 0, *src_gray = 0;

if (argc < 2 || (src_img = cvLoadImage (argv[1], CV_LOAD_IMAGE_COLOR)) == 0){
return -1;}
cvSaveImage(argv[2], src_img);

cvReleaseImage( &src_img );

return 0;}
としてやってみました。
化けてしまいました・・・。
71 :デフォルトの名無しさん2010/05/17(月) 22:55:28
>>70
libjpegかな
新しいの入れ直してみたらどうだろう

73 :デフォルトの名無しさん2010/05/17(月) 23:31:16
>>67
「F」reeBSD
74 :デフォルトの名無しさん2010/05/18(火) 22:09:37
70です。
opencvのインストールの際の./configureの吐く出力を見てみたところ
Image I/O ---------------------
Use libjpeg: no
となっていました。
/usr/local/libには
libjpeg.a
libjpeg.la
libjpeg.so
libjpeg.so.11
が存在します。どうすればUse libjpegをyesに出来るのでしょうか?
よろしくお願いいたします。
75 :デフォルトの名無しさん2010/05/18(火) 22:39:19
FreeBSD なら、Ports からインストールすればいいんじゃね?
どうしても自前でやりたいなら、configure にオプションか、cmake あたりじゃないかしら。
というかそれぐらい解決できないなら、おとなしくPorts使っとけ。
77 :デフォルトの名無しさん2010/05/19(水) 06:40:14
>>75
ルート権限が無い環境なんです・・。
80 :デフォルトの名無しさん2010/05/20(木) 01:28:33
>>77
root無しでもPorts使えるよ。
/usr/ports/Mk/bsd.port.mk あたりに説明あるから、適当に環境変数変えてやってみるといいよ。
スレ違いスマソ
76 :デフォルトの名無しさん2010/05/18(火) 23:20:52
windowsでアプリ起動時に、ダイアログが開きリストボックスから
使用したいカメラを選択してから使用するソフトを作りたいのですが
OpenCVにusbカメラ名を取得する関数とかありますか?
cvCaptureFromCAMのindex番号とかから取得できる関数がないかなと
opencv.jpでhighguiの関数を見てみたんですがそれらしきものはありませんでした。
winのapiを使うとかしか方法はないのでしょうか?
よろしくお願いします。
78 :デフォルトの名無しさん2010/05/19(水) 16:19:53
>>76
videoInputってライブラリ使えばできる。opencvの機能ではないけど。
iplimageの取得まではvideoinputでそれ以降の処理はopencvでやればOK
79 :762010/05/19(水) 22:02:36
>>78
ありがとうございます。
方法の糸口すら、見えてなかったので感謝です。
83 :デフォルトの名無しさん2010/05/25(火) 00:56:10
OpenCVの関数って
Cで素朴に書いたものよりはるかに高速なんだけど
なんであんな速いの?
マシン語でも混じってるの?
91 :デフォルトの名無しさん2010/05/26(水) 20:27:41
人が正面を向いて映っている画像があり、その画像が回転してしまっているとき(カメラを横に向けて撮影した場合など)
これを正立状態に直したいと考えています。(頭がちゃんと上を向く向きに直したい)
画像がどっちに回転してるか(頭が左を向いてるのか右を向いてるのか)を知る方法ってあるのでしょうか?
92 :デフォルトの名無しさん2010/05/26(水) 20:47:07
画像を回転させながら
まっすぐな顔しか検出できない顔検出(たとえばOpenCVの顔検出)で顔検出して
検出された顔が多い角度に投票するようにして最大値をとれば顔の角度が大体分かる。
94 :デフォルトの名無しさん2010/05/28(金) 18:24:51
当方win7の64bit版、vs2008を使用しています

http://lab.cntl.kyutech.ac.jp/~kobalab/nishida/opencv/01.html

上記のサイトにhaartrainingを行う場合、コンパイルし直す必要があると書いてあります。
しかしビルドしなおそうとしてもerror LNK2019が発生してしまい、ビルドができません。

ここでふと思ったのですが、現状のopenCV2.1verでもビルドし直す必要はあるのでしょうか?
必要がないならこのまま使ってしまおうかと思います・・。
95 :デフォルトの名無しさん2010/05/28(金) 20:35:14
>>94
情報が古い
必要ない
97 :デフォルトの名無しさん2010/05/31(月) 20:55:01
2.1を入れてフレームワークを作れなかったので、アンインストールしたいのですが、どうやればいいですか?
98 :デフォルトの名無しさん2010/05/31(月) 21:38:21
>>97
インストールしたフォルダにuninstall.exeがあったと思う
99 :デフォルトの名無しさん2010/06/01(火) 00:33:02
>>98
すみません。書き忘れたのですがMacです
100 :デフォルトの名無しさん2010/06/01(火) 01:41:48
MacでOpenCVの2.0を使っている方で、/usr/local/libに
libopencv_calib3d.2.1.1.dylib

などの2ファイル名に2.1.1が入ったものはありますか?これは2.1の残骸でしょうか?
101 :デフォルトの名無しさん2010/06/07(月) 20:02:40
初心者丸出しの質問で恐縮です。
OpenCVのサンプルのstereo_match.exeをcygwinで動かそうと
./stereo_match.exe left01 right01
と打ったら
OpenCV Error: Assertion failed (img.type() == CV_16SC1) in unknown function, file
..\..\..\..\ocv\opencv\src\cv\cvstereosgbm.cpp, line 824
と返されたのですが原因は何でしょうか?いろいろ調べたのですがわからずじまいです。
102 :デフォルトの名無しさん2010/06/13(日) 03:35:29
2枚の画像があったとき、それぞれのカメラ間の位置・姿勢(R, t)を求めたいのですが、どうすればいいでしょうか?

2枚の画像間のF行列はcvFindFundamentalMatで求められると思いますが、
そこから回転R, 並進tに分解はできるのでしょうか?
カメラはキャリブレーションされていません。

したいことはstructure from motion(SfM)のカメラ運動推定をしたいのですが…

よろしくお願いします。
103 :デフォルトの名無しさん2010/06/13(日) 08:21:57
cvDecomposeProjectionMatrix
104 :デフォルトの名無しさん2010/06/13(日) 11:58:02
103じゃ3次元復元はできない。
今のところF行列からのsfmで一番簡単かつ詳しいのが↓
http://www.suri.cs.okayama-u.ac.jp/~kanatani/papers/new2views.pdf

このアルゴリズムのF行列求めた後を自前で実装すればいい
ただカメラの配置に気をつけないとすぐに破綻するから要注意だ
105 :デフォルトの名無しさん2010/06/14(月) 02:05:10
>>103
>>104

ありがとうございました。
>>104さんの参考URL参考になります。
実装できるかわかりませんがやってみます。
106 :デフォルトの名無しさん2010/06/14(月) 22:52:41
F行列はOpenCVで計算できるから
4章の焦点距離を求めて
5、6章の回転、並進から3次元点を出せばいい
行列計算の順番を間違えなければできるはず
107 :デフォルトの名無しさん2010/06/15(火) 05:05:35
cvLoadImage 関数について質問させてください。

cvLoadImage関数を、main関数内から直接呼ぶ場合は大丈夫なんですが、
クラスを作り、その中のメソッド内で呼び出すと、実行時エラーが発生してしまいます。
(おそらく戻り値がおかしいか、空っぽ)
これはなんでなんでしょうか?
原因が分からず、今はしかたなく cvLoadImage関数を使っている関数を、
inline関数にして使っています。
108 :デフォルトの名無しさん2010/06/15(火) 18:56:52
>>107
クラスがおかしいんじゃね?
ソース見てみないと何とも言えない
109 :デフォルトの名無しさん2010/06/15(火) 22:50:27
うちでは普通に動くけどね >>107
環境もバージョンも書いてないので、状況はさっぱりわからんが
110 :デフォルトの名無しさん2010/06/16(水) 20:51:24
>>107
cvLoadImage (highgui) のバグを検索してみると:
https://code.ros.org/trac/opencv/query?component=highgui&summary=%7EcvLoadImage&col=id&col=summary&col=owner&col=type&col=priority&order=priority

こんなのが引っかかった (ちょっと大きいBMPを読み込みとクラッシュしたりする):
#370 (cvLoadImage crashes when loading HD - images as *.bmp) -- OpenCV -- Trac
https://code.ros.org/trac/opencv/ticket/370

このバグの条件に該当してるなら、コードを以下のように修正してOpenCVをビルドしてみると良いよ:
Changeset 3147 -- OpenCV -- Trac
https://code.ros.org/trac/opencv/changeset/3147
112 :デフォルトの名無しさん2010/06/18(金) 02:12:47
>>110
ビンゴです!ありがとうございます!
111 :デフォルトの名無しさん2010/06/17(木) 17:52:21
haar-like学習時に出てくる.vecの拡張子って何かで中身を編集できますか?

createsamples.exeで複数のimgデータを読み込んで、出力された複数のvecファイルのデータを統合したいのですが・・



113 :1112010/06/18(金) 14:46:13
追記です
vecファイルでなくても、ようは複数のbmpイメージから1つのvecファイルを生成したいのですが可能ですか?
例えば画像が7つあってそれぞれ1000パターンずつ合計7000のデータを1つのvecファイルにしたいです
284 :デフォルトの名無しさん2010/12/09(木) 17:26:24
>>111
>>113
のようなことをしたいんですが、コマンド等やり方教えてください
116 :デフォルトの名無しさん2010/06/22(火) 18:37:09
前スレにも同じような質問がありましたが、
haartrainingとcreatesamplesに用いる背景画像(ネガ画像)についての質問です。
現在顔ではなく、顔以外の物体認識を考えているのですが

・背景は一定ではないが同じような背景(場所は違うが常にコンクリートの上 など)

この条件の場合
1.createsamplesに使う背景はコンクリートを使うべきか、なんでもいいのか、使わない方がいいのか
2.haartrainingに使うネガティブ画像も同様に考えていいのか?
3.haartrainingに使うネガティブ画像のサイズはポジ画像を-w 24 -h 24で設定した場合
 24*24のサイズがあれば十分なのか

について意見を聞きたいです。
とくに3に関して1枚の画像から小さなネガ画像を大量に作れるか否かで全然変わってくるのでお聞きしたいです。

またもう1つ疑問なのですが、haartrainigでネガ画像枚数を仮に300と指定した場合、
こちらで指定したtxtに画像が10個しかない場合と500個指定されてる場合、どういう動作をしてるのでしょうか?

予想では10個の場合はネガ画像10個指定と同じ処理がされ、500の場合は上から300個の画像を取り出して学習してると考えているのですが・・。

以上長くなってしまってすみません。
117 :デフォルトの名無しさん2010/06/22(火) 20:48:50
>>116
本当にコンクリートの上でしか使わないならコンクリートでいい
ただゴミが落ちてたり草が生えていたり段差があったりと
明暗の変化がある画像を使わないと意味ない
ネガは大きな画像を指定してhaartraining側で切り出して使うので
大きな画像をたくさん用意したらいい
詳細はソースコード読め
124 :デフォルトの名無しさん2010/06/23(水) 16:07:44
>>117
ありがとうございます
ついでにhaartraining中のBACKGROUND PROCESSING TIMEがステージ数が増えるごとにどんどん
倍化してしまったのでソース見直してきますorz
119 :デフォルトの名無しさん2010/06/23(水) 00:08:44
どこにcvQueryFrameの戻り値を解放していいなんて書いてあるんだ?
121 :デフォルトの名無しさん2010/06/23(水) 01:50:48
リファレンスマニュアルに「返された画像は,ユーザによって解放されたり変更されたりするべきではありません.」と書いてある。
125 :デフォルトの名無しさん2010/06/23(水) 21:03:11
動画の任意フレームにアクセス出来るようになってくんねーかな
126 :デフォルトの名無しさん2010/06/23(水) 21:16:46
>>125
cvSetCaptureProperty
127 :デフォルトの名無しさん2010/06/25(金) 13:16:19
windows7 64bitでvs2010exを使ってます。
opencv2.1をtbb付きでc-makeでコンパイルして使おうとしてるんですが、以下のようなエラーが出ました。
プログラムは以下のサイトのサンプルです。
ttp://imagingsolution.blog107.fc2.com/blog-entry-149.html
32bitのPCでは同様の手順で実行できました。
どうすれば解決できるでしょうか。

1>------ ビルド開始: プロジェクト: OpenCV20Sample, 構成: Debug x64 ------
1> OpenCV20Sample.cpp
1>c:\opencv-2.1.0\include\opencv\cxmat.hpp(100): fatal error C1001: An internal error has occurred in the compiler.
1> (compiler file 'f:\dd\vctools\compiler\utc\src\p2\wvm\mdmiscw.c', line 2704)
1> To work around this problem, try simplifying or changing the program near the locations listed above.
1> Please choose the Technical Support command on the Visual C++
1> Help menu, or open the Technical Support help file for more information
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
128 :デフォルトの名無しさん2010/06/26(土) 15:24:03
前にOpenCV-2.1.0-win32-vs2008.exe落として2010をreleaseモードにしたら動いた
結局2008に戻したけど
130 :デフォルトの名無しさん2010/07/01(木) 11:25:15
opencv 2.1なんだけどひょっとしてパーティクルフィルタ(cvConDensation)って消えた?
2.0まではあった気がしたんだけど・・・
132 :デフォルトの名無しさん2010/07/03(土) 00:00:20
>>130
今ちょうど同じ質問しようと思ってた所だ
未来の俺ありがとう
133 :デフォルトの名無しさん2010/07/05(月) 17:56:30
haartrainingで4000枚の正解画像と2000枚の非正解画像を用いて学習させているのですが、

+----+----+-+---------+---------+---------+---------+
|2850| 27%|+|-25.646017| 0.995070| 0.962694| 0.394669|
+----+----+-+---------+---------+---------+---------+
|2851| 28%|-|-25.264372| 0.995070| 0.962694| 0.394830|
+----+----+-+---------+---------+---------+---------+
|2852| 29%|+|-25.438967| 0.995070| 0.963731| 0.394507|
+----+----+-+---------+---------+---------+---------+



Stage7が半日立っても終わりそうにありません。これって普通ですか?
32*32の画像に対して、-h 31 -w 31とやったのがまずかったのでしょうか
135 :デフォルトの名無しさん2010/07/05(月) 18:16:32
28×28が9時間で終わったんですが精度が悪かったので大きくしてみました。まさかここまで時間かかるとは・・・

hitrateがずっと0.995070、falsealarmもずっと0.96前後であまり変化していなくて、
正直終わるかどうか不安ですがもう半日様子見てみます!
137 :デフォルトの名無しさん2010/07/06(火) 19:31:13
cvFindhomographyを実行しても、ちゃんとした値が結果を格納するCVMatに入ってきません。
ソースコードを見返して原因となるようなものは改善してみたんですが。。。
OpenCV2.1による不具合の可能性とかはあるんでしょうか。
139 :デフォルトの名無しさん2010/07/07(水) 11:38:19
OpenCV-2.1でmp4のFullHD動画を再生させると表示は4fpsぐらいになってしまいます。
ffmpegにvdpauを組み込んでビルドしても早くならないし
cvQueryFrame() でコーデック(h264_vdpau)の指定ってできない?
140 :デフォルトの名無しさん2010/07/07(水) 22:05:14
画像を縦横に何分割かしてパズルを作りたいんですけど、
openCVに画像を分割する関数ってありますか?
142 :デフォルトの名無しさん2010/07/08(木) 00:31:25
>>140
つまり、こんなのか?
http://opencv.jp/sample/initialization.html#shuffle
143 :デフォルトの名無しさん2010/07/08(木) 00:52:11
>>142
あぁこんなイメージです!
これで色々がんばってみます、どうもです!
144 :デフォルトの名無しさん2010/07/09(金) 08:13:19
口蹄疫のデマ検証サイトリンク集

宮崎の口蹄疫を時系列で確認
http://anond.hatelabo.jp/20100510214137
(一番まとまってるけどgoogle八分されてる 検証 http://testdonetest.blogspot.com/2010/06/google.html

2000年の自民党政権の口蹄疫への対応と、民主党の口蹄疫への対応を比較
http://anond.hatelabo.jp/20100511231152

口蹄疫対策に関する霞ヶ関の「中の人」のつぶやきまとめ
http://togetter.com/li/19383

他の関連情報
http://anond.hatelabo.jp/keyword/%E6%82%A3%E7%95%9C

赤松広隆農水相の「外遊ゴルフ報道」TBS局内で懲戒処分
http://sankei.jp.msn.com/economy/business/100605/biz1006051059003-n1.htm
http://mac.blog.so-net.ne.jp/2010-06-05-1

消毒液横流しの検証
http://togetter.com/li/20461
http://togetter.com/li/20520

口蹄疫を出した農家が自殺
http://b.hatena.ne.jp/entry/twitter.com/matsudatsumugu/status/14293440599
http://twitter.com/mk00350/status/14300839015

145 :名無しさん@そうだ選挙に行こう2010/07/11(日) 20:44:45
質問です。
OpenCVを使って、ボタンをクリックすると、ダイアログ内のIDC_STATIC_BMPにカメラから取得した動画を転送したいのですが、
動画を静止画の連続と考え、下記の様なコードを組みました。指定したダイアログ内のIDC_STATIC_BMPに描画は出来ましたが、
ダイアログが固まってしまいます。
 そこで、固まらない様にする為にはどのようなコードを書けば良いのかアドバイスを頂きたいと思って質問しました。
環境:visual studio 2008 , windowsxp, OpenCV 1.0, MFCです。 よろしくお願いします。

void hoge::OnBnClickedCaptureMove()
{
int key;
CvCapture *capture;
IplImage *frameImage;
// メインループ
while ( 1 ) {
//カメラからの入力画像1フレームをframeImageに格納する
frameImage = cvQueryFrame( capture );
CDC *pDC = GetDlgItem(IDC_STATIC_BMP)->GetDC();
HDC hDC= pDC->GetSafeHdc();
CRect rect;
GetDlgItem(IDC_STATIC_BMP)->GetClientRect(&rect);
CvvImage cimg;
cimg.CopyOf(frameImage);
cimg.DrawToHDC(hDC,&rect);
ReleaseDC(pDC);
key = cvWaitKey( 1 );
if ( key == 'q' ) {
break;
}
}
cvReleaseCapture( &capture );
}
146 :名無しさん@そうだ選挙に行こう2010/07/11(日) 21:45:11
>>145
Onなんとかの関数内でループしたら、ループしている間他のメッセージが処理されないので
ウィンドウの反応はなくなる。

OnInitDialog()あたりでSetTimer()して、
OnTimer()内でループ1回に相当する処理を書くのが普通。
147 :1452010/07/12(月) 04:44:58
>>146
アドバイスありがとうございます。

WM_TIMERを使い、ON_Timer()で記述してみましたが、描画された動画がカクカクなってしまいます。

SetTimerは50msに設定しています。

OpenCVのサンプルコードにあるような別窓を作って、そこにカメラから取り込んだ動画を再生するのではなく、
アプリケーションのダイアログ内に動画を再生出来ないかなと思っています。

何か他の方法はないでしょうか?
149 :デフォルトの名無しさん2010/07/12(月) 08:03:09
>>147
方針はそれでいい。タイマー間隔は50msじゃ長すぎるだろうけど・・・
小さくしてまだ滑らかにならないなら、描画処理に時間かかってるか、
カメラ設定でフレーム取得間隔がそもそも長いか。
timeGetTimeとかで処理時間調べてみたら。

それにしてもcvQueryFrame()がフレーム取得までブロックするかどうかとか、
フレーム取得せずしばらく放置したら次取得したフレームは何になるとか、
正確な解説がなかなか見当たらないのがもどかしい。
152 :デフォルトの名無しさん2010/07/14(水) 14:50:50
haartraining.exeの実行時の高速化について質問があります。
マシン構成は Windows 7 Professional 64bit
プロセッサはIntelCore2QuadCPU 2.4Ghz 2.39Ghzです。
RAMは8.00GBです。

haartraining.exe実行時に、-mem 5000 と5000MBのRAMを使うようにしたのですが、
タスクマネージャの、メモリ(プライベートワーキングセット)を見ると、
254,264K(この値のまま不動)しか使っておらず、約255MBしか使用しておりません。
更に、CPU使用率もほぼ25%のままです。もっと使ってくれないのでしょうか。

私の設定がメチャクチャ、ないしこうした方が良いというアドバイスがございましたら、是非教えていただけますか?


153 :デフォルトの名無しさん2010/07/14(水) 16:46:26
>>152
CPUが25%なのはOpenMPかTBBが有効になっていないからだと思う
コンパイルオプションで有効にしてコンパイルしなおすと100%使うようになる
(今のバイナリ版は有効になっていない?)

メモリは最大値だから必要になっていないだけじゃないかな
並列化してスレッドが増えると4倍に増えるかもしれない
154 :1522010/07/14(水) 17:47:59
>>153 さん ありがとうございます。

TBBを有効にするために
http://opencv.jp/opencv2-x-tips/install-on-windowswindows32bit-64bit-visual-studio-opencv21
の安定版をインストール(ソースから)の手順に従ってコンパイルしようと思います。
これでできたhaartraining.exeを使用すれば、TBBが有効になっているのですよね?

そして、申し訳ありません。メモリは最大値だから必要になっていないというのは、どういう意味なのでしょうか?
1スレッドで使える最大のメモリ量が255MBくらいだから、それ以上提供しても使えないんだよ という意味でしょうか?

理解が及ばず、お手数をおかけして、ごめんなさい。
157 :デフォルトの名無しさん2010/07/14(水) 19:51:13
>>154
指定する値が事前に計算しておく特徴ベクトルの最大数だからで
全部使いきるかはデータの量によると言いたかった

あと気になったのでhaartrainingのコードを見てみたけど
OpenMPしか対応が入っていないのでOpenMPを有効にしないと並列化できていないと思うわ
155 :デフォルトの名無しさん2010/07/14(水) 18:29:19
私の方でもTBB ONにしても25%しか使わず困っています・・・

そもそも附属のhaartraining.exeでマルチコアCPUを100%使い切る事ってできるんでしょうか??
コンパイルオプションの変更等のソース改変無しで、上記が出来ている方おりますか?
156 :デフォルトの名無しさん2010/07/14(水) 19:24:27
OpenCV 1.1のころOpenMPでやっていたときはQuadCoreでCPU100%(4コア)使っていた
メモリは32bitOSだったから2GBにしていたけど全部使っていた
TBBは使ったことないので分からない
158 :1522010/07/14(水) 20:58:56
なんか、OpenCVは2.1からOpenMPをTBBに移行しているらしいので、OpenMPを利用したCMakeができないらしいですね。
http://opencv-users.1802565.n2.nabble.com/Enable-openmp-missing-td4871327.html
Cmakeするときの、ENABLE_OPENMPのチェックボックスが存在しないので、不思議でしたがこれが原因らしいです。

haartraining.exeなどの為に、旧バージョンのopencvをコンパイルする必要があるのかなと思いました。
159 :デフォルトの名無しさん2010/07/14(水) 21:57:36
てか普通にVisualStudioのOPENMPを有効にしたら駄目なの?
160 :デフォルトの名無しさん2010/07/14(水) 22:10:21
もう使わないといいながらOpenMPが残ってるしhaartrainingはメンテされていないのかな
appsだから別扱い?

cvhaartraining.cppを見る限りでは
VisualStudioなら言語プロパティのOpenMPサーポートを「はい」にすればいいだけに見えるよ
CMakeはvcprojを生成しているだけでしょ
162 :1522010/07/16(金) 14:25:19
>>159,160
ありがとうございました。おかげ様でちゃんとCPUをフルに使ってhaartrainingができました。
蛇足かも知れませんが。ひょっとしたら同じ問題でつまずいている人が居るかも知れないので、一応記述しておきます。

1.OpenCV2.1をzipでインストールする。exeではなく。
http://opencv.jp/opencv2-x-tips/install-on-windowswindows32bit-64bit-visual-studio-opencv21
の言うとおりに、TBBのパス設定なども行う。CMAKEによるビルドも行う。
OpenCV2.1ではCmake時でのEnable_OPENMPというオプションが存在しないが、それで良いので安心する事。

2. >>160さんの言うように、VisualStudioでOpenMPサポートを「はい」に設定する。
http://note.sonots.com/SciSoftware/haartraining.html の How to enable OpenMPを参考にして、設定を行ってReleaseビルドを行う。
trainCascadeも多分やろうと思えばOpenMpを使う設定にできると思う。

3.haartrainingなどのリビルドが完了したら、Cmakeでビルドしたものを展開するフォルダ(buidとする)の中にあるbinフォルダのRelease
にあるhaartraining.exeを使う。更新日時がリビルドした日になってれば、多分リビルドが上手くいってます。


冗長なところもありますが、私はこういう手順でできました。
163 :デフォルトの名無しさん2010/07/18(日) 10:16:35
ttp://opencv.jp/sample/misc.html#color-sub

↑のサイトのプログラムを改造して
三つ目の新しいIplImage(二つ目のdst_imgより幻滅した)を作成したいの
ですが、どのようにいじれば良いでしょうか?
164 :デフォルトの名無しさん2010/07/18(日) 17:48:51
ちょっと日本語が分からないんだが、好意的に解釈して

新しくIplImageの変数、現在のdst_imgより減色した、を作成したいのだが、どこを弄れば良いか

クラスタリングが分かっていれば簡単だが、クラスタ数を変更してやれば好きな色数に変えることができる
MAX_CLUSTERSを弄ってみよう

例えば、
#define MAX_CLUSTERS 16
で16色に減色した画像が得られるだろう
165 :デフォルトの名無しさん2010/07/18(日) 20:31:36
>>164
即レスありがとうございます。
164さんが仰った感じにしたいのですが、どこで#define MAX_CLUSTERS 16
を書けば良いでしょうか?
168 :デフォルトの名無しさん2010/07/22(木) 11:58:18
グレースケールの動画から画像を取り出しているのですが、
cvCaptureFromFileで8Bitの動画ファイルを読み込んで
cvQueryFrameで画像を取り出すと24Bitになってしまいます。

IPL_DEPTH_8Uのイメージを別に用意して、毎回cvCvtColorで取り出した画像を変換してるけど、
直接8bitの画像として読み込む方法ってありますでしょうか?
(動画の読み込みで何も指定していないので、読み込んだ時点で24Bitに変換している気もしますが・・・)
169 :デフォルトの名無しさん2010/07/27(火) 20:10:28
>>168
cvcap_vfw.cppいじればできた気がする
170 :デフォルトの名無しさん2010/07/27(火) 21:15:09
まずグレースケールの動画形式があるのか
結局変換しているんじゃないの
171 :デフォルトの名無しさん2010/07/29(木) 15:17:11
haartraingin.exeで、後半になるとBACK_GROUNDPROCESSING TIME がOPEN_MPをONにしても物凄く長くて困っています。
CPUが25%しか、BACK_GROUNDPROCESSINGの時に使われないのですが(trainingの時はCPUをフルに使う)これは仕方のない事なのでしょうか?
172 :デフォルトの名無しさん2010/08/07(土) 22:55:03
OpenCVってPhotoshopのブラシ処理みたいなことはできるのでしょうか?
OpenCVは見た感じ画像に対して何かするためのSDKに思えるのですが。
174 :デフォルトの名無しさん2010/08/09(月) 00:26:26
OpenCVを使ってグーとパーの判別をしようとしてるのですが、、、
肌色から手だけを抽出することは出来たのですが、
半袖でも出来るよう、肌色の色を消したいのですがいい方法ありませんでしょうか?
176 :デフォルトの名無しさん2010/08/09(月) 02:16:54
手の先検出してそこ中心に判別領域指定とかは?
177 :デフォルトの名無しさん2010/08/09(月) 02:30:01
174です
すみません 腕の部分を消して手だけ抽出したい ということです。

>>176 ありがとうございます。 やってみます。
178 :デフォルトの名無しさん2010/08/09(月) 04:39:43
pythonインターフェイスはいつ安定するんだ
もうctypes-opencvでいいかと思うんだけど
179 :1712010/08/11(水) 01:18:15
haartraining.exeで、BACK_GROUNDPROCESSING TIME が OPEN_MPをONにしても長い問題で、自己解決したので報告します。
確か前にもこういった質問があったので、一応必要かなと思って。

結論から言えば、並列化できません。
cvhaartraining.cppでは、スレッドをパラレルにしてBACK_GROUNDPROCESSING TIMEの処理を行っていません。
私はこれを手動でパラレルに設定しましたが、学習がメチャクチャになってしまいマトモなものができなくなります。
ですから、BACK_GROUNDPROCESSING TIMEを縮めることは諦めてください…。残念ですが。
180 :デフォルトの名無しさん2010/08/11(水) 19:57:01
OpenMPはローカル変数が共有されるからよく考えて並列化しないとメチャクチャになる
そもそも分割しやすい問題とそうでない問題があってだな
181 :デフォルトの名無しさん2010/08/16(月) 14:25:35
直接opencvの質問ではなく恐縮なのですが
Discrite AdaBoostとGentle AdaBoostの違いについて詳しく乗ってる
本やHPなどありませんでしょうか?
探してもなかなか見つからなくて・・
182 :デフォルトの名無しさん2010/08/18(水) 07:09:05
環境はWindows XP SP3、 VS2005 PRO SP1 です、
opencv ライブラリを用いて作成した実行ファイルを配布したいので、配布先で
Microsoft Visual C++ 2005 SP1 再頒布可能パッケージ (x86) もインストールしてもらったのですが
「このアプリケーションの構成が正しくないため、アプリケーションを開始できませんでした。アプリケーションを再度インストールすることによって・・・・」
がでます、どうしたらいいでしょうか?
184 :デフォルトの名無しさん2010/08/18(水) 21:07:23
>>182
ランタイムライブラリをマルチスレッドDLLからマルチスレッドにすると幸せになれるかも?
183 :デフォルトの名無しさん2010/08/18(水) 13:16:08
お盆前に同様の状況を経験したがそのときは
DL&インスコしたOpenCV2.1がVS2008でビルドされたものなのが原因で
CVをCMakeでビルドし直して解決したが
2008の再配布パッケージを入れてもよかったのかもしれない
186 :デフォルトの名無しさん2010/08/28(土) 19:11:48
macへのインストールなのですが、cd opencvで実行すると

dlopen(/opt/local/share/macports/Tcl/macports1.0/MacPorts.dylib, 10): no suitable image found. Did find: /opt/local/share/macports/Tcl/macports1.0/MacPorts.dylib: mach-o, but wrong architecture while executing
"load /opt/local/share/macports/Tcl/macports1.0/MacPorts.dylib" ("package ifneeded macports 1.0" script)
invoked from within "package require macports" file "/opt/local/bin/port" line 39)
と出てくるのですが、これはインストールが成功しているということなのでしょうか?

すみませんが、回答よろしくお願い致します。
187 :デフォルトの名無しさん2010/08/31(火) 11:51:28
失礼します。
動画ファイルから全体の再生時間を取得したいのですが、うまくいきません。
cvSetCapturePropertyにてCV_CAP_PROP_POS_AVI_RATIOを1.0にすれば良いと思ったのですが、
その後cvGetCapturePropertyにてCV_CAP_PROP_POS_MSECの値を取得しても0が返ってきます。

現在はcvQueryFrameで全ての動画を読み込んでから時間を取得しているのですが、もっと効率の良い方法がありましたら教えてください。
よろしくお願いします。
188 :1872010/08/31(火) 16:36:10
自己解決しました。
CV_CAP_PROP_FRAME_COUNTでファイルのフレーム数を拾って、フレームレートを掛ければ良かったのですね。
189 :デフォルトの名無しさん2010/09/13(月) 17:03:49
pythonでcvGetAffineTransformやcvGetPerspectiveTransformの呼び出し方分かる人いますか?
引数のconst CvPoint2D32f*をpythonでどう渡せばいいか分からないです。
191 :デフォルトの名無しさん2010/09/22(水) 14:56:21
opencvを1.?から2.1に変更したら
オプティカルフロー(cvCalcOpticalFlowBM)にエラーが出るようになってしまいました。
http://edotprintstacktrace.blogspot.com/2009/10/cvcalcopticalflowbm.html
ココ見て直したけど、サンプルのペンギンじゃフローが出ません。

解決方法分かる方いたらお願いします。
192 :デフォルトの名無しさん2010/09/23(木) 12:09:07
haar_trainingが学習しても、
時間がかかり、かつ全く使えない件について
194 :デフォルトの名無しさん2010/09/26(日) 18:27:18
opencv と face.comのAPI とだったらどっちが認識能力高い?
195 :デフォルトの名無しさん2010/09/26(日) 19:07:08
>>194
そもそもそれを比較することが間違ってる
opencvは画像処理のライブラリ
197 :デフォルトの名無しさん2010/09/27(月) 01:42:57
>>194
face.com
ただface.comのAPIは回数制限がある
198 :デフォルトの名無しさん2010/09/27(月) 19:25:30
>>197
どこに書いてる?
199 :デフォルトの名無しさん2010/09/28(火) 13:31:42
200 :デフォルトの名無しさん2010/09/29(水) 21:52:50
OpenCV-2.1.0-win32-vs2008.exe
これインストールしてVC++2005でちゃんと動くの?
2008持ってないが
202 :デフォルトの名無しさん2010/10/01(金) 11:08:28
>>200
2008ee入れろ
今でもダウンロードできるよ
205 :デフォルトの名無しさん2010/10/02(土) 11:15:12
>>200
VS2005だと何もかもうまくいかん
zipのほうを解凍してCMake利用してソリューション作成でビルドするとエラーでるし
201 :デフォルトの名無しさん2010/09/30(木) 01:28:41
VS2005だと、VS2008以降で作られたライブラリにリンクできない問題がある。
VS2005にパッチ入れれば問題ないけど。
203 :デフォルトの名無しさん2010/10/01(金) 21:58:15
質問です。
captureFromAviでmpgファイルを開きたいのですが、返ってくるCvCapture*の中身が
空っぽでqueryframeを行っても画像が取れません。

多分コーデックの関係でファイルが開けていないと思うのですが、普通にメディア
プレーヤーでは中身が見れ、また未圧縮Aviファイルは当環境のOpenCVで開く事が出来ます。

どの様にしたら自分の環境でmpgが読み込めるのか、もし分かる方が居たら
教えていただけませんか・・・?

よろしくお願いします。

環境:64bit-Win7 VS2010 OpenCV2.1(x64用コンパイル)
206 :デフォルトの名無しさん2010/10/02(土) 13:22:47
>>203
cvCreateFileCaptureじゃだめなのかね
208 :デフォルトの名無しさん2010/10/02(土) 22:13:17
そういえば昔はffmpegあったのにVer上がって消えた?
ffmpegあればmpgも読み込めそうだけど
210 :2032010/10/06(水) 09:52:29
そうなんですよ、ffmpegが見当たらなくて・・・
3rdpartyの中にもffmpegが見当たらないので、なんかCmakeの時点で何かが足りてないと
思うんですが、如何せんそれっぽい項目がCmakeの段階で見当たらないんですよね。

もうちょっと色々弄ってみたいと思います。
ありがとうございましたm(__)m

212 :デフォルトの名無しさん2010/10/15(金) 19:33:02
>>210
interfacesの中にない?
211 :デフォルトの名無しさん2010/10/06(水) 17:11:58
昔はffopencv110.dllというファイルがパスにある場合に
そっち(ffmpegのインターフェース)で読み込むようになっていたが。
213 :デフォルトの名無しさん2010/10/16(土) 12:04:59
これはRGB取得はこんな感じだけど、(xとyは指定ピクセル)
B = img->imageData[img->widthStep * y + x * 3]; // B
G= img->imageData[img->widthStep * y + x * 3 + 1]; // G
R = img->imageData[img->widthStep * y + x * 3 + 2]; // R

HSVの取得は
cvCvtColor(img, img2, CV_BGR2HSV);でRGB→HSV変換してから、
RGBと同じように下のような感じでできますか?

H = img2->imageData[img2->widthStep * y + x * 3]; // H
S= img2->imageData[img2->widthStep * y + x * 3 + 1]; // S
V = img2->imageData[img2->widthStep * y + x * 3 + 2]; // V
215 :デフォルトの名無しさん2010/10/17(日) 01:30:13
>>213
できると思うけど、できなかったの
214 :デフォルトの名無しさん2010/10/16(土) 13:12:14
MatとVectorとPointを混在させる意味がわからんなぁ
さっさとMat一本に統一して欲しいもんだ
そもそも関数によって引数がPointだったりMatだったりするのがめんどうだ
216 :デフォルトの名無しさん2010/10/17(日) 02:25:05
Pointは画像上の点を表現するもので、
Vecはマルチチャンネルとかを表現するのが主目的なので
普通にベクトル使いたいんならMatでいい。

というか、面倒な局面がわからんのだが
217 :デフォルトの名無しさん2010/10/17(日) 13:14:44
そもそもMatとVectorとPointは全然違うだろ
Matは静的配列だしVectorは動的配列Pointに至ってはただの点
218 :デフォルトの名無しさん2010/10/17(日) 13:17:50
特徴点検出の出力はPoint、F行列や射影変換行列の入力はMat
これで面倒じゃないわけがない
219 :デフォルトの名無しさん2010/10/17(日) 13:31:44
>>218
それintとdouble混在しててめんどいからdoubleに統一しろって言ってるみたいなもんだぞw
220 :デフォルトの名無しさん2010/10/17(日) 14:19:20
vector<Point3f> vec;
Mat M = Mat(vec).reshape(1);

これが面倒?
221 :デフォルトの名無しさん2010/10/17(日) 14:24:50
>>219
その指摘は全然的外れだろ
Pointは2xNのMatで完全に置き換えることが出来るんだから

>>220
プログラム書くたびにめんどうだと思う
特徴点をPoint出力するなら、特徴点を入力とするF行列もPoint入力とするだろ常識的に
222 :デフォルトの名無しさん2010/10/17(日) 17:50:14
>>221
intもdoubleで置き換えられますが
223 :デフォルトの名無しさん2010/10/17(日) 18:34:34
intとdoubleはデータ型なんだからデータのコンテナであるPointとMatを比較すんな
キャリブレーションは入力がPointでF行列は入力がMatみたいに統一されてないのを不便だと思わない?
224 :デフォルトの名無しさん2010/10/22(金) 05:09:49
幅の違いをコンパイルエラーにしてくれる有難さを考えれば、多くの人は不満どころか感謝するだろう。
まあ文化の違いだよ。
225 :デフォルトの名無しさん2010/10/23(土) 16:42:03

すみません、質問させてください.
ConvexHull2した凸包の内側だけを同一色で塗りつぶしたいのですが、
findContoursで取得した輪郭を単純にfillConvexPolyしても上手く塗りつぶせないんです。
何か間違っているでしょうか?

227 :デフォルトの名無しさん2010/10/25(月) 21:00:14
Macにopencv入れようとしてるんですが、うまくいきません。
Error: Target org.macports.configure returned:
********************
cmake requires the Java for Mac OS X Developer Package from Apple.
Please download and install this package from http://developer.apple.com/.

と出るのですが何をインストールすればいいのでしょうか?
228 :デフォルトの名無しさん2010/10/28(木) 16:03:30
質問ですが,
Visual C++2008 expressionにOpenCV2.0を入れてOpenCVをつかってみようとしているんだけど, 入門書のサンプルプログラムにのっているIp1Imageっていう関数がヘッダファイルに定義されてなくて困ってます.
もしかして, この関数ってなくなったりしたの?
OpenCVのバージョンが違うからそこからわかんない.
229 :デフォルトの名無しさん2010/10/28(木) 16:14:12
>>228ですけど
IplImageでした
ごめんなさい
231 :デフォルトの名無しさん2010/10/30(土) 03:32:56
>>227
cmakeと書いてあるだろ
>>228
あるよ
highgui.hをincludeしてる?
233 :デフォルトの名無しさん2010/11/02(火) 04:00:50
>>228
IplImage、普通にバージョン2.1でも2.0でも使える。
1.0用のサンプルソースがそのまま2.1でも使えるし。
234 :デフォルトの名無しさん2010/11/02(火) 07:12:53
IplImageをIp1Imageって書いて>>229で解決したって事じゃないのか
230 :デフォルトの名無しさん2010/10/30(土) 02:05:14
haar_trainingの学習法にはコツがあってだな…
教師画像とチューニング次第でかなり改善する
235 :デフォルトの名無しさん2010/11/02(火) 14:03:49
cvCreateVideoWriter関数使ったら、こんなメッセージが・・・
どうしたらいいんだ

Compiler did not align stack variables. Libavcodec has been miscompiled
and may be very slow or crash. This is not a bug in libavcodec,
but in the compiler. You may try recompiling using gcc >= 4.2.
Do not report crashes to FFmpeg developers.
236 :デフォルトの名無しさん2010/11/02(火) 15:30:05
>>235
俺はVS使っててこれが出るんだがw
238 :デフォルトの名無しさん2010/11/03(水) 14:28:11
>>235
windows版の2.1から出るようになったのに海外サイト見ても誰も話題にしてないから不思議だったんだよな
自前でコンパイルしても解決しないし
239 :sage2010/11/04(木) 14:39:36
>>235
自分もCV_FOURCC('M','J','P','G')にすると出る。
でその後cvWriteFrameしようとすると落ちる。


かれこれ1カ月くらいこれで悩んでる・・・
241 :デフォルトの名無しさん2010/11/04(木) 19:41:48
>>239
2.0aはmotion jpegで書き出し出来る
なぜか2.1では落ちるようになった
242 :デフォルトの名無しさん2010/11/04(木) 21:51:51
>>241
動いたーーー!!!!
と思ったら絵が取れてない・・・
今度はcvDecodeImageが悪さしてるっぽいなぁ

それでも一歩前進したわ。ありがとう。
244 :デフォルトの名無しさん2010/11/10(水) 08:10:54
>>235
俺もいろんなコーデック入れて試したけど、上手くいかなかった
仕方ないから圧縮無しで動かしてる
264 :デフォルトの名無しさん2010/11/19(金) 08:50:00
>>239
リリースビルドだと例の文字列が出力されるけど
cvWriteFrameで落ちずに動画ファイルは作れてる
デバッグビルドだと落ちる
299 :デフォルトの名無しさん2010/12/26(日) 02:46:55
>>235
これ、Win環境で2.1だと必ずこうなる??
ずっと悩んでるんだけど、だれか解決できた人いないのかなー?
347 :デフォルトの名無しさん2011/01/11(火) 01:12:43
>>235
これ、cvCreateFileCaptureでも同じメッセージが出て読み込み出来なかった(´・ω・`)。
非圧縮aviかmpgなら大丈夫。

まあJavaCV経由だから参考にならんかも知れんが。
240 :デフォルトの名無しさん2010/11/04(木) 15:37:50
haartrainingで生成されるxmlについてどんな特徴使ってるのか見てるのですけれども
<_>3 0 18 4 -1.</_>
<_>3 2 18 2 2.</_>
とか
<_>8 18 14 4 -1.</_>
<_>15 18 7 2 2.</_>
<_>8 20 7 2 2.</_>
の意味がよくわかりません・・・
上側は恐らくx、y、x、yと座標を指定していて最後の-1と2が白と黒の領域を表しているというのは何と無くつかめるのですが、
下がさっぱりです・・・回転させた特徴・・・?

どなたかわかる方いたら参考サイトでも何でも良いので教えてもらえないでしょうか?
243 :デフォルトの名無しさん2010/11/05(金) 23:13:07
カメラからの録画についてですが、なかなか録画時間=再生時間になりません。。
cvWaitKeyで1フレームあたりの時間(1000/fps)から、
前回キャプチャからの経過時間を引いた値をwaitしているのですが
録画時間<再生時間になったりその逆になったりします。。
うまい設定の方法ありませんか?
245 :デフォルトの名無しさん2010/11/10(水) 08:12:58
>>243
1000fps=1sと思って無いよな?
てか秒間1000毎のカメラってどんなんだ?
251 :デフォルトの名無しさん2010/11/14(日) 21:41:39
>>243
録画中、timeGetTime()関数とかで1フレーム毎の録画時間(現在時刻)を記録しておく。
再生時にcvWaitKey(IntervalTime[frame])とかで録画時と同じタイミングで各フレーム
を表示していけばいいんじゃないだろうか。
247 :2432010/11/10(水) 12:58:07
1000/fpsは
1000msec/設定フレームレートのつもりで書きました。
フレーム間隔を計算するためです。

cvWaitKeyって実際10ミリ秒位の精度じゃないですか?
248 :デフォルトの名無しさん2010/11/10(水) 22:58:07
意訳するとこうか?

直前のフレームからの経過時間だけでタイミングを取るという
阿呆なことをしてるのですが全体の時間が正しくなりません。
どのようにするのが正しいのでしょうか?
252 :デフォルトの名無しさん2010/11/14(日) 21:59:43
質問者はもう分かっているんだろうけど、そろそろ回答付けとかないとあれだな
一応、この手の処理では基本中の基本なんだが

× 前のフレームからの経過時間(相対時間)でタイミングを取る
○ 基準時刻からの経過時間(絶対時間)でタイミングを取る
253 :デフォルトの名無しさん2010/11/15(月) 16:19:33
質問です.

CvSparseMat A
CvMat B
CvMat x
今,このように行列が3つあります(Aだけスパース行列です).
これらを使って,
cvSolve( A, B, x, CV_SVD);
としたのですが,

○○○.exe の 0x766db09e でハンドルされていない例外が発生しました:
Microsoft C++ の例外: cv::Exception (メモリの場所 0x0022e660)。

とエラーが発生してしまいます.
AがCvMatだとうまくいくのですが.
CvSparseMatに対応したcvSolveのような関数がありましたら教えてください.
255 :デフォルトの名無しさん2010/11/15(月) 16:53:15
>>253
残念だけどないと思う。

ttp://opencv.jp/opencv2-x-samples/usage_of_sparsemat_1_blurring_deblurring
ここの最急降下法を参考にすればいいんじゃない?
254 :2432010/11/15(月) 16:20:36
みなさんありがとうございました。
相対時間を使うからややこしくなってたんですね。
初心者なもんで。。
どうにか思った通りの速度で録画&再生ができるようになりました!
256 :デフォルトの名無しさん2010/11/16(火) 20:32:28
質問です。

たとえばequalizeHistなどが何をやっているか見るために
visual studioでデバックをしようと思ってるのですが、当然中身が見れません。
ブレークポイントが使えない場合って変数の動きなどはどうやってみればいいんでしょうか?
257 :デフォルトの名無しさん2010/11/16(火) 22:22:25
どういうこと?変数の中身はprintfすればいいし、ソースが見たけりゃ、
OpenCVのソース版をダウンロードして、equalizeHist関数を探せばいいさ。
259 :2562010/11/16(火) 22:38:59
>>257
ソース追うのではなくて、値がどう変化してるかを見たかったのです。
ソース版関連付けさせて動かした方が後々楽なんでしょかね
258 :2572010/11/16(火) 22:29:26
ちなみに今探してみたらhistogram.cppっていうソースファイルにequalizeHist関数があったぞ。
260 :デフォルトの名無しさん2010/11/16(火) 22:52:15
equalizeHist(src, dst)のsrcとdstを比較するだけじゃ物足りないってこと?
中でどうなってるかは、やっぱり>>285のソースを関連付けさせてその中で
ブレークポイントを置くしかないわな
261 :2562010/11/16(火) 23:04:40
>>260
その通りです、例にそれを出しましたが他にも変数の変化見たいものがいくつかあるので!
ありがとうございます、今度ソースコード関連付けてみます。
262 :デフォルトの名無しさん2010/11/18(木) 10:47:58
USBカメラの映像をキャリブレーションしてるんですが、
初めは40msくらいなんですけど、20秒ほどかけて15msまで段々落ちていきます。
原因はなんでしょうか。初めから15msで動作させたいんですが。
263 :デフォルトの名無しさん2010/11/19(金) 04:58:28
>>262
そういうカメラの仕様なんじゃないかというくらいしか言いようがないなぁ。
プログラム起動したてはWindowsが他の処理にCPUを使ってるからかもしれないし。
265 :デフォルトの名無しさん2010/11/20(土) 13:36:28
>>262
カメラの自動露出調整とかで、フレームレートが変わってるんじゃ?
266 :デフォルトの名無しさん2010/11/28(日) 00:41:29
カメラの焦点距離を求めたいのですが、cvCalibrationMatrixValues関数ってどんな風に
使えばいいんでしょうか?
第一引数は内部パラメーター(A行列)、第二,三引数は横縦ピクセル数、までは分かるのですが
第四,五のアパーチャ幅と高さってどの部分のことなんでしょうか?
あと、その単位と、返ってくる焦点距離と主点の単位ってmmなのかcmなのか何なんでしょうか?

使い方は例えば
{
cvMat *calibMatr=カメラ行列;
int imgWidth=Width,imgHeight=Height;
double apertureWidth=0,apertureHeight=0;//(不明なのでとりあえずデフォ値の0に)
double fovx,fovy;
double focalLength;
CvPoint2D64f principalPoint;
double pixelAspectRatio;

cvCalibrationMatrixValues(calibMatr,imgWidth,imgHeight,apertureWidth,apertureHeight,
             &fovx,&fovy,&focalLength,&principalPoint,&pixelAspectRatio);
}
と実行すれば、fovx,fovyに画角(dgree)、focalLengthに焦点距離(単位不明)、principalPointに
主点の長さ(単位不明)、pixelAspectRatioにアスペクト比が入る。ってことであってますよね?
今回、カメラ行列はCalibrateCamera2で求めた物、そして、アパーチャサイズに0や適当な数値入れると、
この出力結果がぐちゃぐちゃな数値出てしまいました。
267 :デフォルトの名無しさん2010/11/30(火) 19:39:24
GoodFeaturesToTrackって、小数点以下3桁まで出力しますけど
何桁まで信頼できますかね
268 :デフォルトの名無しさん2010/11/30(火) 19:48:07
質問です。フレーム間差分のサンプルが乗っているサイト知りませんか?
269 :デフォルトの名無しさん2010/12/01(水) 02:06:03
ipl25.exeをダウンロードしてきたのですが
PackageForTheWeb Stubというコメントが出てきてインストールできません。
わかる方いたらお願いします。
270 :デフォルトの名無しさん2010/12/01(水) 07:24:16
>>269
ggrks
272 :デフォルトの名無しさん2010/12/02(木) 17:17:53
OpenCVで人を認識できるプログラムを書いている者なんですが、
オブジェクト検出器も自作したいと思っています。

http://gihyo.jp/dev/feature/01/opencv/0004?page=1
このページを見て、オブジェクト検出器を自作しているのですが、
もっと効率のいいやり方、簡単なやり方はないでしょうか?
お願いします。
273 : [―{}@{}@{}-] デフォルトの名無しさん2010/12/02(木) 17:28:24
昨日からOpenCVを触り始めたものです。
Essential OpenCVという本とリファレンスを検索して分からなかったので質問させてください。

現在Picture in Pictureの映像撮影ソフトを作ろうと思い、
初めに解像度の違う画像を重ねるところからやろうと思っているのですが、
調べてみても「解像度が同じものを合成」もしくは「横に並べて連結する」関数しか見つかりませんでした。
解像度の違う画像を重ね合わせることができる関数を教えていただけると助かります。

よろしくお願いします。

開発環境はVistaでOpenCV 1.1pre使ってます
274 :デフォルトの名無しさん2010/12/02(木) 18:09:29
cvSetImageROI(大きい方の画像のROIを小さい方の画像のサイズに設定)
cvCopy
cvResetImageROI
の順でどうでしょう

横に並べて連結する関数なんてあったのか…
名前教えてくれ
275 : [―{}@{}@{}-] デフォルトの名無しさん2010/12/02(木) 18:37:33
>>274
ありがとうございます。

横に連結する関数ですが私の勘違いでした。すみません。
276 :デフォルトの名無しさん2010/12/03(金) 10:47:42
calcOpticalFlowPyrLKをc++仕様にしたら、3ms→40msになってわろた
278 :デフォルトの名無しさん2010/12/05(日) 04:29:58
>>276
C++のcalcOpticalFlowPyrLKのソースを書き換えて高速化すればいいじゃん
277 : [―{}@{}@{}-] 2752010/12/03(金) 17:05:17
昨日はありがとうございました。
アドバイス通りにやったらできました。
2種類のカメラを認識させ、Picture in Pictureのようなものができました。
この映像ソースをDirectShowフィルタで扱えるように頑張ってみます。
279 :デフォルトの名無しさん2010/12/06(月) 05:52:54
cvCreateCameraCapture(0);でUSBカメラ認識させてるのですが、デバイス名ってどうやったら参照できますか?
282 :デフォルトの名無しさん2010/12/07(火) 07:53:36
プログラムの知識がなくて困っています。

http://www.aianet.ne.jp/~asada/prog_doc/opencv/opencv_obj_det_img.htm
ここのサイトの「カメラ映像からの顔認識プログラム」

カメラキャプチャではなく
avi動画を読み込み処理を行いたいと試みているのですが
上手く処理することが出来ません。

avi動画の読み込みは
http://chihara.naist.jp/opencv/?%C6%B0%B2%E8%A5%D5%A5%A1%A5%A4%A5%EB%A1%CAavi%A5%D5%A5%A1%A5%A4%A5%EB%A1%CB%A4%CE%C6%C9%A4%DF%B9%FE%A4%DF
を参考にしています。

avi動画を読み込んで、物体検出の処理を行うとき
参考になるようなサイトをご存知の方いませんか?
283 :デフォルトの名無しさん2010/12/07(火) 14:04:11
Ver2.2の人柱マダー?

>>282
基本はキャプチャも動画も一緒じゃね
1枚ずつ取り出して処理する訳だし、リンク先の情報で出来ると思うが
とりあえず、「何が」上手く処理出来ないのか言わないと、エスパーじゃないからわからん
285 :デフォルトの名無しさん2010/12/09(木) 17:49:28
追記
正解画像(20枚)を記述した.txtを-info で指定
-num 4000にして実行していますが、
サンプルが20枚分しか作成出来ません。

原因はなんでしょうか?
288 :デフォルトの名無しさん2010/12/09(木) 19:50:16
>>285
-infoで指定した.txtに矩形位置書いてる?
289 :デフォルトの名無しさん2010/12/09(木) 20:13:10
>>288
書いてます。
過去スレ漁ったら同様の質問がありました。
mergevecを使ったやり方が提案されていたのですが、
使い方を詳しく説明していただける方いらっしゃいませんでしょうか?
290 :デフォルトの名無しさん2010/12/10(金) 15:50:07
>>285 >>289
infoでリスト指定すると、テキストに書いてる枚数しか生成されない。
ランダムに変形して増やしたい場合は、-imgで画像を1枚指定すると-num数分作られる。
だから、各画像を-img + -numで複数のファイルに書き出したあと
1つに結合しないといけない。
http://note.sonots.com/SciSoftware/haartraining.html#w0a08ab4
に詳しく書いてある。
286 :デフォルトの名無しさん2010/12/09(木) 18:57:43
OpenCV2.2をダウンロードしてビルドしました。
include\opencv2フォルダの中の各フォルダ(core、highgui等)の中が空で、
Cmakeを使ってビルドした後も空です。
なのでincludeフォルダの設定などをきちんと行っても、「ヘッダファイルがない」
というエラーが出てサンプルファイルがビルドできません。

試しにVisualStudio2010用バイナリインストーラでインストールしてみると、
core、highgui等のフォルダの中にはヘッダファイルが入っています。
サンプルファイルのビルドも正常にできます。

Cmakeなどでソースからビルドされた方がいましたら解決策を教えてください。
287 :2862010/12/09(木) 19:39:23
自己解決しました。バッチビルドの際に「INSTALL」にチェックすればいいみたいです。
291 :デフォルトの名無しさん2010/12/11(土) 13:15:59
OpenCV2.2でcvCvtColor(CV_RGB2GRAY)使ってる人いない?
2.1で使えてたのに

dst.data == dst0.data in function cvCvtColor

でエラーになる
サンプルコードは動くのに自作のが動かない
292 :デフォルトの名無しさん2010/12/11(土) 17:10:22
>>291
同じ領域を指定してるからじゃね。
もともとぶっ壊れていたのがassertionついて分かりやすくなっただけだろ。
変換元と変換先の画像を別に用意する必要があるのでは。
293 :デフォルトの名無しさん2010/12/13(月) 10:21:26
>>292
>もともとぶっ壊れていたのがassertionついて分かりやすくなっただけだろ。
2.1と2.2でソースが全然違ってたからそうではないのかも.

>変換元と変換先の画像を別に用意する必要があるのでは。
data0は変換する前にOpenCVで自動に確保された画像で,
dataはOpenCVで処理が終わったあとの画像っぽいから,
こちら側で渡す引数は間違えてないはず.
294 :デフォルトの名無しさん2010/12/14(火) 18:03:55
CvtColorはOpenCVの他のモジュールでも使っているから
バグってることはないと思うんだが。
cvCvtColor(A,B,C);
でA==Bであるとか、Cに対して、AやBのチャンネルや型が合ってないとかではないのか。
assertion出てるソース見たら原因は分かると思うが。
295 :デフォルトの名無しさん2010/12/14(火) 22:30:18
再確保されているってことは、サイズと型が間違っているんだろ
296 :デフォルトの名無しさん2010/12/20(月) 09:28:22
SIFT特徴量が特許の関係で入れられないはずだったのに
入ったって聞いたんだけど
特許切れたってこと?
297 :デフォルトの名無しさん2010/12/20(月) 10:34:03
>>296
商用に使わなければ問題ないんじゃない?
SURFやSUSANも特許取られている。
298 :デフォルトの名無しさん2010/12/20(月) 14:04:19
オライリーの詳解OpenCV、新しいバージョンで出ないかなぁ
基本的には変わらないんだろうけど、バージョンが新しくなる度に悩む
せめて2.0で出してくれー
300 :デフォルトの名無しさん2010/12/26(日) 10:36:26
winの2.1だとリリースとデバッグ、さらに拡張子によって出たり出なかったり
2.2は改善されてるんだろうか?
301 :デフォルトの名無しさん2010/12/28(火) 13:29:22
openCV1.0なんですが、サンプルのlkdemoが動作しません。
カメラは接続していないのですが、AVIファイルをexeにドロップしても、
何もせず一瞬で終了されてしまいます。
どなたか原因わかる方いらっしゃいませんか?
302 :デフォルトの名無しさん2010/12/28(火) 13:58:05
カメラつなぐか、めんどくさがらず、コマンド引数にファイルパスいれてみ。
303 :デフォルトの名無しさん2010/12/28(火) 14:02:18
Ikedemoはカメラからの映像を取得する物で、動画ファイルを見る為の物じゃない
OpenCV2.1でAVIファイルをドロップしてみたが、やっぱり一瞬で終了した
304 :デフォルトの名無しさん2010/12/28(火) 14:10:04
>>303
ソースみてみ。AVIファイルの引数は解釈できるようになってる。
305 :3032010/12/28(火) 14:41:21
>>304
おおう、cvCaptureFromAVIも使ってた
適当なアドバイスすまんかった
しかも、IkedemoじゃなくLkdemoだし
306 :3012010/12/28(火) 18:32:09
コマンドプロンプトで
lkdemo test.avi
と入力しても
Could not initialize capturing...
と表示されるだけです。
コマンド合ってますよね?

312 :デフォルトの名無しさん2010/12/29(水) 20:44:32
>>311
>>306のtest.aviってもちろんフルパスだよね?
313 :デフォルトの名無しさん2010/12/29(水) 22:34:44
>>312
フルパスでもだめです。
申し訳ないですが、素人なので詳しく書かせていただきます。
ちなみにAVIファイルはサンプルと同じ場所に置いてあります

現在のディレクトリ
C:\Program Files\OpenCV\samples\c>
コマンド
lkdemo C:\Program Files\OpenCV\samples\c\test.avi
lkdemo test.avi

いずれもダメでした。
ためしにWEBカメラを接続して実行したら正常に動作しています。
315 :デフォルトの名無しさん2010/12/29(水) 22:58:03
>>313
じゃやっぱりAVIが圧縮かかってるんじゃないかな
ためしに下のAVI落として画面出るかやってみて
ttp://jp.fujitsu.com/group/fns/downloads/services/avs/tech/avsexpress-sp20040301/movie-master.avi
316 :デフォルトの名無しさん2010/12/29(水) 23:25:07
>>315
出来ました…
ご指摘の通りのようです。
しっかりと圧縮の見きわめができず申し訳ありませんでした。
お手数お掛けしました
ありがとうございます
307 :デフォルトの名無しさん2010/12/28(火) 19:00:18
パスあってるの?あと、OpenCVって圧縮AVIいけたかね?とりあえず、非圧縮AVIで試してみるのか吉
311 :3012010/12/29(水) 20:26:22
>>307
非圧縮AVIです。
なんか他にもAVIの条件あるんですかね?
308 :デフォルトの名無しさん2010/12/29(水) 15:48:50
IPLてもう入手不可能ですか?
ぐぐっても見つからないんですが
309 :デフォルトの名無しさん2010/12/29(水) 18:50:03
トラックバーの値に対応させて、出力画像を変更するようなことって可能でしょうか?

トラックバーの値1→画像1
トラックバーの値2→画像2
トラックバーの値3→画像3

のようなイメージで、簡単な画像ビューアのようなものを作りたいのですが……。
310 :デフォルトの名無しさん2010/12/29(水) 20:24:59
>>308
IPLで必要な関数はほとんどOpenCVにあると思うんだが

>>309
cvCreateTrackbarとcvShowImage使えばたぶんいけると思う
317 :デフォルトの名無しさん2010/12/31(金) 03:44:49
最近になってopencvを使用し始めたのですが、少し行き詰ってしまったので質問させてください。

サンプルプログラムの「demhist」を改造してカラー画像でもコントラストなどをいじれるようにしたいのですが
これは「updateBrightnessContrast内でチャンネルを分割する処理」を加えることで実現できるでしょうか?
それとも、もっと根本から改造しなければ実現するのは厳しいでしょうか?

何かちょっとしたヒントでも教えていただけたらありがたいです。
よろしくお願いします。
318 :3172010/12/31(金) 12:34:53
試行錯誤していたら自己解決することが出来ました
スレ汚し失礼しました
319 :デフォルトの名無しさん2010/12/31(金) 16:35:33
301に便乗

lkdemoに非圧縮aviを読み込ますことはできますか?
出来るならやり方を教えて頂けないでしょうか。
321 :デフォルトの名無しさん2011/01/04(火) 03:00:10
AVIファイルをcvCaptureFromAVIから読み込むとめちゃくちゃ遅いんですけどなんとかならないのでしょうか?

USBカメラからだと全然速いのですが。。。
322 :デフォルトの名無しさん2011/01/04(火) 04:15:38
>>321
カメラとAVIファイルの縦横サイズは?
329 :デフォルトの名無しさん2011/01/04(火) 16:21:08
>>322
カメラはISightで640*480で
AVIは720*480です。
330 :デフォルトの名無しさん2011/01/04(火) 16:23:00
>>322
あと323 != 321で、
329 = 321です。
323 :デフォルトの名無しさん2011/01/04(火) 08:45:56
カメラは10cm×5cmくらいです
AVIファイルのサイズはどうやって測るのでしょうか
326 :デフォルトの名無しさん2011/01/04(火) 15:37:28
>>323
縦×横が何ピクセルか(解像度)を聞いたつもりだったんだけどな。
AVIファイルは右クリック+プロパティで見れる。カメラの解像度は説明書に書いてあると思う。
325 :デフォルトの名無しさん2011/01/04(火) 12:52:59
新年早々すみません。もし分かるかたがいらっしゃいましたらお教えください。

症状:cvWaitKey()が効かない。(何を押しても-1しか返ってきません。)

例えば

while (1) {
int key = cvWaitKey(TIMEOUT);
printf("%d ", key);
if (key != -1) break;
}

と書いて、コンソールに値を表示させながらキーを押してみても、
-1がすごい速さでどんどん表示されるばかりで、whileループを
いつまでも抜けません。

TIMEOUTの値は0, 1, 2, 10, 33, 100, 1000で試してみましたが、
どれも変化はありません。コンソールに-1が連続して表示される
速度も変化ないように見えます。

cvWaitKey()を使うに当たって、他に必要な準備や前提条件が
あるのでしょうか?

当方の環境はWinXPPro、Visual Studio 2008 Express Editionです。

よろしくお願いいたします。
327 :デフォルトの名無しさん2011/01/04(火) 15:42:43
>>325
まさかウィンドウを作らずにcvWaitKeyを呼んでるってことはないよね
328 :デフォルトの名無しさん2011/01/04(火) 15:44:54
>>325
TIMEOUTが0の時でも次の処理にすすむってことはTIMEOUTの値の変更がうまくいってないんじゃないの。
変数で指定してるんならソース内で数字で直接指定してみたら?
331 :3252011/01/04(火) 20:14:13
325です。

>>327
ご回答ありがとうございます。ウィンドウは作っています。

例えば下のようなソースでも、cvQueryFrame()とcvShowImage()は正常に
動作しているのに、cvWaitKey()は-1しか返してこないのです。

CvCapture *capture;
IplImage *frameImage;
char windowNameCapture[] = "Capture";

capture = cvCreateCameraCapture(0);
cvNamedWindow(windowNameCapture, CV_WINDOW_AUTOSIZE);

while (1) {
frameImage = cvQueryFrame(capture);
cvShowImage(windowNameCapture, frameImage);
int key = cvWaitKey(TIMEOUT);
if (key != -1) break;
}

.NET Frameworkの何がしかとか、プラグインとか、何かが私の環境から
抜けているのでしょうか・・・。
332 :デフォルトの名無しさん2011/01/04(火) 21:50:19
>>331
327だけど、
このままコピペしてint TIMEOUT = 1とかで普通に動いたが(win7 openCVpre1.1)

ソースあるのだしcvWaitKeyを追ってみたら
333 :3252011/01/04(火) 22:51:27
325です。

>>328
ご回答ありがとうございます。TIMEOUTは直値で与えています。

>>332
やっぱり動いちゃいましたか。まあ、そうなんでしょうね・・・。


いくらやってみてもだめなので、とりあえずcvWaitKey()の代わりに
cvSetMouseCallback()を使い、マウスのクリックイベントで代用することに
しました。(これは正常に動作しています。)

Keyが使えれば、もっと多くの機能をアルファベットでコマンドっぽく
処理させることができると考えていたんですが・・・。

暇ができたらソースも追っかけてみます。

ありがとうございました。
334 :デフォルトの名無しさん2011/01/05(水) 01:03:05
Windows だったら、どこかに exe アップロードして他人の環境でも同じ動作かどうか確認できるんじゃね?
動作が同じならコンパイル環境だし、動作が違うなら >>325 の環境でだけ発現する何かだし。
337 :デフォルトの名無しさん2011/01/05(水) 12:58:37
ソースが>>331そのままなら、TIMEOUTの定義も値の指定もしてないから動かないのは普通だと思うが。
>>332はそれでちゃんと動かせてるわけだし。

ソースも環境も曖昧だからなー。
VC++でコンソールアプリケーションなら.net系は関係ないだろうし。
335 :デフォルトの名無しさん2011/01/05(水) 03:53:07
ためしに動かしてみてくださいってexeアップロードされても困るのだが
338 :デフォルトの名無しさん2011/01/06(木) 01:27:59
2.2のC++のソースのほうで
VideoCaptureから読み込んだ画像の型をCV_32FC3に変換を行いたいのですが、
VideoCapture vc(0);
Mat m;
Mat converted;
vc >> m;
m.assignTo(converted, CV_32FC3);
imshow("dst",converted);
waitKey(10);

.
.
.
というソースで画像を表示してみても真っ白です。
何か勘違いしているのでしょうか?
341 :デフォルトの名無しさん2011/01/07(金) 23:32:47
Qt使いたいんだが、CMakeで"QT_QTCORE_LIBRARY_DEBUG (RELEASE)"って何を指定すればいいの?
libフォルダのそれらしい奴はだめだったし
windows7 32bit VS2010 OpenCV2.2です
343 :デフォルトの名無しさん2011/01/09(日) 23:00:36
画像から肌色に近い色で、ある程度の大きさの領域の検出と
前にあるものを明るく奥にあるものを暗く(重なり?奥行き?)する
処理をやりたいのですがどのようにやればいいのでしょうか。
344 :デフォルトの名無しさん2011/01/09(日) 23:08:55
奥行き取れてるの?奥行きの判断方法って何?
345 :デフォルトの名無しさん2011/01/09(日) 23:23:51
>>344
奥行き取れてません・・・

http://www.toshiba.co.jp/regza/function/10b/function02.html#top
こんな感じのをイメージしていますが、なかなか出来ず。
色が複数含まれている物体を認識したいと思い、輪郭抽出しましたが
満足した結果が得られず、今は奥行きでチャレンジしようとしている所です。
346 :デフォルトの名無しさん2011/01/10(月) 00:57:08
たしかOpenCVってバンドル調整の機能つんでなかったっけ?

・・・まあ今ならkinect買うのが手っ取り早いと思うけど
348 :デフォルトの名無しさん2011/01/11(火) 10:15:57
二次元画像を処理するのにkinectは関係ねーだろ

極めるとこんなことも出来るそうだが
http://www.gizmodo.jp/2006/10/post_3.html
352 :デフォルトの名無しさん2011/01/11(火) 18:19:42
>>348
これが5年以上前の成果なのか...
349 :デフォルトの名無しさん2011/01/11(火) 10:24:04
長方形抽出して統計的にパースを求めて、そこから3Dを構成してるのかな?
まあ言うは易く行なうは難しだな
350 :デフォルトの名無しさん2011/01/11(火) 11:48:25
うは、すげーw
画像を構成する直線を調べて、消失点決めてって感じかなあ
写真なのに列車が横を見あげるってすごい不思議な感じだw
351 :デフォルトの名無しさん2011/01/11(火) 18:16:48
GetOptimalDFTSizeはバグってない?
2^i*3^j*5^kピッタリだとそれより小さい数字返してる気がする
サンプルのGetOptimalDFTSize(sz-1)の-1も意味がよく分からん
353 :3512011/01/12(水) 13:09:21
ごめん
「2^i*3^j*5^kピッタリ」じゃなく、それより大きい場合だ

まぁOpenCVでDFT使ってる奴っていないんだろうけど
354 :デフォルトの名無しさん2011/01/12(水) 19:16:09
レナとかマンドリルとか標準画像データベースっていうのはよく見ますが、
動画のデータベースってありますか?
356 :デフォルトの名無しさん2011/01/13(木) 10:26:14
人検出って横顔とか、斜めの顔ではできないの?極力ライブラリ等を使いたいんだけど。
357 :デフォルトの名無しさん2011/01/14(金) 00:21:08
自分で教育すれば横顔や斜めでも大丈夫じゃね?
今のOpenCVなら全身とか上半身の教育データも入ってるみたいだから
上手く組み合わせてみてもいいだろうし
364 :デフォルトの名無しさん2011/01/23(日) 01:13:31
読み込んだ動画の隅っこに再生時間を表示させたいんですが(100分の1秒くらいまで)
なんか方法ないでしょうか?
365 :デフォルトの名無しさん2011/01/23(日) 03:09:49
FPSとフレームカウントでなんとかするしか・・・
366 :デフォルトの名無しさん2011/01/24(月) 02:40:51
>>365
ありがとうございます。

ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1053269440?fr=pofee_pc
を参考にしてlkdemoの特徴点座標をCSVファイルに書き込むプログラムを作っているんですが、
加えて、その座標の時の時間(もしくはフレームカウント)を表示したいんです。
現在は

cvCircle( image, cvPointFrom32f(points[1][i]), 3, CV_RGB(0,255,0), -1, 8,0);

fprintf(fp, "%d,%d,%d\n",(int)(points[1][i].x), (int)(points[1][i].y),□□□);

となっているんですが、□□□の部分にどのような関数を使えばいいか悩んでいます。
cvGetCapturePropertyやcvSetCapturePropertyのあたりだと思うのですが、
どのような記述をすればいいでしょうか。
その他、付け加える記述もあればどなたか教えていただけるとありがたいです。
的外れな方法だったらすいません。
367 :デフォルトの名無しさん2011/01/24(月) 03:03:16
>>366
double fps = cvGetCaptureProperty( capture, CV_CAP_PROP_FPS );
でFPS取得して
動画のフレーム取得するときに
cvQueryFrame(capture);
とかやってるんだろうからそこんとこに
framecount++;
とかしとけばいいのでは?
framecount/fpsで時間でるし。

んで質問なんですけど
cvSetImageROI(tmpmsk, rect);
cvSet(tmpmsk, cvScalar(255));
cvResetImageROI(tmpmsk);
この処理の間に微量なメモリリークが発生してるっぽいんですけど
なにか後処理が必要なのでしょうか?
tmpmskの解放はしてあります。
368 :デフォルトの名無しさん2011/01/25(火) 02:41:24
>>367
具体的にそこでリークしているのはちょっと考えにくい気がする。
初期化と解放のコードは?
メモリリークを検出した手段は?
微量というが何バイト?
371 :デフォルトの名無しさん2011/01/27(木) 05:04:19
ない

>>367
CV_CAP_PROP_POS_MSECじゃだめなの?
372 :デフォルトの名無しさん2011/01/28(金) 02:38:03
質問なんですが、64bit対応前に実装された関数が64bit環境だと使えないってことありますか?

具体的にはcvFindFundamentalMat()で返される基礎行列が誤っていて、
32bit環境で実行すると正しい値が出てるんですが…

環境はWin7,VS2008,2.1です
373 :デフォルトの名無しさん2011/01/30(日) 10:38:16
OpenCV.jp の
http://opencv.jp/opencv2-x-samples/image_binarize
このサンプルとか、
http://d.hatena.ne.jp/Guernsey/20091129/1259456463
こういうサンプルで
Mat imread(const string& filename, int flags=1)
この関数を使うと、ファイルが開けなくて、エラーで落ちる、ファイルのパスを
絶対パスで指定してやってもエラーで落ちる。
皆さんは、うまく動きますか?

環境
Windows 7 64bit(32bit 環境)
Visual Studio 2010 rofessional

VMware Windows XP SP3
Visual Studio 2005 professional
374 :デフォルトの名無しさん2011/01/30(日) 16:23:31
C++のAPIはライブラリビルドしたのと同じバージョンのVS使わないと、
ライブラリの外と中でstringが別モノだったりして死ぬ。
みたいな事を自分は経験した。
375 :デフォルトの名無しさん2011/01/30(日) 17:01:00
>>373 です
>>374 thx です。
ライブラリィ作成時のコンパイルバージョンって、影響するのでしょうか?
Windows 7 64bit(32bit 環境)
Visual Studio 2010 professional
この環境のほうは
cmake-2.8.0-win32-x86 使ってOpenCV2.0 のライブラリィを
作成しているのですが、その時にVS2010ではライブラリィがビルドできないので
VS2005で作成したライブラリィを使ってサンプルコードなどをコンパイルしています。
ただし、もう一つの
VMware Windows XP SP3
Visual Studio 2005 professional
こっちの環境はライブラリィの作成も、サンプルコードのコンパイルもVS2005なのですがやっぱり、こけてしまうのですが・・・・?
377 :デフォルトの名無しさん2011/01/30(日) 18:02:05
>>374
それはひどいな

ニヤニヤ
376 :デフォルトの名無しさん2011/01/30(日) 17:32:16
少なくとも2005ではimreadを使ったプログラムは動かした事がある。
自前でビルドしてるならデバッガで追ってみれば。
378 :デフォルトの名無しさん2011/01/30(日) 18:39:45
>>376
ありがとう、解決しました
もう一つの環境といいますか
Windows 7 64bit(32bit 環境)
Visual Studio 2005 professional
cmake-2.8.0-win32-x86
OpenCV2.0
このパターンを試したら、imreadを動かすことができました。
たの環境では
デバッグすれど、imreadの部分にステップインすると、いきなり
fopen(filename.c_str(), "rb");
ファイルはあるのに、ファイルが無いなどと、わけの分からんエラーで落ちまくります
filename.c_str()がstd::string から char * のキャストなので
まさに同じstring型でも、コンパイルが通らないといったことなんでしょうか??

379 :デフォルトの名無しさん2011/01/30(日) 19:04:38
ライブラリをビルドしたバージョンが違うとstringとかのインラインになってるとこが、
ライブラリの中と外で食い違ったりする。代入とかでメモリ確保したり開放したりするあたり。
380 :デフォルトの名無しさん2011/01/30(日) 19:06:40
なんかニヤニヤされてるみたいだから、全然見当違いなのかもしれないけど。
381 :デフォルトの名無しさん2011/02/01(火) 01:37:43
2値画像中から抽出した輪郭の中で
ある輪郭の端から別の輪郭の端までの距離がしきい値以内であればその輪郭を結合
という処理をしたいのですが何かいい方法はありませんか?
モルフォロジー演算はなるべくしない方向でいきたいのですが
382 :デフォルトの名無しさん2011/02/02(水) 00:26:03
>>381
輪郭線抽出してから、輪郭線をある程度の精度で近似した上で、輪郭1の各頂点ごとに、輪郭2の各頂点との距離の最短を求めて、
その全部での最短が一定距離以下だったら・・・みたいにすればできるだろうけどね。

輪郭線近似した上で包含多角形(Convex Hull)を作ってから各頂点ごとに・・・
とすれば、異常に輪郭線入り組んだりして長い場合にも対応できるかも。
383 :デフォルトの名無しさん2011/02/07(月) 02:40:58
cvCreateVideoWriter(filename, 0, fps, cvSize(width,height), 0) で保存したAVIファイルを
cvCaptureFromFileで読み込めないんですが どうしたらいいでしょうか?
384 :デフォルトの名無しさん2011/02/07(月) 17:21:00
ファイルが全く読み込めないのか、変な映像が出力されるのかがわからんが、
一番最後の0を1にしてみるとか
385 :デフォルトの名無しさん2011/02/10(木) 00:18:55
>>384
返答ありがとうざいます。
OpenCV自体が非圧縮を読み込みできないみたいでした。

非圧縮で保存できるのに、読み込めないって地雷はひどいw
386 :デフォルトの名無しさん2011/02/10(木) 22:40:07
>>385
そのバグ前からあるけどimage->imageData += 0x400すれば正しくでるはず
387 :デフォルトの名無しさん2011/02/12(土) 19:58:36
Intelが開発したってあるけど
AMD環境でもちゃんと動きますか?
388 :デフォルトの名無しさん2011/02/12(土) 20:31:37
動作するし開発もできる
389 :デフォルトの名無しさん2011/02/12(土) 21:15:55
>>388
ありがとう、安心しました
390 :デフォルトの名無しさん2011/02/17(木) 19:01:45
48Bit(16Bit x 3)の画像処理について質問です。
ざっと見たところOpenCVは

ファイルの読み込みは48Bitに対応。
ファイルの書き込みは24Bitまで。

のようですが合ってますか?

で、そうだとして内部処理は48Bitで行なわれているんでしょうか?
もしかしてロードした時点で24Bitに落ちてるのでしょうか?
391 :デフォルトの名無しさん2011/02/18(金) 22:28:37
はじめまして

当方学生でプログラミングはほぼ初心者なのですが
画像の解析にopenCV1.1をつかっています。
ハフ変換で画像中の円の検出をしたいのですが
デバッグ後に画像が表示されなくて困ってます

何を質問したらいいかも分からないほどの知識しかなくて申し訳ないのですが
どなたかよろしくお願いします。
392 :デフォルトの名無しさん2011/02/18(金) 22:41:23
まずはソースを貼りなさい
初心者は特に勝手に省略しないこと
400 :デフォルトの名無しさん2011/02/22(火) 09:11:17.08
>>392
遅レスすいません。
ソースは長すぎて貼れませんでした・・・

http://oshiete.goo.ne.jp/qa/4416952.html

ここの回答者のソースコードをコピーして
file nameを自分の読み込みたいファイル名としてビルドしました。
しかしデバックすると    
 
Bad aregument(Bad image header)
in function cvCloneimage,.\caxarray.cpp(3615)

とエラーが返されます。
環境はOpencv1.1pre、VC++2008です。
どなたかご教授よろしくお願いします。
401 :デフォルトの名無しさん2011/02/22(火) 09:44:57.54
>>400
提示されたリンク先のあなたのソースを見るに
まずCの基礎から学んだ方がいいような雰囲気もあるが……

とりあえずデバッグ実行で何が起こっているか
(何が原因でそのエラーが出るのか)を確認してみたら?

あと,とりあえずこのサンプルにでもあなた画像を読み込ませて
動くことを確認してみてはどうでしょう
ttp://opencv.jp/opencv-1.0.0/document/opencvref_cv_special.html#decl_cvHoughCircles
403 :デフォルトの名無しさん2011/02/22(火) 22:51:13.91
>>401
質問者は僕ではないです

いやホントにそれは重々承知なんですけどw
1から学びたいくらいおもしろい分野なんですけど
なにぶん残された時間が少なくて・・・残念です・・

とりあえず読み出すファイルをbmpにしてみたら
プログラムは動きました!
誤検出が多すぎでしたけど・・w

こんな初心者のために質問に答えてくださった方
本当にありがとうございました。
またお世話になるかもしれませんがその節はよろしくお願いします。
393 :デフォルトの名無しさん2011/02/20(日) 12:47:59.49
質問です。

たとえばTIFFファイルをLoadImageで読むと適切なIplImageが生成されますが、
パイプでやってきたTIFFをIplImageに格納するにはどうしたらいいでしょうか?

CreateImageで生成してからTIFFの中のビットマップ情報を読んで入れていく
という方法をとればできるのはできると思いますが,それだとTIFFデータから
Bitmap情報を取り出すインターフェイスも必要になるので、OpenCVの機能で
できないものかなと。
394 :デフォルトの名無しさん2011/02/20(日) 21:26:04.36
>>393
OpenCV 2.2 win32のソースを元に話すけど、
highguiモジュールのソースを読むと、
grfmt_tiff.cpp, grfmt_tiff.hppってのが
TIFFのエンコーダー、デコーダーだけど、なんかファイル名を与えて開く方法しかなくて、tif_win32.cってのがそもそも
ファイル名をもらって開くような形になってるだろうから、一旦ファイルを保存して開く以外の簡単な方法はないんじゃないかな。
それか自分でlibtiff叩くしかないような。

BasicImageDecoder::m_buf_supportedが0じゃないいくつかのフォーマットに関してはメモリ上からも開けるみたいだけどね。BMPとか。
395 :デフォルトの名無しさん2011/02/21(月) 01:17:18.98
>>394
サンクス。最悪tif_win32.cを弄るという手もありますね。

ちなみにBMPをメモリから開く方法について、公式のドキュメントみても
見つけられなかったんですが、参考URLとかあったら教えてください。
398 :デフォルトの名無しさん2011/02/22(火) 02:58:33.24
>>395
C版のインタフェースはわかんないけど。。。
http://opencv.jp/opencv-2svn/cpp/highgui_reading_and_writing_images_and_video.html
の、imdecodeってやつがそうじゃないかなぁ。
399 :デフォルトの名無しさん2011/02/22(火) 05:13:58.18
>>398
あー!! Cの関数ばかり探してましたが、C++用は違うものがあるんですね。
全く気付きませんでした。これによるとtiffでも読めそうな感じですね。
やってみます。
402 :デフォルトの名無しさん2011/02/22(火) 11:32:30.64
>>399
いや、残念ながらgrfmt_tiffにはバッファから読む方法は実装されてないので、自前実装の参考にはなるかもしれないけど、使えないと思います。
396 :デフォルトの名無しさん2011/02/21(月) 09:12:01.28
AVDマネージャで作成したAVDのデフォルトの保存先を変更できますか?
ちなみにエクリプスは3.6.1helionです。
404 :デフォルトの名無しさん2011/02/25(金) 18:11:24.66
GigEカメラから取込んだ画像をOpenCVで処理したいのですが、全くどこから手を
付ければ良いのか、、、ヒント頂けないでしょうか、bmpファイル程度は取込みは出来ます。
お願いします。
405 :デフォルトの名無しさん2011/02/27(日) 16:53:10.58
>>404
まずはGigEカメラから取り込んだ画像を、自作のプログラムでファイルに保存するか
画面に表示するようなものを作ることができるかどうかかな。

それができればOpenCVのIplImage型の変数にコピーしていろいろできると思うが。
406 :デフォルトの名無しさん2011/02/27(日) 20:50:40.51
やっとOpenCVでUVCのUSBカメラをキャプチャ表示できた…
UVCなのにこんな回り道しなきゃいけないのか。
(環境:Win7 64bit VS2008SP1 OpenCV2.2)

俺用メモ:
OpenCV2.2未満用っぽいサンプルを使う場合、
1.#pragmaのcv.lib, cvcore.lib, cvaux.lib, highgui.libは全てコメントアウトする
2.cv.libが必要な場面→opencv_core220d.lib/opencv_core220.libを追加の依存ファイルに
3.highgui.libが必要な場面→opencv_highgui220d.lib/opencv_highgui220.libを追加の依存ファイルに


そして今回ここ↓のページがものすごく役に立ちました。感謝。超感謝です。
俺の通った回り道なんて先人達が踏み分けてくれた開かれた道でしかなかったです。

UVCのカメラ画像をOpenCVで操作(Windows Vista sp1) 涙目ブログ/ウェブリブログ
ttp://t-tlt-t.at.webry.info/200810/article_2.html
EWCLIB
ttp://www.geocities.jp/in_subaru/ewclib/index.html
OpenCV/DirectShowでキャプチャした画像を表示する - 王様の箱庭 Wiki*
ttp://wikiwiki.jp/masayashi/?OpenCV%2FDirectShow%A4%C7%A5%AD%A5%E3%A5%D7%A5%C1%A5%E3%A4%B7%A4%BF%B2%E8%C1%FC%A4%F2%C9%BD%BC%A8%A4%B9%A4%EB

それと2.2からlibの扱いが変わったことについてここ↓のおかげで確認確信できました感謝です。
OpenCV2.1と2.2に見るビルド方法の違い - PukiWiki(AkiWiki)
ttp://tessy.org/wiki/index.php?OpenCV2.1%A4%C82.2%A4%CB%B8%AB%A4%EB%A5%D3%A5%EB%A5%C9%CA%FD%CB%A1%A4%CE%B0%E3%A4%A4
435 :デフォルトの名無しさん2011/04/03(日) 04:42:14.88
UVCのカメラの場合、スタンダードなサンプルそのままでは取得できなかった(>>406)けど、
デバイスマネージャ上のイメージングデバイスは何と表示されてます?
内蔵カメラでUVCというのがあるのかどうかはわかりませんが、一応可能性のひとつとして。
437 :4292011/04/03(日) 13:31:16.74
>>435
Sony Visual Communication Cameraと書いてあるだけで、SonyのHPで調べても
Webカメラ ≪MOTION EYE≫ とだけ書いてありました。また、調べてみても
普通ならPCGA-UVC***みたいにデバイスマネージャに書かれるみたいです。
>>436
今手元に接続してたUSBカメラがないのでうろ覚えですが、
調べてみたところ下記のサイトにあるC?00台のやつっぽい形なので多分UVCは
対応してるみたいです。
なので>>406に書かれているHPの通りにやってみたいと思います。

UVC対応Webカメラ2010【ロジクール】-winとMacでwebカメラ
http://marble-papa.cocolog-nifty.com/blog/2010/01/2010-uvcweb-bca.html
ありがとうございました。長文失礼しました。
683 :4062011/10/22(土) 17:53:48.16
ひさびさにOpenCVを触ってみたら2.3でUVCがサポートされていて俺歓喜w
格安Webカメラを並べてモーションキャプチャに車輪の再発明承知で挑戦・・・
ただマーカーとかキャリブレーションの小道具とかUSBの延長とかやってるとKinectの値段を超えそうな…

もちろん、UVCがサポートされていなかった2.2以前でもDirectShow経由でUVC使用可にするサンプルや情報を
公開してくださった>>406のページのみなさんへの感謝は忘れない!これがなければ半年前に心が折れていた…
407 :デフォルトの名無しさん2011/02/27(日) 20:59:51.19
補足:
UVCじゃないドライバ付きのUSBカメラなら↓のサンプルですんなり行ったんです。
(2.2なのでhighgui.lib→opencv_highgui220(d).libの追加は必要でしたけど)
http://opencv.jp/sample/video_io.html#capture

(Windows7)64bit環境で使える安いUSBカメラって大抵UVCなんですね。
UVCじゃないカメラはドライバが32bitしか対応してないし。

安かったUVCカメラを3台買った後、サンプル動かしてwktkからドン底でしたが
これで…もう3台買っといてもいいような気がしてきました。
408 :デフォルトの名無しさん2011/02/28(月) 18:53:30.93
ハードルが高いこと分りました。GigEカメラの前にUSBカメラから初めます。アドバイス有難う御座います。
409 :406-4072011/02/28(月) 22:44:07.07
あとがき:
結局USBカメラを4台追加注文しました。
しっかしPCの別系統(って言うのかな)のUSBポートに差さないと640x480の
2台同時表示でも片方のfpsが著しく落ちますね…。
fpsを落とさずに同時に取り込めるのはウチのPCだと3台が限界かなぁ。
USB3.0のポートに差したらOKかもとか淡い期待がないではないですが、
カメラが7台全て届いたら試してみよう。
410 :デフォルトの名無しさん2011/02/28(月) 23:11:49.51
UVCは複数カメラ簡単にできるんだ。
よかったら、複数うまくいった型番教えて。
いま、複数カメラに興味ないけど、前は苦労した><
カメラ毎にUSBボード買ったりとか。
411 :4092011/03/01(火) 03:24:33.35
>>411
UVCなら何でもいいような気もするけど俺が使ってるのは↓です。
俺が確認したのはカメラ2台までで3台以上はまだ試してないです。

WEBカメラ(小型USBカメラ・130万画素・一発接続・ブルー) 400-CMS005BL 【サンワダイレクト】:400-CMS005BL_O
http://direct.sanwa.co.jp/ItemPage/400-CMS005BL_O

カメラ毎にUSBボードとは大変でしたね…。
ただ今でもなお(認識の問題は別にしても)多数のカメラで
速度を出したいときにはボードが必要になるかもしれませんね。

追記:
昨日まで何の問題もなく動いていたプログラムが
突如cvCopyでエラーを出すようになった…。
再起動してもダメ。デバイスマネージャ上で認識はされてる。

結局、原因は不明のままだけどMS Expression Encoder4で
USBカメラをソースに指定して取り込みを試した(うまくいった)後、
プログラムを実行させたら問題なく動いた。なんだったんだろう…。
413 :デフォルトの名無しさん2011/03/01(火) 18:48:38.32
>>411
ありがと。
安くて遊べそうなカメラですね。
412 :デフォルトの名無しさん2011/03/01(火) 17:32:16.06
エラーってどんなエラーなの?
コピー元よりコピー先のサイズが小さかったりするとエラー出た気がするけどそれじゃないの?
414 :4112011/03/01(火) 22:58:13.25
>>412
レスありがとうございます。
そうみたいです。cvCopy()の中のMat::copyTo()の中のmemcpy()でエラーです。
memcpy()の第1・第2引数は非NULLで第3引数は921600(=640x480x3)なので
領域越えてるみたいですね。

しかしまったく同じプログラムをExpression Enocderを使用後に
実行するとエラーを吐かないという現象は…EEの使用でたまたま都合のいい値が
デバイス(ドライバ?)にセットされたか何かかな。
プログラムが偶然に頼っているのはまずいから原因さがしてるけどcvCopy()に与えた
IplImage*はどちらも正しくimageSize=921600。うーんもし何かわかったら報告します。
415 :デフォルトの名無しさん2011/03/05(土) 21:20:33.93
メモリのバッファオーバーは、OpenCVとか関係ない

普通のWindows環境なら、メモリの管理ページを超えないと落ちない
管理ページ内のバッファオーバーなら、そのページ内でメモリを壊しながら動き続ける
壊したメモリの値がおかしくなって挙動が変になる場合もあるがw

つまり同じプログラムでも、その呼び出しの前後関係によっては
メモリ管理の状況が変わるから落ちたり動いたりしてるだけ

…メモリのバッファオーバーのバグを直せば良いだけだがw
416 :デフォルトの名無しさん2011/03/06(日) 19:13:06.60
OpenCV 2.2でwindows環境のビデオキャプチャ(cv::VideoCapture等)は
バグがあるんだかなんだかうまく動作しないよね。

なので外部ライブラリ上にあるようなewclib
の他に
VideoInput Library
ttp://www.atinfinity.info/wiki/index.php?OpenCV/videoInput%20Library%E3%81%AB%E3%82%88%E3%82%8B%E3%83%93%E3%83%87%E3%82%AA%E3%82%AD%E3%83%A3%E3%83%97%E3%83%81%E3%83%A3

VideoMan Library
http://videomanlib.sourceforge.net/

等を使用することをおすすめする。
417 :デフォルトの名無しさん2011/03/07(月) 02:27:08.82
>>416
Videoinput Library は現在のWindows版OpenCVでは
そもそも標準採用なので
わざわざ別のをリンクしないように注意
418 :デフォルトの名無しさん2011/03/07(月) 10:23:54.85
>>417
Videoinput LibraryってOpenCV上からだと使えない関数があったような。
デバイス名取得とかってOpenCVでも出来たっけ?
419 :デフォルトの名無しさん2011/03/07(月) 11:47:05.69
>>418
純粋にOpenCV上からではVideoinput Library が仮想関数の向こうに隠されているので出来ません
こっそりとヘッダは入っているので、私はincludeしてWindows機種依存の形で直接使いました
420 :デフォルトの名無しさん2011/03/07(月) 15:33:42.41
>>417
そうなんだ!
別のリンクして使ってたよー( ̄□ ̄;)
421 :デフォルトの名無しさん2011/03/15(火) 22:02:53.94
cvWaitKeyでキー入力を与えたいのですが、うまくいきません。
ターミナルから実行すると、端末の画面の方に文字が入力されてしまいます。
ウィンドウがそれを読み取ってくれないという感じです。

コンパイルエラーなどはなく、cvWaitKey(100)などとすると
ちゃんと100ms後に次に進むので、関数自体はきちんと動作しています。
考えられる原因は何でしょうか?

Mac OSX 10.5.8、Xcode 3.1.4、OpenCV 2.2
ここの1.画像表示のソースをビルドしています。
ttp://www.aianet.ne.jp/~asada/prog_doc/opencv/opencv_img_enh.htm
画像表示まではうまくいっています。OSX固有の問題なのでしょうか?
422 :デフォルトの名無しさん2011/03/15(火) 23:03:51.21
それ、ウィンドウじゃなくて端末画面の方をアクティブにしてる、ってだけじゃねーの…
423 :デフォルトの名無しさん2011/03/16(水) 00:38:01.16
>>422
どんなに画像のウィンドウをクリックしても、端末がアクティブのままになっているようです。
逆に、画像以外のウィンドウをクリックしても、画像のタイトルバーに色が付いたままです。
ウィンドウ作成関連で何かミスってるんですかね?
424 :デフォルトの名無しさん2011/03/16(水) 01:43:10.15
>>423
恐らくアプリケーションバンドルにしないとイベントを処理してくれないと思われる。
実行ファイル名がappnameだとして
appname.app/Contents/MacOS/
のようなフォルダ階層を用意して
そこにappnameを配置すればいけると思う。
425 :デフォルトの名無しさん2011/03/16(水) 02:26:22.79
>>424
ありがとうございます!
おそらく本来は、そのような配置にしたあとappname.appを実行するのだと思いますが
それでは起動できず(一瞬Dockが膨らんで終わる)、
MacOSの中に移したappnameの方を実行するときちんと動作しました。

あるいはそれで正しいのか、なんだか釈然としませんが
ひとまず先へ進めそうです。本当にありがとうございました。
426 :デフォルトの名無しさん2011/03/31(木) 05:13:32.33
Opencvで顔画像認識をするプログラムを組もうとしているのですが、
cvHaarDetectObjects()
cvReleaseHaarClassifierCascade()
の2つの関数でなぜかエラーが起きてしまいます。
エラー内容は以下の通りで
"_cvHaarDetectObjects", referenced from:
_main in 顔画像認識サンプル.o
"_cvReleaseHaarClassifierCascade", referenced from:
_main in 顔画像認識サンプル.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

プログラムは以下のサイトを参考にしました。
ttp://gihyo.jp/dev/feature/01/opencv/0003?page=3

環境はMacOSX(10.6.6) ・Opencv2.2・Xcodeを使っています。
Windows7・Opencv2.2・VS2010でこのサイトのプログラムをコピペしてビルドすると、上手く動作しました。
どなたか解決策をご存知ないでしょうか?
427 :デフォルトの名無しさん2011/03/31(木) 10:31:14.52
>>426
必要なものをリンクしてないだけでは。
428 :4252011/03/31(木) 17:54:13.02
>>427
まさしくその通りでした。必要なライブラリファイルをリンクしていなかっただけのようです。ありがとうございました。
429 :デフォルトの名無しさん2011/04/02(土) 01:55:51.03
初めの設定の段階で、Visual Studioでコンパイルするとhighgui.dllが無いのでプログラムが開始できませんと出ます。
なので、.dllの入っているところを片っ端からpathに突っ込んでも出来ませんでした。
環境変数を変える以外になにかやることはあるのでしょうか。
環境はWindows7-64bit,OpenCV2.2,VisualStudio2010EEです。
430 :デフォルトの名無しさん2011/04/02(土) 04:51:10.68
>>429
リブート
431 :デフォルトの名無しさん2011/04/02(土) 08:40:28.94
>>429
VisualStudioだけ起動しなおせば大丈夫な気がする。
433 :4292011/04/02(土) 23:17:43.19
>>430、>>431
VisualStudioを起動しなおしたらできるようになりました。ありがとうございます。
432 :デフォルトの名無しさん2011/04/02(土) 14:48:28.45
はやく画素アクセスが M(i,j,ch) みたいにできるようになってほしいのう
いちいち Mat_ にするのは面倒だ
434 :4292011/04/03(日) 02:21:10.81
連投&長文すいません。
内蔵しているカメラの映像をcvCaptureFromCAM関数で取得しようとしたのですが
映像を取得してくれません。このカメラはデバイスマネージャにはちゃんと
認識されていて、また、他の映像出力系のプログラムはデバイスマネージャには
見つかりませんでした。関数の因数も0,-1,200と試してみましたがどれも
失敗に終わりました。また、別のUSBカメラでもやってみたところ、同じく
映像が取得されませんでした。ちなみに、実行してるプログラムのソース
は参考書に載っているのを丸写ししただけなので間違いはないと思います。
この場合はまだ、OpenCVにカメラを認識させるなにかのプログラムが必要なのでしょうか
436 :4352011/04/03(日) 04:46:42.43
あるいは、同じくダメだったという別のUSBカメラがUVCじゃなければ、
問題の切り分けとしてUVC云々が原因ではないといえそうですね。
438 :4292011/04/03(日) 13:34:06.76
連投すいません。
うろ覚えのUSBカメラは1.3-MP Webcam のC?00っぽいということです。
439 :デフォルトの名無しさん2011/04/08(金) 01:04:08.42
IPPとの連携について質問です。

OpenCV2.2を64bit,TBBとIPPを一緒に使おうとしています。
OSはWindows7、IPPはバージョン7のビルド3、開発環境はVisualStudio2010です。

ttp://kaushalsolanki.com/2011/01/compile-and-set-up-opencv-for-visual-studio-2010-with-64-bits-support-ipp-7-0-and-tbb/
↑を参考にしてビルドしてみたところ、一通りlibとdllを作成できました。
この状態で、IPPはopenCVから呼び出しできるようになっているのでしょうか?

Hello World に cvGetModuleInfo を追記して実行したところ、
第二引数(version)には cxcore: 2.2.0
第三引数(loaded_addon_plugins)には 空文字
となりました。
これはインストール失敗またはVisualStudioの設定ミスでしょうか?

Hello World のインクルードディレクトリや追加の依存ファイルにはIPPのパス
やlibを設定、
環境変数PATHにもIPPとopenCVのdllへのパスを設定済みです。

ご助言よろしくお願いします。
444 :デフォルトの名無しさん2011/04/14(木) 18:02:12.82
失礼します。
FindContoursで抽出した輪郭から、二値化した黒枠の内側のみを抽出したい場合はどのようにしたら良いのでしょうか?
サンプルを見るとApproxPolyを使っているのがありますが、5番目のパラメータの「近似精度」とは具体的にどんな精度なのでしょうか?
http://opencv.jp/opencv-1.0.0/document/opencvref_cv_contours.html
すいませんが、よろしくお願いします。
446 :4442011/04/15(金) 13:47:11.47
と、思ったら、これだと必ず外側の輪郭が必要なのね
CV_RETR_LISTで輪郭を全部抽出して、2値化してるし隣接する画素を参照して確認したほうが良いのか

個人的な独り言になってすまんかった
447 :デフォルトの名無しさん2011/04/18(月) 19:04:10.71
パーティクルフィルターってRが昔から自動でやってた処理に名前つけただけじゃん
448 :デフォルトの名無しさん2011/04/19(火) 09:35:36.63
>>447
ヒント:御用学者は原発だけじゃない
449 :デフォルトの名無しさん2011/04/19(火) 23:25:42.01
最初のライブラリとかリンカとかから既に訳が分からないよ
初心者向けの日本語の資料ありませんか?環境は2.2+VisualC++2010で
451 : 忍法帖【Lv=1,xxxP】 2011/04/22(金) 13:54:27.07
iphoneで、リアルタイムに顔認識(顔の輪郭だけでいい)したいんだけど、
毎フレーム顔認識の機能を使うとリアルタイムでは出来そうにはないんだけど、
一回だけ認識してあとは、物体追跡でやったら、リアルタイムでできる
ものでしょうか、それとも他に方法ってあるんでしょうか?
よろしくおねがいします
452 :デフォルトの名無しさん2011/04/22(金) 21:02:18.51
画像のモーメントの空間モーメントはx,yの次数がそれぞれ1のとき何を表すんですか?
454 :デフォルトの名無しさん2011/04/30(土) 03:06:41.11
OpenCVは製品検査用途として充分なライブラリはあるのでしょうか?
下に挙げた処理が使えれば素晴らしいです。
やっぱりおとなしくMILやHALCONを使えってことになるんでしょうか。
モルフォロジー処理  粒子解析処理  パターンマッチング処理
極座標変換処理 バーコード読み取り(できれば) OCR(できれば)
その他基本的な処理(エッジ抽出・2値化・プロファイル演算)
455 :デフォルトの名無しさん2011/04/30(土) 08:18:40.77
>>454
OpenCVのいくつかの技術は特許が取られているので、商用に利用する際は別途許諾を得るか、
特許が取られている機能を避け必要があるので気をつけてくだされ。
456 :4542011/04/30(土) 10:13:38.52
レスありがとうございます。

そこらへん、キチンとケアしないとだめですね。

457 :デフォルトの名無しさん2011/04/30(土) 11:56:28.76
OpenCVの画像処理ライブラリ群とImageJの画像処理機能は
どっちができることが多いでしょうか?
460 :デフォルトの名無しさん2011/05/15(日) 00:47:35.33
画像処理エンジニア検定とか有るけど、あれって取得して意味あるんかな
461 :デフォルトの名無しさん2011/05/19(木) 12:13:28.08
OpenCV2.1でつまづいてます><
環境はVista,Visual Studio2008Express Editionです。
OpenCV2.1をインストールして、
環境変数PathにC:OpenCV2.1\binを追加。
VisualStudioのツールでインクルード&ライブラリファイル追加。
プロジェクトのプロパティでリンカ→入力で必要なライブラリを追加。
しました。

試しに新たなプロジェクトでsampleのdft.cをコンパイルして実行すると
下記のようなエラーでうまく動作しません…
これは何が原因なのでしょうか?

スレッド 'Win32 スレッド' (0x16c4) はコード 0 (0x0) で終了しました。
スレッド 'Win32 スレッド' (0x1560) はコード -1 (0xffffffff) で終了しました。
プログラム '[5944] ファイル名.exe: ネイティブ' はコード -1 (0xffffffff) で終了しました。
462 :デフォルトの名無しさん2011/05/19(木) 17:13:19.62
>>461
ソース2秒も見たら終了コードが-1になるケースは限られてるのがわかると思うけど。
467 :デフォルトの名無しさん2011/05/22(日) 15:49:46.30
>>461
で、解決したのかい。
466 :デフォルトの名無しさん2011/05/20(金) 10:49:16.99
OpenCVの動画ってFPSはいくつまで対応していますか?
cvGetCapturePropertyのCV_CAP_PROP_FPSを使用していますが、
30fpsくらいなら正常に取得出来るのですが、180fpsになると0.08とか全然違う値になってしまいます。
よろしくお願いします。
471 :デフォルトの名無しさん2011/05/23(月) 18:33:39.02
>>466
0.0833...になるね。対応してないのかな?フレーム数900は確認できたけど、再生ソフトだと4秒になるよ?
475 :デフォルトの名無しさん2011/05/23(月) 23:43:11.84
>>466
Mac OpenCV 2.2.0 で試したところ150になったよ
画像自体は読めていたけどfpsはうまくいかないみたい
470 :4662011/05/23(月) 12:42:09.99
180fpsで900枚分(5秒)の動画をうpしました。(プロパティ上では181fps)
zipで圧縮しましたが、それでも186MBあります。
ダウンロードパスワードは「cv」です。
よろしくお願いします。
http://www1.axfc.net/uploader/B/so/85159.zip
472 :デフォルトの名無しさん2011/05/23(月) 21:52:36.86
aviファイルのopenに失敗してたりはしてない?
473 :デフォルトの名無しさん2011/05/23(月) 22:46:05.66
fpsの取得が失敗しても処理に影響することってあるんか?
可変じゃないなら事前に調べればいいだけだし
474 :4662011/05/23(月) 23:28:14.07
>>471
再生ソフトの秒表示が端数切捨てってことは無いでしょうか?
fpsはやっぱりおかしいですよね。

>>472
とりあえず、オープンそのものは失敗にはなっていないです。

>>473
fpsは解像度やシャッタースピード等で可変になるんで、fpsを取得する必要があるんです。
最悪、一度再生して再生時間を計測するとかしないといけないのかな。
477 :デフォルトの名無しさん2011/05/24(火) 00:00:54.85
>>474
openCVのバージョンとオープンしてる関数はなんですか?cvCaptureFromAVI?
やってみたけどNULLを返すんだけどなぁ...
openCV1.1で追ってみるとCvCaptureAVI_VFW::open()のAVIStreamGetFrameOpenが失敗してるっぽいけど
ためしに&bmihをNULLに置き換えてみたら181.25を返した(windows7)
2.2はコンパイルする環境作ってないけどソース見た感じにおんなじような
478 :4662011/05/24(火) 10:44:17.20
>>475
Macだと150ですか・・・近いですが少し微妙な値ですね。
フレームの取得(画像サイズ等)は出来るのですが、上手く動作しない感じです。

>>476
ファイルのプロパティやWindowsMediaPlayerでも情報は正確に取れているのですよね。
この違いは何でしょう?

>>477
OpenCVは2.1を使用していましたが、2.2にしても同じ結果でした。
オープンしている関数はcvCaptureFromFileです。
それをOpenCvSharpで使用しています。(OpenCvCharpには、FromFileとFromCameraしか無いので)
http://coderepos.org/share/browser/lang/cpluspluscli/OpenCvSharp/trunk/OpenCvSharp/CvCapture.cpp?rev=26033
OpenCvSharpのソースを見るとファイルの有無しか確認していないので、そのまま通っているようですね。
フレーム数やWidth・Heightは正確に取れている辺りが物凄く謎ですが。
481 :4662011/05/24(火) 17:37:51.13
fpsだけが対応していないようですし、ffmpeg.exeを使用すれば取得出来ますね。
http://www.milk-garden.net/blog/?p=356

とりあえずこれで取得してみて、ダメなら>>477さんのようにソースを修正してみます。
皆さんありがとうございました。
476 :デフォルトの名無しさん2011/05/23(月) 23:49:34.82
ffmpeg.exeだと、181.25 fpsで取てれますね。OpenCVのほうもffmpegで情報取ってるとおもってたけど違うのかな?
XP OpenCVは2.2 ffmpeg.exeは29958。
479 :デフォルトの名無しさん2011/05/24(火) 14:26:06.84
C#でってことね。
openCVにしろOpenCvSharpにしろソースあるんだから、追っかけていけば謎は解けるんじゃないの
480 :デフォルトの名無しさん2011/05/24(火) 16:30:40.45
ffmpeg.exeで正確なfpsが取得できるなら、それでプログラム組めばいいじゃん。
482 :4662011/05/25(水) 17:57:52.25
自分用メモ
MediaPlayerを使って動画の時間を取得してみたけど、やっぱり30fpsを超えると取得出来なかった。
鬼門なのかな。

axWindowsMediaPlayer1.mediaCollection.add(axWindowsMediaPlayer1.URL);
double dblTime = axWindowsMediaPlayer1.Ctlcontrols.currentItem.duration;
483 :デフォルトの名無しさん2011/05/26(木) 09:08:44.77
自分用メモとか書きつつ
>なのかな。
とか、マジキモイw
484 :4662011/05/26(木) 10:48:46.04
キモくてすまんなw
キモついでに自分用メモ追加するw

cvSetCapturePropertyからCV_CAP_PROP_POS_FRAMESで最終フレームに移動して、
録画時間取得してフレーム数で割ったら簡単に出来た。
486 :デフォルトの名無しさん2011/05/26(木) 14:26:07.04
今日の15時から17時にUSTREAMで
中部大の藤吉先生、広島大の栗田先生の講演中継あるよ
489 :デフォルトの名無しさん2011/05/31(火) 22:57:55.33
画像の一部を局所的に拡大する画像変換の方法を
模索しています。
たとえば、顔の画像の目の部分や口の部分だけを自然な形で
拡大するようなシーンを想定しています。
OpenCVのAPIでこういった変換に耐えうるものは
ありますか?
491 :デフォルトの名無しさん2011/06/01(水) 04:42:34.01
>>489に便乗して
自然な形ってのをぬいた関数はあるんでしょうか?
それこそカメラの前にかざした手だけを拡大したり,目の部分だけを拡大したり
493 :デフォルトの名無しさん2011/06/01(水) 07:48:15.45
>>491
「形を認識する」「そう判断するに至った領域を判別する」「範囲内で指定領域のみを切り出す」「なんらかのアルゴリズムで拡大する」
はすべて別物として考えて下さい
1,3,4は単純な処理としてはOpenCVでの得意分野です
画像認識は、現在のものはアウトラインや特徴点などで判別している関係上、2のどれが内側かってのは難しいですね
494 :デフォルトの名無しさん2011/06/01(水) 08:36:10.66
>>489
つ 美人フィルタ
微分を使っているということなので、PDE関連の論文をあたったら?
496 :デフォルトの名無しさん2011/06/01(水) 14:44:43.74
>>489
もしかして超解像がやりたいのか?
490 :デフォルトの名無しさん2011/06/01(水) 00:04:04.10
自然な形ってのがあいまいすぎるわな。
変換に耐えうるってのも、主観的すぎてなんとも言えないわな。
495 :デフォルトの名無しさん2011/06/01(水) 10:45:31.40
形状抽出は2値化してから順番に番号振るけど、
内側と外側の判別はある程度の座標を決めて、その中でも結局近くの画素から判別するしか無いと思う
497 :デフォルトの名無しさん2011/06/01(水) 19:51:26.09
サンプルコードのカメラキャリブレーションで遊んでるんですけど、歪み補正された画像が表示されない、て言うか画面真っ暗なんだけど何でなの?
501 :デフォルトの名無しさん2011/06/02(木) 07:27:41.17
大学の卒業研究でopencvを使って何かやりたいのですがいいアイデアないでしょうか?
502 :デフォルトの名無しさん2011/06/02(木) 07:30:21.25
>>501
まず服を脱ぎます
503 :デフォルトの名無しさん2011/06/02(木) 07:32:48.74
>>501
なんでOpenCVなの?
504 :デフォルトの名無しさん2011/06/02(木) 09:03:07.31
>>503
画像処理系のことで何かやりたい、と教授に言ってしまったからです
opencv使ってなんかやれと言われたので、とりあえずインスコしてサンプルは走らせたとこなんですが、やるネタが思いつかないんですよ
505 :デフォルトの名無しさん2011/06/02(木) 09:33:15.22
>>504
ネコの画像10000枚を学習させて写真の中のメコを検出するプログラム
506 :デフォルトの名無しさん2011/06/02(木) 10:15:59.79
>>504
教授室の前にWebカメラ設置して、訪問者が男なら鍵をかけ、女なら解錠し、さらに美人なら自動でドアを開けるプログラム
もしくは、教授室の前を通る人間を判別して、美人のみを撮影するプログラム
508 :デフォルトの名無しさん2011/06/02(木) 17:31:55.20
>>504
道路を通過した自動車を認識して、交通量を測定する

この間ひさしぶりに交差点で手動でカウントしてる人を見て
こんなの自動化できるだろーって思った
519 :デフォルトの名無しさん2011/06/04(土) 10:34:34.50
>>504
出遅れた
ヒヨコのオスメス判別
507 :デフォルトの名無しさん2011/06/02(木) 17:27:10.20
補正画像が出るようになったけど、画像の歪みが少ないから校正されてるのかわからん
510 :デフォルトの名無しさん2011/06/02(木) 17:58:06.93
あーなるほど、映像がすでに補正されてるのか、意味ねーじゃん
512 :5042011/06/03(金) 00:06:59.57
こんなレスが付くとは・・・ありがとうございます
たしかに学習させてなにかを判別するっていうのは面白そうですね簡単にできそうですし
美人判定なら顔がいかに左右対称ってのと人の顔の平均に近いかってかんじですかね
交通量測定面白そうですね これにするかもしれないです
新しいことやりたいですけど案が思いつかなかったんで・・・
513 :デフォルトの名無しさん2011/06/03(金) 10:31:59.66
>>512
交通量を測定するなら、最低でも車種の選別と時間別の計測くらいは入れておけよ
論文書くなら、ナンバープレートをいかに遠くのカメラから正確に読み取るかで、新しい手法見つけりゃ特許まで取れるかもしれん
まー大抵の鮮鋭化手法は確立されてるから、かなり厳しいが
リアルタイムで遠距離や画像ボケによる失われた情報を復元するくらいのこと出来れば、教授から褒めて貰えるぞ
514 :デフォルトの名無しさん2011/06/03(金) 11:01:58.32
>>512
研究と開発を分けてかんがえろよ
研究しろ
517 :5042011/06/04(土) 09:51:22.48
たしかに開発ライクになってしまいますね・・・うまくやります
交通量測定ならたしかに車種の判定とナンバープレートとかはできそうですね
レスしてくれた方色々参考になりましたありがとうございました

トラックに隠れる車は交通量だけならカメラ複数or上方からの撮影でいけそうですね
隠れる車のナンバープレート判定なら難しそうですがこれは目視でもできないので仕方なさそうですね
518 :デフォルトの名無しさん2011/06/04(土) 09:55:42.86
頭使えよ
交通量測定の話からずれてる.ナンバープレートを認識,識別する作業は必要か?
安いフリーターやとって手軽にやってる交通量測定で上方カメラ設置できるのか?
サーベイもせずに2ちゃんでアイデアどうこうしようなんて研究向いてないよ
520 :デフォルトの名無しさん2011/06/04(土) 13:28:45.27
ナンバー発行地の識別とかはニーズがあるかも。
長期間の測定なら上方カメラ設置も出来るかも。
521 :デフォルトの名無しさん2011/06/04(土) 14:35:54.11
最初から難しいことをあれこれ考えるのはいいが、たいていポシャる。
出来ることを一つずつ積み重ねるのがよいよ。ま、考えるの自由だが。
523 :デフォルトの名無しさん2011/06/06(月) 09:28:09.19
俺を画像だけでも自動的にイケメンに変換する処理
525 :デフォルトの名無しさん2011/06/07(火) 00:57:46.10
>>523
画像だけイケメンになって何の得になるというのかね
532 :デフォルトの名無しさん2011/06/09(木) 11:00:09.15
>>525
リアルタイムで処理出来れば、スカイプ程度なら人気者
526 :デフォルトの名無しさん2011/06/07(火) 22:55:47.29
いつになったらM(y,x,ch)みたいに画素アクセスできるようになるんだろ
531 :デフォルトの名無しさん2011/06/08(水) 22:55:43.24
>>526
マクロがあると聞いたような。
591 :デフォルトの名無しさん2011/08/17(水) 10:56:47.22
>>526
それC++でできるよ
というかなんでみんなC++使わんの?
528 :デフォルトの名無しさん2011/06/08(水) 15:00:15.13
ImageDataからポインタで指定しろよ
547 :デフォルトの名無しさん2011/06/16(木) 09:56:16.07
>>546
>>528
529 :デフォルトの名無しさん2011/06/08(水) 16:01:46.42
openCVでパノラマ画像を作る方法って
特徴点検出→特徴点対応→貼りつけだと思うが
ただ貼りつけるだけになってしまって、画像が重なって表示される
改善する方法ない??
530 :デフォルトの名無しさん2011/06/08(水) 16:11:23.12
東工の課題?
533 :デフォルトの名無しさん2011/06/09(木) 11:54:05.02
>>530
課題ではないよ。
研究の基礎になるんだけど、そこができずに早速詰まってる。
534 :デフォルトの名無しさん2011/06/09(木) 22:16:37.93
顕微鏡とかの複数の画像からのマルチフォーカスを作成したいんだけど、アルゴリズムとか書いてある本とかないですか?
ホームページとか論文でもいいけど。
536 :デフォルトの名無しさん2011/06/10(金) 09:35:14.77
>>534
どこで見たか忘れたがミジンコの"全焦点"画像のデモには感動したな
535 :デフォルトの名無しさん2011/06/10(金) 00:25:15.35
焦点 合成 アルゴリズム
とかでググると論文ぽいのも出てくるみたいだけど?
537 :デフォルトの名無しさん2011/06/10(金) 17:55:20.28
失礼します。
輪郭を抽出して、その面積はcvContourAreaで求められるのですが、
輪郭の平均輝度を求める方法はありますでしょうか?
540 : 忍法帖【Lv=5,xxxP】 2011/06/14(火) 12:48:05.34
輪郭抽出したらその中をスキャンすればいいだけだろ。
面倒だけど、難しくもない。
542 :デフォルトの名無しさん2011/06/15(水) 22:48:23.51
頭使えよ破線はどうやってできてるんだ?
543 :デフォルトの名無しさん2011/06/16(木) 00:01:24.47
>>542
だいたい分かるけど・・・
凸包できますかね?
544 :デフォルトの名無しさん2011/06/16(木) 00:17:35.28
>>543
リファレンスって知ってる?
545 :デフォルトの名無しさん2011/06/16(木) 01:03:30.84
>>544
543ですが、日本語がちょっとおかしかったです。

凸包を点線で描写したいんですが、できますか?
546 :デフォルトの名無しさん2011/06/16(木) 07:38:26.74
画像を左上の画素から右下の画素まで読んで各色の数を数えたいのですが、
どうすれば1画素ずつスキャンできますか?
548 :デフォルトの名無しさん2011/06/17(金) 00:04:35.92
画像認識の知識がなく、どこで聞いたらよいかわかんないんで失礼します。

カメラの画像等で、背景が黒系で、白塗りの円を数十個マークしてある状態で、
このマークの数をカウントするアルゴリズム考えています。
工場のラインで、マーキングしてあるモノを数えるイメージ?

私としては、マークは定型なので、円を検出してカウントしようかなと考えているのですが、
その手法としてハフ変換というものを用いるらしいんですが、結構処理が大変っぽいらしいので
たぶんそんなに厳密にやらなくても円を検出してくれると思うんですが、処理速度が速くて、
良い方法ありませんか。
なるべく処理速度が速いアルゴリズムにしたいです。
551 :デフォルトの名無しさん2011/06/17(金) 22:30:38.05
http://blog.livedoor.jp/hen_cyberne/archives/51072839.html このサイトのステレオ平行化プログラムを動かしたいのですが以下のエラーが出てしまいます

SurfMatch2_1.cpp matcher.match(descriptors1,matches);のところでエラーが出てしまいます

エラーは長いので次に書きます
開発環境はVS2010、OpenCV2.2です よろしくお願いします
555 :デフォルトの名無しさん2011/06/18(土) 23:46:56.10
以前は、動いていたプログラムが、正常に実行できたり、できなかったりします。
TCP/IP プロトコルで送られてきた、エレコムのUSBカメラで撮影したデータなのですが
cvShowImage関数を使って表示しようとすると、
「opencvClient.exe の 0x1007356e (cxcore200d.dll) でハンドルされていない例外が発生しました: ・・・・」
デバッグでステップインすると
cxcopy.cpp のstatic void flipVert( const Mat& srcmat, Mat& dstmat )関数の部分で
int t1 = ((int*)(src1 + i))[0];
src1 が空です。src1 は符号無しのchar 型のポインタ変数で
const uchar* src1 = src + (size.height - 1)*srcstep; このように定義されています。
const uchar* src = srcmat.data;
関連するsrc 変数はsrcmatという構造体のdataを指しています、ゆえに
この部分でsrc1 の値が入っていないので、アクセスバイオレーションが発生しています。
カメラが壊れて、データが壊れているのでしょうか?
環境 Openv2.0 & VS10
558 :5552011/06/19(日) 01:10:15.60
 皆さんどうもです。
このサイトを参考にC++ に移植して(クラス化)して、実装したのですが
今、試しに、コピペでコンパイルしましたが、やはり、同じところでエラーが出ます。
どなたか、このサイトのコードをコピペでコンパイルして、USBカメラを、繋げて
実行できるかどうか試して頂けないでしょうか・・・・_(^^)_
ttp://cv.nextfoods.jp/index.php?opencv%2Fsample%2Fstreaming
559 :デフォルトの名無しさん2011/06/19(日) 09:08:31.88
ざっと見、203400とかイメージデータサイズが埋め込まれてるから、カメラが320x240じゃないと落ちそうだけどな

通信部分全部取っ払って、カメラのデータをそのまま表示してみりゃカメラが壊れてるかどうかなんてわかるんだろ

560 :デフォルトの名無しさん2011/06/20(月) 10:28:13.26
画像が正常に取得出来てるかとか、
静止画を突っ込んで見るとか
src1の元にデータは入っているのかとか
見ればわかりそうだけどもな
561 :デフォルトの名無しさん2011/06/21(火) 00:48:20.32
関数のアルゴリズムが知りたいです。
FPGA化するかもしれないので。
563 :デフォルトの名無しさん2011/06/25(土) 20:28:32.48
Windows 7
Visual Studio pro 2010
OpenCV2.0
マルチスレッド (/MT)
このような環境で、リリースビルドでコンパイルしてできた実行ファイルを、配布したいのですが
OpenCV2.0のDLL の入っていない環境で実行すると当然
「highgui200.dllが見つからなかったため、このアプリケーションは開始できませんでした。」
エラーが出ます。
コンパイルオプションや、ビルドスイッチの設定で回避する方法があれば教えていただきたいのですが。
565 :デフォルトの名無しさん2011/06/25(土) 21:18:42.18
>>563
OpenCVをスタティックリンクライブラリ化しないと、実行ファイルだけ配っては無理。
ttp://www.chino-js.com/ja/tech/opencv/static-link/

実行ファイルと同じ場所に highgui200.dll 他をコピーすれば実行できたと思いますが、普通に一緒に配布するではダメなの?
OpenCVを使っている事を明記しておけば、問題ないと思いますが・・・。
566 :デフォルトの名無しさん2011/06/25(土) 22:15:24.26
>>565
>>563です
ありがとうございます、紹介して頂いたサイトを見て、自分の環境でも行えるように
して見たいと思いましたが、簡単にできそうもないので、DLLも一緒に配布したいと
思います。
567 :デフォルトの名無しさん2011/06/26(日) 12:06:15.59
>>566 です
休みなので、スタティックリンクライブラリ化にチャレンジしてみるのですが
ライブラリイの出力先を、何処で指定するのでしょうか?
紹介して頂いた、サイトでは普通に、以下のような感じで、設定し、ビルドすると

[アクティブ ソリューション構成] ドロップダウンリストから、 「<新規作成...>」を選択しますと、[新しいソリューション構成] というダイアログが
表示されますので、[名前] に Release_Static と入力し、[設定のコピー元] から Release を選択します。
[新しいプロジェクト構成を作成する] チェックボクスはオンにします。これで [OK] ボタンを押します。

cv.lib C:\OpenCV\_make\release_static\
このように、出来上がっているようなのですが、自分の環境では上手く行きません?
現在の環境は
VC8
OpenCV2.0
です。
568 :デフォルトの名無しさん2011/06/26(日) 13:13:22.67
>>567
です
構成プロパティ→C/C++→全般→出力ディレクトリでできました
570 :デフォルトの名無しさん2011/06/26(日) 23:11:56.73
VCとOpenCVを最近さわりはじめた初心者で、詳しいことが分からなかったので
ここで質問させていただきます

パーティクルフィルタを実装しようとして、cvConDensation構造体を用いたプログラムをコンパイルしたところ
「'cvConDensation' : 定義されていない識別子です。」というエラーが出てしまうのですが、
OpenCV2.2にはcvConDensationは定義されていないのでしょうか?

環境は
Windows7
Visual C++ 2010 Express
OpenCV2.2
です

ご存じの方、よろしくお願いします
571 :デフォルトの名無しさん2011/06/26(日) 23:25:54.08
インクルードファイル合ってる?
572 :デフォルトの名無しさん2011/06/26(日) 23:30:57.38
>>571
ありがとうございます
opencv.hppをインクルードすれば、すべてのヘッダファイルが読み込まれるものだと
思っていたのですが、他にも読み込むファイルが必要なのでしょうか?
577 :デフォルトの名無しさん2011/07/14(木) 22:44:13.28
openCV 2.0 に同梱されている、ffmpeg のライブラリの使い方が解説してあるサイトをご存知でしたら
教えてもらえませんか。また、ffmpeg のライブラリでカメラから撮影したデータをavi とかflv にエンコーディングは
できないでしょうか?
578 :デフォルトの名無しさん2011/07/15(金) 02:59:09.42
>>577
根本から間違いすぎてる
OpenCVは何を使って動画を読んだか書いたかとか気にしないでいいように存在してる
古いやつには不具合はあれどそもそも標準で読み書きに対応してんだからそのままやればいい
他の手段を捨ててなぜかffmpegにこだわっての使い方限定なら多分スレ違い
そもそも何故2.0限定なんだろう
579 :デフォルトの名無しさん2011/07/15(金) 03:22:28.63
>>578
自分の書いた文章を書き込んでから読み直したらひどかった、正直すまんかった
標準のcvCaptureうにゅうにゅは環境で勝手に読み込み方法を切り替えちゃうね
580 :デフォルトの名無しさん2011/07/15(金) 07:41:33.23
OpenCVって「話題だし便利そうだから使ってみよう」と思って使ってみるんだけど
なんかどうでもいいところでハマってしまって「無駄に迂回してるだけなんじゃ」
と思ってしまうんだよね。なんというかできそうでできないことが多い。
582 :デフォルトの名無しさん2011/07/17(日) 01:50:52.36
OpenCV 2.3 and mac OSXな環境ですが、cv::VideoWriterがうまく動作しません。
cv::VideoWriter writer;
IplImage *query = NULL;
CvCapture *capo = cvCaptureFromAVI("newpart3.avi");
writer.open("outpart2.avi", CV_FOURCC('M','P','G','4'),29.97, cv::Size(720, 480));
while((query = cvQueryFrame(capo)) != NULL)
{
writer << query;
}
ソースはこんな感じで、outpart2.aviにはヘッダ情報のみしかない雰囲気です。
どなたかエスパーできる方いらっしゃいませんか?
583 :デフォルトの名無しさん2011/07/17(日) 06:48:31.62
>>582
fourccを "avc1", "png " に変えて試してみろ
584 :デフォルトの名無しさん2011/07/18(月) 16:48:53.53
>>583
うまくいきました!!ありがとうございますm(_ _)m
678 :デフォルトの名無しさん2011/10/17(月) 09:46:30.06
多分imgの解放してないから、メモリリークしてるだけだと思う
もしくは>>582-583
585 :デフォルトの名無しさん2011/07/21(木) 09:07:44.52
MFCアプリでvideoInputを直に使っています.
showSettingsWindow()で設定ダイアログが出せるのですが
videoInputでは
・設定ダイアログを現在出しているかを判断
・設定ダイアログダイアログを閉じる
方法が提供されていません.
これらを行う良い方法はありませんか?
587 :デフォルトの名無しさん2011/07/27(水) 17:49:09.96
OpenCV初心者です。
パノラマ画像の生成について調べてたんですが、SURFは特許が絡んでるとの事。
代替の特徴量抽出で使えそうなものって何かありますか?
589 :デフォルトの名無しさん2011/07/28(木) 11:22:51.55
OpenCV2.1のcvCalibrateCamera2()で計算された
カメラ行列Aと歪係数Dを用いて,
(1)校正に用いたチェスボードを撮影したカメラ画像をcvUndistort2()した画像に,
(2)(1)の画像のチェスコーナー点座標をcvUndistortPoints()した座標を
重畳描画してみたところ,位置が重ならずに困っています.

(1)を
cvUndistort2( 元画像, 結果画像, カメラ行列A, 歪係数D );
(2)を
cvUndistortPoits( 元点座標, 結果座標, カメラ行列,A 歪係数D, NULL, カメラ行列A );
としていますが,引数指定が間違っているのでしょうか?
590 :5892011/07/28(木) 12:32:14.95
cvUndistort2()とcvUndistortPoints()とでは
必要となる計算の方向が逆だから同じコードで計算はされていないはずだ
→重ならない理由はそこらにあるのか?
→歪モデル式から逆計算せねばならないcvUndistortPoints()はちゃんとやっているのか?
…とか考えてcvUndistortPoints()のソース覗いてみたのですが
// compensate distortion iteratively
という個所で forで5回だけ回る謎のコードが書いてある…
この部分がドキュメントでの「 approximate iterative algorithm」に当たるのだと思うのですが
なんでこれで計算できるのかがさっぱりわかりません.
この個所の意味がわかる方いらっしゃいませんでしょうか…
593 :デフォルトの名無しさん2011/08/20(土) 14:50:05.25
みんな=All the people
皆(みな)=A lot of people

みんな元気? と聞かれて いぇーい! と答える口?

なんでみんな元気って分かるんだろうね。
600 :デフォルトの名無しさん2011/09/04(日) 02:08:01.11
windows7 64bitのOSでVisual Studio 2010を使って最近OpenCVを使い始めたのですが、
ver2.3を用いた時になぜかビルドできなかったので、ver2.2を用いてしばらく使っていました。
ですが、webカメラを用いて画像(動画)を取得する動作をさせるプログラムを作った際に、グレーの画面しか出てこず、
うまくいかなかったので、調べた結果windows7 64bitモデルでver2.2を用いた場合はこのような症状が多発しているとのことで、
ver2.0を用いればうまくいくとの事だったのでて新たにver2.0でやり直そうとしたところCMakeを用いてソリューションをビルドしなくてはならないとのことだったので
(今まではCMakeを用いてなかったのですが)今回初めてCMakeを用いて設定したのですが、ソリューションをビルドしたときに作成されるはずのファイルのうち
重要なcv200.libだったり、highgui200.libだと言ったファイルが作成されないのですが、どうしたらよいのでしょうか?
601 :デフォルトの名無しさん2011/09/04(日) 05:34:25.54
>>600
長い
602 :デフォルトの名無しさん2011/09/04(日) 06:22:18.75
>>600
lib\Releaseやbin\Releaseあると思うけど
ビルドは成功しているんだよね?
どういったファイルが生成されたのかログを見たら
603 :デフォルトの名無しさん2011/09/04(日) 16:43:56.60
Windows7 64bitOSとVS2010でOpenCV2.3.1を使おうとしているのですが、導入で躓いてしまいました
ネットから拾ってきたDxLibとの併用のサンプルプログラムを実行しようとしているのですが、
OpenCVのCvCaptureなどの構造体、及び関数がVS2010に認識されません。

VS側の追加のインクルードディレクトリに登録するのは、opencv\build\include\opencv2及び\opencv、
環境変数のPathに追加するのは、opencv\build\x64\build\vc10\bin。
これらで合っているでしょうか?
604 :デフォルトの名無しさん2011/09/04(日) 16:54:28.76
opencv使ったことないから当てずっぽうでいうけど、
VSの追加のライブラリディレクトリか環境変数libに
opencv\build\x64\build\vc10\lib辺りを追加して
追加の依存ファイルにライブラリ名追加するのを忘れてんじゃないの?
607 :デフォルトの名無しさん2011/09/04(日) 20:55:51.12
>>604
プロジェクトのプロパティ、リンカーの追加のライブラリディレクトリにopencv\build\x64\build\vc10\libを追加することでとりあえず赤線は消えました。
仰るとおりでした、ありがとうございます。

しかしコンパイル時にcvReleaseCapture等が未解決の外部シンボルのエラーになってしまいました。
これはまだ追加のライブラリや追加のインクルードに必要なフォルダが登録されていないということでいいんでしょうか?
609 :デフォルトの名無しさん2011/09/04(日) 22:27:02.85
コンパイルエラーならインクルード、リンクエラーならライブラリ、どっちのエラーか
リンクならライブラリを指定してないんじゃないの。
610 :6072011/09/05(月) 18:41:14.43
確認してみましたが、リンカーについては追加の依存ファイルの設定も追加のライブラリディレクトリも設定してありました。

導入手順を確認したいのですが、これ以上は初心者スレに行ったほうがいいでしょうか?
611 :デフォルトの名無しさん2011/09/05(月) 18:49:19.46
>>610
リンクエラー(未解決の外部シンボルのエラー)になるということは、
プログラム内にも追加の依存ファイルの中にもその関数の実体がないということ。

cvReleaseCaptureならopencv_highgui2*.libだと思うけど、入ってる?
612 :6102011/09/06(火) 21:11:33.69
>>611
確認してみましたが、opencv_highgui231.libは追加の依存ファイルに
登録されていました
614 :デフォルトの名無しさん2011/09/12(月) 16:12:01.92
OpenCV2.3でOpenCV1.0のプログラム動かしたいんだけどエラーがめっちゃでるのね。これって1.0のプログラムをそのままコピペしたら動かないようになってるの?
618 :デフォルトの名無しさん2011/09/12(月) 20:48:01.74
>>614
_c.hの方をincludeすると幸せになれる
615 :デフォルトの名無しさん2011/09/12(月) 17:14:47.74
そもそもコマンド名から代わってるからな
一つずつ調べて書き直せ
617 :デフォルトの名無しさん2011/09/12(月) 20:22:06.53
Cライブラリはあまり変わってないと思うけどな。
highguiあたりで引数が増えたりがあったけど。
619 :デフォルトの名無しさん2011/09/13(火) 18:51:59.56
bmpをロードしてcvShowImageで表示しようとしたら、12秒くらいかかって真っ白なウィンドウしか表示しない。
スレッド上ではうまく動かないとかあるんでしょうか?
621 :デフォルトの名無しさん2011/09/14(水) 01:24:17.68
ここは質問よろしいですか?
格子状に縦と横の線が垂直に交わっていて、その交点を抽出したいのですがうまくできなくアドバイスが欲しいのです。
関数 cvGoodFeaturesToTrack() を使ってコーナーとして検出できるのかなと思ったのですが、背景が暗い白、格子線が背景より少し明るい白のためか、誤検出が多いのです。
恐縮ですが知恵、知識を拝借願えないでしょうか。
626 :デフォルトの名無しさん2011/09/14(水) 14:22:58.51
>>621
cvGoodFeaturesToTrackは使ったこと無いから的外れかもしれんが、特徴点抽出だから余計な点まで抽出してるのかも
http://wikiwiki.jp/masayashi/?OpenCV%2FGood%20Features%20to%20Track

余裕あったらcvFindContoursで格子の輪郭(出来れば矩形のみ)を抽出して、それぞれの頂点から交点を求めても良いかもしれん
http://imagingsolution.blog107.fc2.com/blog-entry-202.html
ただ、色が近いと二値化しても角が丸くなっちゃって、交点がずれたり矩形と認識されない可能性もあるから、保証は出来ん
622 :デフォルトの名無しさん2011/09/14(水) 01:43:46.36
どう誤検出なのかぐらいは書きましょう。二値化なりすれば?
623 :デフォルトの名無しさん2011/09/14(水) 08:31:02.66
誤検出は交点をとらず、ゴミや照明の角度による影、線の中腹(線上の交わっていない部分)などを検出していると思います。二値化ですか、やってみます。背景と格子線が似た色なので閾値が決められず保留にしていました。
625 :デフォルトの名無しさん2011/09/14(水) 12:58:20.65
>>623
クラスタリングで減色すればいいのでは
624 :6192011/09/14(水) 12:12:25.55
bmp自体のロードは成功していて、別スレッドでOpenGLを使っていたのが拙かったのかもしれないです
OpenGLのウィンドウへコピーしたら表示されました
627 :デフォルトの名無しさん2011/09/14(水) 23:34:21.66
すみません、質問させてください。
Visual C++ 2010 ExpressとOpenCV 2.3.1を合わせて導入したのですが、
(OpenCVはコンパイル済みのOpenCV-2.3.1-win-superpackを使用)

Debugでビルドした実行ファイルは正常に動作するのですが、
Releaseでビルドした実行ファイルがすべてクラッシュしてしまいます。

正常に実行出来るようにするには、どういった点をチェックすればよろしいでしょうか。
628 :デフォルトの名無しさん2011/09/14(水) 23:46:04.54
連投になってしまい申し訳有りません。少し実験して状況を確かめてみました。

Visual C++ 2010の[リンカー] - [入力]設定欄で
末尾にdがつくlibファイルを先に入力するとDebugは正常に動くがReleaseは動かず、
末尾にdがつかないlibファイルを先に入力するとReleaseは正常に動くがDebugは動かないようでした。

両立させるにはどのように設定すればよろしいのでしょうか?
631 :デフォルトの名無しさん2011/09/15(木) 02:26:16.61
>>628
プロジェクトのプロパティ→構成 
Debugの方をdつく方にして
Releaseはつかない方セットする
634 :デフォルトの名無しさん2011/09/16(金) 06:58:51.08
両立させることは不可能。なぜかたまにうまくいくこともある。
635 :デフォルトの名無しさん2011/09/16(金) 08:59:39.98
Haar-likeで顔を抽出しROIをつかってウィンドウに抽出した顔の矩形部分を表示したいのですがなぜか定義したはずのCvRect rが
定義され ていないとエラーが出てしまいます。
どうやったらroiにrからの値を代入できるでしょうか?

ちなみに[breakpiont]ではrがありえない数字もしくはエラーになってしまいます。

ご教授の程よろしくお願いします。

以下部分的なソースコードです。



636 :デフォルトの名無しさん2011/09/16(金) 09:03:18.91
CvRect roi;
CvRect *r;
省略
for(int i=0; i < (objects ? objects->total : 0); i++){
   r = (CvRect *) cvGetSeqElem(objects, i);
   if(r != NULL) roi = cvRect(r->x, r->y, r->width, r->height);
   cvRectangle(frame, cvPoint(r->x, r->y), cvPoint(r->x + r->width, r->y+r->height), CV_RGB(0, 255, 0), 4);
}
roi = cvRect(r->x, r->y, r->width, r->height);
cvSetImageROI(frame,roi);          //[breakpoint]
cvShowImage("顔検出",frame);
cvResetImageROI(frame);
637 :デフォルトの名無しさん2011/09/16(金) 11:17:00.13
>>636
顔がひとつも検出されないときに
ループに入らないからrが未定義なのでは
638 :デフォルトの名無しさん2011/09/16(金) 12:21:04.76
>>637
アドバイスありがとうございます。
おかげさまで解決しました。

一応解決方法として
roi = cvRect(0, 0, frame->width, frame->height);
と最初に定義することで解決しました。
639 :デフォルトの名無しさん2011/09/16(金) 12:26:13.44
haar-likeのカスケード分類器を複数使って顔の部位を複数検出する
プログラム作ってるのですが、プログラムを10秒くらい起動し
ているとメモリの不正アクセスとかで落ちます。
なにか良い改善方法はありませんでしょうか?
640 :デフォルトの名無しさん2011/09/16(金) 16:13:30.13
一回一回cvReleaseMemStorageでメモリを解放すればいいんじゃないかな
641 :デフォルトの名無しさん2011/09/16(金) 22:41:57.11
>>640
アドバイスありがとうございます。
言われた通りに1回1回メモリ開放すればずいぶん長く起動できる
ようになりました。

ところで、カメラが家に2つあるので両方ためしたのですが
1つは正常に動作
もう1つはメモリの不正アクセスでエラー
となるのですが、カメラによってプログラムの動作もやっぱり
大きく変わってくるのでしょうか?
642 :デフォルトの名無しさん2011/09/17(土) 08:20:42.18
たとえばカメラが対応していない解像度を指定しちゃってるとか
cvSetCapturePropertyでカメラの縦横解像度を指定できる
643 :デフォルトの名無しさん2011/09/17(土) 09:55:53.09
>>642
対応してない解像度を指定しているとは盲点でした。
アドバイスありがとうございます。

ですが解像度はどうやら関係ないようでした。
FPSも関係ないようです。

ドライバの問題でしょうか?
ちなみにエラーするカメラは「ps3Eye」でドライバは有志のかたがたが
作られたものです。

644 :デフォルトの名無しさん2011/09/17(土) 15:09:28.50
>>643
alexpのドライバは1年半前あたりの奴は安定性に問題があったけど今は改善されてる気がする。

これ使ってる?(左下のCL Eye Platform Driver)
http://codelaboratories.com/downloads/
645 :デフォルトの名無しさん2011/09/17(土) 16:16:18.53
>>644
それ使ってます。
647 :デフォルトの名無しさん2011/09/17(土) 17:34:17.10
>>645
だとすると何とも・・・
まあOpenCVのキャプチャコードは大してまともじゃないということと、
フリーのドライバだけに完璧じゃないということもあるし。

解決可能かどうかはともかくだけど、プログラム的には、どういう条件で起きるか、
例外がどこスレッドで、どこのメモリで、どういうスタック状態で起きているのかを精査するのは無駄ではないはず。

画像キャプチャ部分だけ他のライブラリ使う手もある。
650 :デフォルトの名無しさん2011/09/18(日) 00:22:28.40
>>647
なるほど、確かに精査することで得るものもありそうですね。
ちょっと調べてみます。
お付き合いいただきありがとうございました。
646 :デフォルトの名無しさん2011/09/17(土) 17:03:40.39
質問です。
http://opencv.jp/sample/estimators.html#condensation
のサンプルコードをVC++で実行すると
'System.NullReferenceException' のハンドルされていない例外が .exe で発生しました。
追加情報: オブジェクト参照がオブジェクト インスタンスに設定されていません。
というエラーがでてしまうのですがどこか間違っているのでしょうか。
初歩的な質問で申し訳ありませんがよろしくおねがいします。
648 :デフォルトの名無しさん2011/09/17(土) 18:05:01.37
>>646
画像を表示させたりとか基本的なところは実行出来てるんだよね?
649 :デフォルトの名無しさん2011/09/17(土) 20:14:13.84
>>648
USBカメラを選択したあとでエラーがでます。
少し調べたところ
1フレームキャプチャし,キャプチャサイズを取得する.
のあたりが問題なようですがよくわからなくて困っています。
651 :デフォルトの名無しさん2011/09/18(日) 00:44:33.80
まともなプログラムが書けてないのが問題だったでござるの巻
652 :デフォルトの名無しさん2011/10/04(火) 17:31:22.62
ver1.1のcvSVDについてなのですが

int main (int argc, char **argv) {
CvMat *W = cvCreateMat (6, 3, CV_64FC1);
CvMat *U = cvCreateMat (W->height, W->width, CV_64FC1);
CvMat *sigma = cvCreateMat (W->width, W->width, CV_64FC1);
CvMat *V = cvCreateMat (W->width, W->width, CV_64FC1);

int i, j;

for (i = 0; i < W->height; i++) {
for (j = 0; j < W->width; j++)
cvSetReal2D (W, i, j, i*j);
}

cvSVD (W, sigma, U, V, CV_SVD_V_T);

return 0;
}

としたらうまく動作しますが、
653 :デフォルトの名無しさん2011/10/04(火) 17:33:57.25

void factorization (CvMat *W, int frame_count, int final_count) {
CvMat *U = cvCreateMat (W->height, W->width, CV_64FC1);
CvMat *sigma = cvCreateMat (W->width, W->width, CV_64FC1);
CvMat *V = cvCreateMat (W->width, W->width, CV_64FC1);

cvSVD (W, sigma, U, V, CV_SVD_V_T);

のように関数にCV_64FC1型の行列Wを関数の引数とした場合

Sizes of input arguments do not match (U matrix has unappropriate size)
in function cvSVD,. \cxsvd.cpp(1334)

となりうまくいきません。

分かる方いらっしゃいますか?
654 :デフォルトの名無しさん2011/10/04(火) 19:17:23.15
>>653
上のでもWをcvCreateMat (3, 6, CV_64FC1); にしたら通らないのでは
引数の行列のサイズが違うといわれているけど
655 :6522011/10/04(火) 21:39:27.16
よくわかりませんが横長の行列の時に上手くいかないみたいなので
Wを転置行列にしてからSVDを行うことによって解決しました。
654さんありがとうございました。
656 :デフォルトの名無しさん2011/10/05(水) 14:44:53.57
opencv2.3.0をCMakeを用いてインストールして、Visual Studio2010を用いてプログラムを書いてるのですが、エラーのせいで全然実行できません。
このサイト→(http://ameblo.jp/8810-008/entry-10976608820.html)を参照してインストールしたので、一応プロパティシートも変更したりしました。
以下にソースコードと、エラー内容を載せるのでどこを変更したらいいかご教授ください。

おそらくソースコード自体はO'RIELYの『詳解OpenCV』を元に書いてるのでとくに問題はないと思います。
実際に、OpenCVの別のバージョン(1.0、2.2)では問題なく実行できていました。
ただ、ver1.0や2.2(どちらもインストーラーファイルにてインストール)ではWindows7の64bitで使用した際に、webカメラを指定すると
一瞬で終了したり、真っ黒な画面が表示されたり、そもそもwebカメラが見つからないと言ったエラーが出てくるので、バージョンを変更しました。
2.0ではそれらの問題がないとのことでCMakeをもちいてインストールしたのですが、ソリューションのビルドをしたところ、highgui.libなどいくつかのlibファイルが
生成されないと言ったエラーが起こってしまい、結局できませんでした。
もし、最初の質問に加えて、これらの問題の解決策についても、ご存じの方がいらっしゃいましたらご教授お願いします。
(ちなみに、ver2.0は右記サイトを参照してインストールしました。→http://imagingsolution.blog107.fc2.com/blog-entry-149.html


使用PC
OS:Windows7 (64bit)
657 :デフォルトの名無しさん2011/10/05(水) 14:50:30.78
#include"stdafx.h"
#include "highgui.h"
#include"cv.h"
#include"opencv2\\opencv.hpp"
#pragma comment(lib,"D:\\OpenCV2.3.0\\build\\lib\\Debug\\opencv_core230d.lib") // opencv_core
#pragma comment(lib,"D:\\OpenCV2.3.0\\build\\lib\\Debug\\opencv_imgproc230d.lib") // opencv_imgproc
#pragma comment(lib,"D:\\OpenCV2.3.0\\build\\lib\\Debug\\opencv_highgui230d.lib") // opencv_highgui
#pragma comment(lib,"D:\\OpenCV2.3.0\\build\\lib\\Debug\\opencv_objdetect230d.lib") // opencv_objdetect

int main( int argc, char** argv )
{IplImage* img = cvLoadImage( "D:\\OpenCV2.2\\Chrysanthemum.jpg" );
cvNamedWindow("Example1", CV_WINDOW_AUTOSIZE );
cvShowImage("Example1", img );
cvWaitKey(0);
cvReleaseImage( &img );
cvDestroyWindow("Example1");}

エラー内容↓
D:\OpenCV2.3.0\include\opencv\highgui.h(45): fatal error C1083: include ファイルを開けません。'opencv2/core/core_c.h': No such file or directory
658 :デフォルトの名無しさん2011/10/05(水) 20:24:06.16
>>657
C言語ならcxcore.hじゃないの
エラーはD:\OpenCV2.3.0\include\opencv2\core\core_c.hが存在するなら
D:\OpenCV2.3.0\includeにインクルードのパスが通ってないと思うけど

そのサイトはファイルを直接編集しろとか言ってるけど
普通はツール→オプション→プロジェクトおよびソリューション→VC++ディレクトリで設定する
663 :デフォルトの名無しさん2011/10/06(木) 02:11:06.58
>>658
返信ありがとうございます。
一応cxcore.hをもちいたり、highgui.hの方に変更したり、プリコンパイル済みヘッダーの使用(プロジェクトのプロパティより設定)を、使用(/Yu)から作成(/Yc)に切り替えたりと、
色々やってみたのですが、やはり前二者に関しては同じエラーが、後者に関しては、別のエラーが出てしまい解決に至らなかったのでおっしゃる通りパスの設定やcore_c.hの有無等を確認したところ
パスは、環境変数の設定で追加してあるのに加えて、VC++ディレクトリのインクルードの方にも追加したのですが、うまくいきませんでした。
そこで、core_c.hの方を探してみると、なぜか生成されておらず、恐らくこれが原因かと思われたので、同じバージョンのコンパイル済みファイル(OpenCV-2.3.0-win-superpack.exe)内の...\OpenCV2.3\build\include\opencv2にあったファイルを持ってきて
もう一度ビルドするとビルド自体はうまく行きました。

そこで、今度はデバッグしようとすると「opencv_core230.dllがないため、プログラムを開始できません。・・・・」といったシステムエラーメッセージが出てきてしまいました。
しかし、opencv_core230.dllを探したところ、ちゃんと存在しておりました。
このエラーはなぜおこるのでしょうか?
671 :デフォルトの名無しさん2011/10/06(木) 14:16:07.85
>>663
環境が複雑になってそうだけど
ファイルがないのではなく、別のバージョンのヘッダーを読んでいるってことはないかな
インクルードディレクトリに複数のバージョンのOpenCVのincludeディレクトリが入ってるとか

dllのエラーはVC++ディレクトリの実行可能ディレクトリにdllがあるディレクトリを追加するか
dllがあるディレクトリを環境変数PATHに追加すればいいと思う
前者の場合、VC上から実行したとき以外はエラーになるだろうからPATHに入れるのがいいと思う
659 :デフォルトの名無しさん2011/10/06(木) 00:46:07.10
オープンCVをアンドロイドで使いたいんですが本気の初心者にもわかるような
ホムペはありませんか?
無ければわかるようになるまで学ぶ方法(ネット、本でもおk)を教えてください。
660 :デフォルトの名無しさん2011/10/06(木) 00:52:59.75
とりあえずAndroidという事はおいといて、
やりたい事がPCで普通に出来るところまで勉強すれば。
661 :デフォルトの名無しさん2011/10/06(木) 01:20:54.25
>>660
visual studioとか買った方がいいんでしょうか?
662 :デフォルトの名無しさん2011/10/06(木) 01:32:10.22
Androidで動くようになるまで5年くらいかかりそうやね?w
とりあえずVSは無料版でOK
665 :デフォルトの名無しさん2011/10/06(木) 02:32:13.16
>>662
ありがとうございます。
無料版もあるんですか。
やってみます。
664 :663(660)2011/10/06(木) 02:27:06.86
すみません上の書き込みをしたものですが、文章が変ですね。

エラーの解決策をご教授いただけますでしょうか?
666 :デフォルトの名無しさん2011/10/06(木) 11:42:41.11
すみません、opencvをやるに当たってC++とかも学んだ方がいいのでしょうか?
669 :デフォルトの名無しさん2011/10/06(木) 14:09:24.74
>>666
10年間C++をしっかり勉強してからOpenCVに手を出すのがいいと思う
670 :デフォルトの名無しさん2011/10/06(木) 14:12:38.13
ラッパー使うならC#も有り
でもやっぱりソースコードが読めるくらいの知識は必要だったり
672 :デフォルトの名無しさん2011/10/07(金) 23:11:56.99
質問させて下さい
環境:Android2.3.3 OpenCV2.3.1

Matで読み込んだ画像をcvFindStereoCorrespondenceGC関数の引数に使いたいんですが、うまくいきません

Mat* image_left = (Mat*)addr_left; // jlong -> mat
Mat* image_right = (Mat*)addr_right;

CvSize size = cvGetSize(image_left);
CvMat* disparity_left = cvCreateMat( size.height, size.width, CV_16S );
CvMat* disparity_right = cvCreateMat( size.height, size.width, CV_16S );
CvStereoGCState* state = cvCreateStereoGCState( 16, 2 );
cvFindStereoCorrespondenceGC(image_left, image_right, disparity_left, disparity_right, state, 0 );
cvReleaseStereoGCState( &state );

CvMat* disparity_left_visual = cvCreateMat( size.height, size.width, CV_8U );
cvConvertScale(disparity_left, disparity_left_visual, -16 );

Matは引数に使えないんでしょうか?適切な型がわかりません
どなたか教えていただけないでしょうか
673 :デフォルトの名無しさん2011/10/09(日) 12:53:28.06
質問です。

Opencvのカスケード分類器を用いて顔の認識を行っています。
検出される各領域に付けられる、それぞれのスコア(検出度)を出力したいのですが、
どこを参照すればいいですか?

唐突な質問で申し訳ないですが、宜しくお願いします。
674 :デフォルトの名無しさん2011/10/10(月) 01:33:41.70
>>673
分類器を全て通過したかしなかったかの2値だと思う
675 :デフォルトの名無しさん2011/10/10(月) 20:48:24.39
>>673
cvhaar.cppのcvRunHaarClassifierCascadeのstage_sumでも返したらいいんじゃね?
676 :デフォルトの名無しさん2011/10/16(日) 21:18:46.11
OpenCV 2.2 で mac OSXですが、VideoWriterがうまく動作しません。
ソースは以下のような感じです.
VideoWriter VideoWriter("out.avi",CV_FOURCC('D','I','B',' '), 30, Size(Width,Height));
while(true){
Mat img;
  //ここでimgをロード(省略)
  VideoWriter.write(img);
}
情報が少なくて申し訳ないですがよろしくお願いします.
677 :デフォルトの名無しさん2011/10/17(月) 01:11:43.76
>>676
まずはどう動作しないのか、どういうエラーが出るのかくらい書こうぜ
679 :デフォルトの名無しさん2011/10/20(木) 17:55:46.97
opencvのインストール時にエラーが出て先に進まなくなってしまったので質問指せてください。

当方vmwareを使用してatde2(linux)環境でopencv2.0をインストールしようとしています。
opencvのmakeまではうまくいくのですがmake installを行おうとしたところ以下のようにエラーが出てしまい、うまくいきません。

[100%] Built target traincascade
Install the project...
-- Install configuration: "RELEASE"
-- Installing: /home/atmark/opencv/release/share/opencv/OpenCVConfig.cmake
.
.
-- Installing: /home/atmark/opencv/release/include/opencv/cvwimage.h
-- Installing: /home/atmark/opencv/release/include/opencv/cxflann.h
CMake Error at src/cv/cmake_install.cmake:48 (FILE):
file INSTALL cannot find "/home/atmark/opencv/release/lib/libcv.so.2.0.0".
Call Stack (most recent call first):
src/cmake_install.cmake:38 (INCLUDE)
cmake_install.cmake:47 (INCLUDE)

make: *** [install] エラー 1
root@atde:/home/atmark/OpenCV-2.0.0/release#


原因がわからず困っています、必要であれば他の情報もお伝えしますので分かる方いらしたらよろしくおねがいします。
681 :デフォルトの名無しさん2011/10/21(金) 19:05:10.73
>679
普通にconfigure && makeからmake install行けたんだが(なぜか*.so.4.0.0とかなったけど)
cmakeでもpython切って通したが(こっちはちゃんと*.so.2.0.0)

とりあえず、
1. そのパッケージを取ってきたところ
2. cmake .した結果
が知りたい
682 :デフォルトの名無しさん2011/10/21(金) 23:52:50.13
やたら低いバージョンの質問してくる奴がたまにいるけど何なんだろな
なんかメリットあるんだろうか
684 :デフォルトの名無しさん2011/10/23(日) 22:57:27.16
opencvをアンドロイドで使いたいです
どうやって勉強したらいいのか教えてください
もう2カ月くらい頑張りましたができる気配がありません
当方初心者です。
685 :デフォルトの名無しさん2011/10/23(日) 23:17:02.01
まず服を脱ぎます
686 :デフォルトの名無しさん2011/10/24(月) 00:51:49.39
>>685
ぬぎました
687 :デフォルトの名無しさん2011/10/24(月) 00:57:12.59
どんな初心者用のホムペを見てもよくわからん言葉が出てきて詰みます
どこか初心者でもおkな情報源ありませんでしょうか?
本も堆く積みあげられてます。
688 :デフォルトの名無しさん2011/10/24(月) 08:58:41.25
ぐぐれ
689 :デフォルトの名無しさん2011/10/25(火) 23:07:38.99
>>688
ぐぐってダメだからここで聞いたんだっての
また時間置いてぐぐって挑戦してみるわ。
690 :デフォルトの名無しさん2011/10/25(火) 23:28:18.41
どんな本読んでるの?
日本語のOpenCV本って10冊もないでしょ?
全部読んでもわからないならあきらめたほうがいい。
691 :デフォルトの名無しさん2011/10/25(火) 23:44:34.86
よくOpenCV初心者っていうやつはそもそもC/C++初心者だよな
OpenCV以前の問題であることがほとんど
692 :デフォルトの名無しさん2011/10/26(水) 00:02:32.08
>>690
諦めきれない

>>691
そうなんだけどな。
でも他にどうしようもないわ。
693 :デフォルトの名無しさん2011/10/26(水) 00:20:14.19
よくわからん言葉がどういうものか書けば、つまづいているレベルもわかるし
アドバイスもしやすくなる
694 :デフォルトの名無しさん2011/10/26(水) 03:46:42.97
まず10年間C++を勉強します
695 :デフォルトの名無しさん2011/10/26(水) 07:41:39.17
というか、アドバイスのしようがない。
プログラム暦というか、技量がわかるような記述が無いし。
何をしたいかも明確でない。ただの愚痴しか書いてないんじゃな。
696 :デフォルトの名無しさん2011/10/26(水) 14:00:00.72
OpenCV 2.3.1 for Android がいい感じ - GeekleBoard
http://d.hatena.ne.jp/ksksue/20110724/1311505685

androidでOpenCV(環境構築編) ? Android
http://team-hiroq.com/blog/android/android_opencv_setup_environment.html

いくらでも出てくるのになぁ
つーかC++で無くてもJavaで直接動くんだから、これで使えないなら才能無いと思ってプログラムの世界から身を引いたほうが良い
697 :デフォルトの名無しさん2011/10/26(水) 23:53:00.48
>>693
さんくす
またやる気が復活したら相談にくるわ。

>>694
sine

>>695
まぁ、愚痴だから・・・

>>696
(2)−8
gcc、make、cmake、libidn、swig、subversionが必要ですので、リストから選択してください。

ここで詰んだ
cmakeはわかったんだが他の奴をどう選択すればいいのかさっぱりわからん。。。
ちなみにプログラム歴はいまやり始めたところ。
昔エクセルのマクロに挫折した。
698 :デフォルトの名無しさん2011/10/26(水) 23:53:41.37
>>696
ちなみに
androidでOpenCV(環境構築編) ? Android
http://team-hiroq.com/blog/android/android_opencv_setup_environment.html
こっちの話ね。
700 :デフォルトの名無しさん2011/10/27(木) 02:37:51.86
>>696 の前者がそのまますぎて詰まりようがない、こっちのがいいと思う
確か今のandroid SDKのえみゅってWindowsとLinux限定でWebカメラに対応したんだっけ?
だったら下手したら実機無しでもさくっと出来るね
699 :デフォルトの名無しさん2011/10/27(木) 00:02:04.91
>697
同じように選択すればいいと思うが
検索できるなら入力して見つければいいだろうし、Cygwinは知らんがGCCとかmakeはdevかなんかのグループにあるんじゃないかな
ひたすらリスト内から探してチェック付けてインストール

まぁ、Linuxなりなんなりでやった方が楽と思う

マイクロソフト ワイヤレス ブルートラック マウス Arc Touch Mouse RVF-00006
マイクロソフト ワイヤレス ブルートラック マウス Arc Touch Mouse RVF-00006