1read 100read
2011年12月1期プログラム16: 【Intel】OpenCV総合スレ 3画素目【画像処理】 (856) TOP カテ一覧 スレ一覧 2ch元 削除依頼
・ 次のスレ
17: 性器表現0.0.1 (16)
18: WinRTスレ (Metro, .NET Core, C++/CX) (832)
19: なぜC+のmain関数はどのクラスにも属していないのか (69)
20: くだすれPython(超初心者用) その12 (136)

【Intel】OpenCV総合スレ 3画素目【画像処理】


1 :10/04/19 〜 最終レス :11/12/09
OpenCVとはインテルが開発・公開しているオープンソースのコンピュータビジョン向けのLinux/Windows向けC/C++ライブラリです。
実装分野は
・ユーザーインターフェイス
・物体分離
・セグメンテーションと認識
・顔認識システム
・ジェスチャー認識
・モーショントラッキング
・感情モーション
・モーション理解
・モーションからの構築(SFM)
・モバイルロボティクス
前スレ
【Intel】OpenCV総合スレ【画像処理】2
http://pc12.2ch.net/test/read.cgi/tech/1230511656/l50
関連リンクなどは
>2-10くらい

2 :
【関連スレ】
画像処理 その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/

3 :
本家
http://opencvlibrary.sourceforge.net/
リファレンス日本語訳・サンプルコード
http://opencv.jp/

4 :
申し訳ない
>>2 の殆どがリンク切れだ

5 :
やっと3ピクセル目かよw

6 :
>>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

7 :
OpenCVって今もIntelが開発しているの??

8 :
オープンソースで、メインの開発者たちの所属はいろいろ
(IntelとWillow Garageが多いみたいだけど)だから、
○○の会社が開発している!ってこたーないんじゃね?

9 :
macのOpenCV2.1でバグありますか?

10 :
https://code.ros.org/trac/opencv/report/1
ほい

11 :
白黒の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 :
>>11
cvGet2Dじゃだめなの?

13 :
反転してマスクにするのはダメなの?

14 :
出来ました。
cvGet2Dでいけました
新たな問題が…
ax + by + cz + d = u
ex + fy + gz + h = v
ix + jy + kz + l = 1
x, y, z以外は値が分かっていて、x, y, zを求めたいんですけど、cv::Matをつかって求められますか?
どうやってもとめればいいんでしょうか?

15 :
| a b c d |
| e f g h |
| i j k l |
と( x y z 1 )の転置の行列積が(u, v, 1)の転置になると考えて、式変形すると解けるよ

16 :
>>15
そうやって、変形してからどうやって解けばいいんでしょうか?
cv::Mat inv はつかえないですよね?

17 :
>>15
d, h, l を右辺に移せよ

18 :
>>17
あっ ほんとだ! 解けました
また話は変わるんですけど、今、複数のカメラの画像からの3D座標の再構築をやっているのですが、
手元に、それぞれのカメラの3×4のプロジェクションマトリックスはあるので、
あとは、画像のxy座標を上の式に入れて解いてやればワールド座標が求められるんですよね?
この考え方あってるんでしょうか?

19 :
>>13
参考までにお聞かせください。
マスクにすると?ピクセルの座標が簡単に取得できるんですか?
できるとすると、どのような方法でしょうか?
今まで for文で回して 取得していたもので・・・。
あと、OpenCVって、IPPと違って 1bit カラーで画像を扱えませんよね。
メモリを多く使いますが、8bitグレースケールをマスクとして使うしかないですよね。

20 :
haartraining.exe実行中に
Corrupt JPEG data:premature end of data segment
と表示されて止まってしまうのですが、
どなたか原因と対策分かる人いますか?

21 :
[原因] データが壊れている
[対策] 正常なデータを使用する

22 :
>>21
ありがとう。どのファイルが壊れてるか確認する方法はありますか?
画像ファイルが一万個ほどあります。エクスプローラでさっと見る限りは異常はなさげですが。

23 :
Jpegアナライザーというソフトを見つけました。
フォルダ内のファイルを一気に解析可能です。

24 :
解析しましたがエラーは一つも検出されずでした。
まいったな。

25 :
>>22
手動2分木探査をする。
1) ファイルの半分を別のフォルダに移動。
2) haartraining.exeを走らせる
3) エラーがあったら1にもどる
4) エラーが無かったら別のフォルダに移動してから2にもどる。
これを最後の1ファイルになるまで繰り返す。

26 :
gslはいろんな言語にインターフェイスあるのに
OpenCVはpythonしかないな

27 :
>>20
画像はcvLoadImageで読んでいるから
全部の画像をcvLoadImageで読み込むプログラム作ったら分かるよ。

28 :
顔検出でいろんな画像で試してみたんだが
誤検出率があまりにもひどいな
びっくりしたわ
平坦な場所とかで検出してるし
せめて必ず正解を含んでるとかならまだしも
明らかな顔があっても拾わない事が多いな

29 :
設定が悪いんじゃねぇの
それでも酷いって言うならパターン自分で作るか
OpenCVに頼らず自分で実装すれば良い
取り合えずOpenCVに文句言うことでは無いと思う

30 :
おそらく自分の顔で試したんだろう

31 :
顔検出。
数値を示してないから良い、悪いは何とも言えないが、そう思うなら自分で学習させた方が良いかも。
デフぉの学習画像てどっかで見れるのかな?

32 :
OpenCVよりいい顔検出ライブラリを作れる人がそこら中にいたら
とっくに作られているだろうからそれを使えばいいよ。

33 :
質問があるんだが、忌憚無い回答をお願いしたい
個人的にOpenCVは、個人や大学の研究レベルで使う物で、
データや処理の精度なんかを特定(固定)させて、それで望む結果を得るような感じだと思っている
(汎用的で且つ高精度な処理は出来ない)
しかし何を思ったのか、うちの”会社”の上層部がOpenCVを使って売り物を作ろう的な事を言い出したんだ…
例えば、WEBカメラで撮ってる映像から、登録したユーザー個人を認識してピックアップさせたいとか(顔認識を使う)
でライセンスとか特許とか調べ出して本気で使う気なんだ…
でOpenCVは画像処理の敷居を下げる為のライブラリで
商売目的で使うには精度が出ないと実験結果を交えて説明してるんだが、上と担当が全然分かってくれないんだ
俺の実験はわざと失敗する様にしてると言い張り、自分に都合が良い条件で実験実装して出来てる売り物になるの一点張りなんだ
(常に対象が正面を向いてる鮮明な動画を使ってるw)
もう担当じゃないし突き放しても良いんだが、この御時世に同じ”会社”で
そんな事で金と時間と人を使って欲しく無いので止めたいんだが…
俺が製品に対する精度を高く考え過ぎなんだろうか?

34 :
どこが質問なのか分からない件
デフォルトのOpenCVに出来なくても、その上に自分で作ったアルゴリズムを載せていけば
満足するまでレベルを上げていけると思うけどね

35 :
>>34
要領を得ない内容で申し訳ない
つまり、OpenCVで本格的な商用アプリやサービスを作るのは向かないと思いませんか?
って事
一応大学の院で画像処理を学んだレベルなんだが、OpenCVの判別認識系の処理は精度が低いと思っている
そして、そのライブラリ処理を使って独自の処理を構築するくらいなら、全て自社で開発すればクオリティや作業時間が一番になる筈
(OpenCVの仕様やらインターフェイスに引っぱられるなら使わない方がいいって思ってる)
OpenCVには画像処理の基本をすっとばしてライブラリ使うってイメージしか無いので…
(だから画像処理の敷居を下げる物としては優秀だと思う)
因みにOpenCVを使う事で作成時間的なアドバンテージを得たいとかの主旨ではないです

36 :
openCVを使ったほうがクオリティやコストなど総合的に判断して合理的だと上層部は決断したんだろ
必ずしも間違っているとは言えないと思うが?

37 :
OpenCVで本格的な商用アプリやサービスを作るのは向かないと思いません。
>>34でも書いたけど、デフォルトのOpenCVでは商用アプリとして厳しいと思いますが
好きなだけOpenCVに上乗せしていけばいいと思います。
別の顔認識アルゴリズムを載せるのも良いでしょうし、笑顔検出だって欲しければ作ればいい。
OpenCVを使うことと、精度(検出率?)は関係無いと思いますよ。
> そのライブラリ処理を使って独自の処理を構築するくらいなら、全て自社で開発すればクオリティや作業時間が一番
顔認識を商品化するくらいなら、自社ライブラリがあるんじゃないのかな。
OpenCVから欲しいところを自社ライブラリに移植すれば解決だね(クオリティが上がるかは疑問ですが
# ライセンスの事は考えてないので、自分で調べて解決してください
よく解らんが、「OpenCVを使うことで失敗する」ではなく「OpenCVではない別の解決方法」を
上長に提言しないと採用されないのじゃないのかなー

38 :

上の人も言ってるけど、OpenCV自体は画像処理の土台を提供してくれるものだと思います。
OpenCVの関数は大半がごく基礎的なもので、その上で、キャッチーな機能も実装されてる、ってかんじじゃないかな?
行列演算もフィルタ処理も色空間変換も、SSE化や並列化も全部一からやりたい、って場合もあるかもしれないけど、
あるもの使うのが良い場合もあるんじゃない。
Googleだって、ストリートビューの処理とかでOpenCV使ってるらしいですし。
あ、でもお金あるんだったらHALCONとかの方が簡単な場面も多いと思います。とくにFA用途などでは。
あとOpenCVの認識系の処理の精度が低いって言っているのは、何と比べた結果なのかちょっと気になりますね。

39 :
OpenCVを画像処理ライブラリとして使うのはいいと思うけど
顔検出のアルゴリズムをそのままは弱いよな。
真正面しか検出できないし。

40 :
つか、アルゴリズムの問題じゃなくて、でふぉで入ってる学習データが研究レベルのモノだってことなんじゃないの。
一般的な商用の画像認識ライブラリの学習データに使ったデータからすると、規模も質も比べ物にならないだろ。
顔認識などか難しいのは、アルゴリズムの実装じゃなくて、データ収集と学習処理時間への投資がかなりの規模になるってことなんじゃないか。
商用の場合、規模と質を背景に、高いライセンス料を取るわけだ。

41 :
画像の質?ってのは良くわからんが、
画像の量は、単に増えても過学習を引き起こすか、ペナルティで意味がなくなるだけなんじゃ?
なんか顔検出に話が偏ってるけど、そもそも頭抜けた検出率の商用ライブラリとか存在するの?
みんないったい何のソフトの話をしているんだろう・・・
ちょっとだけ斜め方向の検出率が良くなりました、とかそんなイメージ。

42 :
商用のライブラリは小手先の小細工みたいなので性能を底上げしているから
研究用のシンプルな作りのライブラリとは天と地の差になるってことかしら。
でもそれだと研究じゃまともな性能評価は出来ないってことになるような気もしないでも無い

43 :
ちょうどこんな記事が載っていた
1年で70億枚の顔写真をスキャンしたFace.comが顔認識APIを無料で一般公開
ttp://jp.techcrunch.com/archives/201005037-billion-scanned-photos-later-face-com-opens-up-to-developers/

44 :
>>43
APIつってもWEBサービスだね。

45 :
OpenCVをどのレベルまで使うかによるが
単に画像処理のサポートをするライブラリとしてみれば
精度もくそもない

46 :
http://developers.face.com/new-detector-demo/#faces/detect
これと比較すればどれだけクソか分かるだろ

47 :
>>46
すげ〜。 iPhotoもこれぐらい出来てほしいな。

48 :
凄いけど、最初に並んでる画像以外選択できないのは何でだろう?

49 :
http://developers.face.com/tools/#faces/detect
urlsに画像のURL入れたら動く

50 :
それって、スターバックスとマクドナルドをコーヒーだけで比較するみたいなもんだよな。

51 :
開発した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++を用いました。
よろしくお願いいたします。

52 :
lddしてnot foundになってる共有ライブラリをコピーしてくればいいんじゃねっすか

53 :
>>51
ホームディレクトリにインストール

54 :
んでもって、LD_LIBRARY_PATHを設定する。
InstallGuide_Linux - OpenCV Wiki#Path Configuration
ttp://opencv.willowgarage.com/wiki/InstallGuide_Linux#PathConfiguration

55 :
けど俺が最初に買った自作の本はハンダでGOってやつだったよ

56 :
誤爆

57 :
>>46
画像ファイルのURL指定して検出させてみたら
これもそんなにOpenCVと変わらない

58 :
>>57
素でhaarだけやったものと比較したらかなり違うだろ
たぶんいろいろな探索結果を掛けてさらに絞り込んでるんだろうけど
ところで分類器の作り方がよくわからない
WindowsでGUIで動くサンプルを集めるツールとかないの?
画像指定して目的の場所を選択していって
一括でサンプルを生成してくれるみたいな

59 :
そういうツールが欲しいなら作れば良いのではないか

60 :
>>58
http://www.udp.jp/SC/docs/

61 :
>>60
なんか理想と違う

62 :
>>61
http://opencv.willowgarage.com/wiki/ObjectDetection

63 :
現在、PCに1.1、2.0、2.1が入っており、全てのパスを通しているのですが、これって問題無いでしょうか?
また、使用しているOpenCVのバージョンを表示させたり確認する方法ってありますでしょうか?

64 :
>58
ツールがすでにあると思うが
createsamples.exe
haartraining.exe

65 :
>>64
おまえが使ったことないのは分かった

66 :
顔検出といえば2.0から特徴量にLBPが追加されたが試した人いる?

67 :
freeBSD上でopencvを動かしています。
顔認識を行った後cvsaveimageを用いて画像をjpg形式で保存すると化けてしまいます。
壊れたCRTの画面のような画像になってしまいます。
bmp形式で出力したところ正常な画像でした。
ヘルプお願いいたします。

68 :
なら

69 :
>>67
ImlImage *img = cvLoadImage("a.jpg", 1);
cvSaveImage("b.jpg", img);
のようなコードでも化けるのか確認した?

70 :
>>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 :
>>70
libjpegかな
新しいの入れ直してみたらどうだろう

72 :
ビューワーがバグってるってことはないよね

73 :
>>67
「F」reeBSD

74 :
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 :
FreeBSD なら、Ports からインストールすればいいんじゃね?
どうしても自前でやりたいなら、configure にオプションか、cmake あたりじゃないかしら。
というかそれぐらい解決できないなら、おとなしくPorts使っとけ。

76 :
windowsでアプリ起動時に、ダイアログが開きリストボックスから
使用したいカメラを選択してから使用するソフトを作りたいのですが
OpenCVにusbカメラ名を取得する関数とかありますか?
cvCaptureFromCAMのindex番号とかから取得できる関数がないかなと
opencv.jpでhighguiの関数を見てみたんですがそれらしきものはありませんでした。
winのapiを使うとかしか方法はないのでしょうか?
よろしくお願いします。

77 :
>>75
ルート権限が無い環境なんです・・。

78 :
>>76
videoInputってライブラリ使えばできる。opencvの機能ではないけど。
iplimageの取得まではvideoinputでそれ以降の処理はopencvでやればOK

79 :
>>78
ありがとうございます。
方法の糸口すら、見えてなかったので感謝です。

80 :
>>77
root無しでもPorts使えるよ。
/usr/ports/Mk/bsd.port.mk あたりに説明あるから、適当に環境変数変えてやってみるといいよ。
スレ違いスマソ

81 :
videoInputはOpenCVに統合された

82 :
wrapされた中身を見ることはできるの?

83 :
OpenCVの関数って
Cで素朴に書いたものよりはるかに高速なんだけど
なんであんな速いの?
マシン語でも混じってるの?

84 :
どの関数かわからんけど、お前の書き方がヘタなんじゃね?

85 :
SobelとかCannyとかです

86 :
最近のはSIMD使ってるしOpenMPかTBBで並列処理してる

87 :
ひょっとしてコンパイルオプションの問題なのかな

88 :
cmakeの設定でON/OFFがある

89 :
waveレット変換とかそういう話し?

90 :
いいえ

91 :
人が正面を向いて映っている画像があり、その画像が回転してしまっているとき(カメラを横に向けて撮影した場合など)
これを正立状態に直したいと考えています。(頭がちゃんと上を向く向きに直したい)
画像がどっちに回転してるか(頭が左を向いてるのか右を向いてるのか)を知る方法ってあるのでしょうか?

92 :
画像を回転させながら
まっすぐな顔しか検出できない顔検出(たとえばOpenCVの顔検出)で顔検出して
検出された顔が多い角度に投票するようにして最大値をとれば顔の角度が大体分かる。

93 :
なるほどやってみる。

94 :
当方win7の64bit版、vs2008を使用しています
http://lab.cntl.kyutech.ac.jp/~kobalab/nishida/opencv/01.html
上記のサイトにhaartrainingを行う場合、コンパイルし直す必要があると書いてあります。
しかしビルドしなおそうとしてもerror LNK2019が発生してしまい、ビルドができません。
ここでふと思ったのですが、現状のopenCV2.1verでもビルドし直す必要はあるのでしょうか?
必要がないならこのまま使ってしまおうかと思います・・。

95 :
>>94
情報が古い
必要ない

96 :
うはwwwwっをkwwwwwwwwwwwww
すげぇがんばったのにorz

97 :
2.1を入れてフレームワークを作れなかったので、アンインストールしたいのですが、どうやればいいですか?

98 :
>>97
インストールしたフォルダにuninstall.exeがあったと思う

99 :
>>98
すみません。書き忘れたのですがMacです

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
・ 次のスレ
17: 性器表現0.0.1 (16)
18: WinRTスレ (Metro, .NET Core, C++/CX) (832)
19: なぜC+のmain関数はどのクラスにも属していないのか (69)
20: くだすれPython(超初心者用) その12 (136)