1read 100read
2013年05月プログラム40: 【Intel】OpenCV総合スレ 4画素目【画像処理】 (847)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
JavaScriptは消滅すべきだったよな (521)
人気プログラミング言語ランキング (877)
★★ Java の宿題ここで答えます Part 72 ★★ (606)
Excel VBA 質問スレ Part29 (485)
バージョン管理システムについて語るスレ9 (322)
Java低速GUI Swing & JavaFX 10 (713)
【Intel】OpenCV総合スレ 4画素目【画像処理】
1 :2012/02/12 〜 最終レス :2013/05/11 OpenCVはインテルが公開したオープンソースのコンピュータービジョンライブラリ。 現在はWillowGateが開発している。 本家 http://opencv.willowgarage.com/wiki/ 日本語資料など http://opencv.jp/
2 : 2ならOpenCVは俺の嫁
3 : >>2 の面倒はしっかりと我々WidowGateが見させて頂きます。
4 : これは>>1 を応援する
5 : Haar-LikeじゃなくてLBPで顔検出したいんですがどこかにコピペしてパス通すだけのサンプルコードないですかね? cv::MatじゃなくてIplImage使ってるやつでお願いします
6 : コーナー検出の処理時間をCore2 E8500、VGAサイズで計測してみたんだが、 FAST 1〜2msec Harris 105msec GoodFeatureTotrack(固有値) 105msec ってハリスとGF2Tの実装遅すぎじゃね?
7 : >>5 cv::Matだけど opencv/samples/c/facedetect.cpp でええやろ
8 : >>7 レスありがとうございます それ訳が分からなかったんで、cook-bookのコード使ったらとりあえず動いたけど C++はよく分からないから出来ればCでのサンプルでお願いします
9 : >>8 まずお前が10年間C++を勉強すれば済む話だろ
10 : それ言われたらそれまでなんだけどね C++でしかサポートしない関数とかもあるらしいし覚えるしかないんかな これリファレンスとか微妙に見づらいし マイクロソフトかGoogleあたりが最強の画像処理ライブラリ作ってくれんかな
11 : >>10 勉強する気がないやつは何使っても一緒だろ
12 : >>10 お前が見やすいリファレンスを書き上げればいいんじゃね? ほかの言語用にラッパーライブラリを作り上げればいいんじゃね?
13 : >>10 金出せば色々あるけど、とりあえず安い部類の画像処理ライブラリ。 TEO http://teo.sourceforge.jp/ IPP \26,250 http://www.xlsoft.com/jp/products/intel/perflib/ipp/index.html $199 http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-purchase/
14 : すみません質問です OpenCV2.2のサンプルプログラムであるgrabcut.cppを見ているのですが 最初に与えた前景・背景情報を別の画像に用いる場合にはどの辺りを書き得ればいいのでしょうか やりたいことの例としては 固定カメラの画像列を入力として,最初の画像で人を前景として指定 その後の画像では自動で人っぽいところを切り抜いていくといった感じにしたいと思っています 人は画面外に出ず左右に揺れる程度です
15 : そいつはコマンドラインで動くプログラムだから、 string filename = argv[1]; を string filename = "ファイル名.jpg"; みたいにすればいいんじゃないか?
16 : >>15 とりあえずコードいじろうとしてたんですが今現在 imreadが変?っぽくて困ってます string filename = "baboon.jpg"; Mat image = imread(filename,1); で上手く読み込んでくれてないみたいで IplImage *img = cvLoadImage("baboon.jpg"); は普通に動くのでパスは通ってそうなんですが OpenCV入れなおしてみるのが早いでしょうか?
17 : >>13 TEOなんてスゲー久しぶりに見たな まだ使ってる人なんて誰もいないだろ
18 : >>16 Visual Studio on Windows 環境の話しなら, ・使ってるライブラリのバージョンが正しいか (2008用のライブラリを2010で使ったりしてないか,等) ・Debug / Release の指定とリンクしてるライブラリは正しいか の2点をまず確認.
19 : >>17 使っているのは学生の実験や研究くらいだろ、昔も今も TEOのEってどこだっけ?Tsukuba, Okayamaは分かるんだが
20 : EDOだったはず
21 : ついカッとなって変なこと書きこんでごめんね いろいろ調べたけど今現在実在する環境ではOpenCVが最善ぽい
22 : 今更C++みたいなクソ言語使わせるのは止めろよ JavaかPerlかRuby当たりにしてくれ
23 : 負けず劣らずの糞言語あげんなよw
24 : >>13 IPPはOpenCVと一緒に使うものだろう
25 : 魚眼レンズで取った写真の復元って出来たっけか
26 : >>25 カメラキャリブレーションと3次元再構成 opencv v2.1 documentation http://opencv.jp/opencv-2.1/cpp/camera_calibration_and_3d_reconstruction.html できるとしたらこのへんかなぁ。3次元再構成じゃなくてカメラキャリブレーションのほうね。 魚眼レンズを通したチェスボード格子点の認識がうまくいくかどうかは知らないけど。
27 : 2.2以降は歪みモデルが拡張されて、魚眼のような広角レンズでもキャリブの精度は上がってるはずだよ。 使う関数は一緒だけど。 http://pr.willowgarage.com/wiki/OpenCVMeetingNotes/Minutes%202010-09-07
28 : 魚眼レンズの画像補正の実験中に自分の頭頂部が薄くなっていることに気付いて驚いた。
29 : リアルタイムで髪をふさふさに補正するビデオチャット機能の実装が急務
30 : ヅラ被ればええやろ
31 : ロマンが無いだろ
32 : ヅラ職人のロマンを馬鹿にしてんのか
33 : >>32 夢とロマンを混同するな。ズラは夢だ。
34 : ヅラの話題になった途端に、近年稀に見る盛り上がりようだな。 おまえら…
35 : リアルタイムで毛で顔全体を隠すのなら作ってもいいぞw チャット目的ならdirectshowフィルタで実装し、メリット値(フィルタ選択優先度)最大で使ってもらうのがいいかな。 汚物が隠れて相手も喜ぶな。 ハゲ頭は特徴検出難しいからおとなしくズラにしてください。
36 : haarcascade でトレーニングに再配布不可の画像を使った場合、 xml に画像の情報が少し含まれると思いますが その場合はプログラムも再配布不可になりますか?
37 : >>36 復元できないし再配布には当たらないと思うけど 利用規約があるのなら反するかもな
38 : xmlのデータを見て、あの画像使ったな、って分かっちゃうことあるのかな?
39 : 無理でしょう 相当情報を削減してるし、不可逆だろう
40 : haartrainingを実行しているのですが、 +----+----+-+---------+---------+---------+---------+ | N |%SMP|F| ST.THR | HR | FA | EXP. ERR| +----+----+-+---------+---------+---------+---------+ ここまで表示され1時間ほど経過しても進む様子がありません CPUの使用率は高いので何か作業をしているようにも見えますが、 このまま放置しておけば学習は進むのでしょうか?
41 : 画像の枚数によっては数日以上かかる
42 : 動画ファイルの指定フレームに画像を挿入する関数ってあります? cvCreateVideoWriterで新たに動画ファイル作って元動画から1フレームずつコピって、 挿入するフレームが来たら画像入れて、また元動画から次のフレームを貼りつけてくしか無いのでしょうか?
43 : そうするしかないだろうな 挿入なんて関数はない
44 : やっぱり無いですよね。 ありがとうございました。
45 : 赤や青やオレンジなど様々な色のピンポン玉が複数バラバラにあります。画像上の形・大きさはほぼ同じです。 赤っぽいピンポン玉がどこにいくつあるか、 オレンジっぽいピンポン玉がどこにいくつあるか、 など取得するにはどのように処理するのが最適でしょうか? 素直にテンプレートマッチングすると、輝度で判断するのでオレンジと黄色の区別があまりつきませんでした。
46 : 色が違うピンポン玉なのに色を見ない理由が知りたい。 円検出、円内の色判定が素直なやり方じゃないかな?
47 : >>45 とりあえずボールっぽいのだけ全部列挙して 後で色の近さで赤や青やオレンジ(あらかじめ色のテーブルがある?)に量子化して 指定された色でフィルタすればいいのでは
48 : >>45 「素直にテンプレートマッチング」というけど具体的にはどんな手法/類似度を使った?
49 : まず、ピンポン玉に重なりがあるのかどうか
50 : ピンポン玉の画像を用意して、テンプレートマッチして、 結果の画像の輝度を見ました。 ピンポン玉に重なりはあります。 なので、 左にオレンジの玉(A)、真ん中に黄色の玉(B)、(B)に半分重なった黄色の玉(C) の画像に対して、用意していた黄色のピンポン玉の画像でテンプレートマッチすると 輝度がA=0.8、B=0.99、C=0.8 くらいになって、輝度で調べるとA,Cの区別がつきません。
51 : >>50 素朴な疑問なんだけど、重なったピンポン玉の奥の方は見つける必要あるの? テンプレートマッチングじゃ厳しいと思うんだけど。 で、肝心な内容に触れると、 グレースケールのテンプレートマッチングしかわからないなら、R,G,Bの3色でそれぞれグレースケール作れば? 3回マッチングさせて色判断すればいいと思うけど出来ない理由があるんかいな
52 : 色なのにメイドって
53 : WindROOFで似たようなことやってるの見たような 重なった球体も予測してカウントするやつ
54 : >>45 先にRGB若しくはHSVでフィルターをかけた画像を準備して 抽出すればOKじゃないですか?
55 : >>51 いやカラー画像とグレースケール画像両方用意して グレースケールで位置みつけた後にカラー側を参照して色を見ればいいだろ
56 : おすすめのopencvの本を教えて下さい。
57 : OpenCV 2 プログラミングブック
58 : >>54 すいません、どういった手順かよくわかりません。 >>53 しらべてみます!ありがとうございます。 >>55 それはよさそうですね。 参照して色を見る時、1ピクセルだけだと荒い画像なら黒い点とかになっちゃうので 半径nピクセルくらいの色を平均する形だと思うのですが、 こういった曖昧?な比較は、ブラーフィルタでもかけて小さなゴミを消してから その範囲の色の平均値(単純平均ではなく偏差かな)で比べるのがベターでしょうか?
59 : >>58 そのへんは撮影環境と欲しい精度で相談して決めたほうがいいと思う。 単純にはぼかしていくつかサンプリングして平均を取って あらかじめある?色リストとの距離を計算して一番近い色を選ぶ。 色空間も影響するのでRGBでうまくいかなければCIELABでやってみるとか。 ボールが重なっている場合は、クラスタリングしてから領域を選ぶとか。
60 : とりあえず、ハフ変換まで勉強したぜ。 学会発表目指して研究やるぜ。 by大学4年
61 : >>58 画像をR,G,Bに分解して R,G,Bの閾値でルックアップテーブルを作ってフィルタリングします。 R,G,Bの画像をANDすれば2値化、若しくはグレー画像ができるので、 その画像からパターンマッチングすればよろし。
62 : RGBの画像をandして、オレンジと黄色は別パターンになるのか?
63 : 何言ってるのか分からないし気にしないほうがいい
64 : オレンジ R=252,G=136,B=50 イエロー R=252,G=252,B=50 一度、RGB(HSV)分解してからフィルターかけてからcvANDすれば 当然結果は変化します。 http://chihara.naist.jp/opencv/?%BF%A7%BE%F0%CA%F3%A4%CB%A4%E8%A4%EB%CE%CE%B0%E8%C3%EA%BD%D0 http://wiki.livedoor.jp/mikk_ni3_92/d/%A5%EB%A5%C3%A5%AF%A5%A2%A5%C3%A5%D7%A5%C6%A1%BC%A5%D6%A5%EB でわかんなければ、諦めろ
65 : >>63
66 : ルックアップテーブル、フィルタリング辺りを翻訳最適化して書き直してやんよ。 >>64 は何を書きたいかと言うと RGBの255色×255色×255色のを1600万色を減色して255段階の色にしてグレースケール画像を作る この画像と同じように減色された元画素をパターンマッチングかければオレンジと黄色わかる。 で、明るさ変化考慮不足なんで私も>>63 と同じ意見
67 : 僕の解釈は、RGBそれぞれのチャンネルで2値化すると 各色の領域を抽出した画像ができるので それに対してテンプレートマッチングを行う 同じ位置でRとGが1でBが0ならYellowだと分かる というものだったけど 詳細を気にかけるほどよい方法とは思えなかった
68 : >>67 最初はそうかなって思ったんだけど >>61 を読んだらand取ってからパターンマッチングと書いてあった。 だから66の解釈のが近い 詳細を気にかけて時間を無駄にしたようだ
69 : >>66 >>67 cvSprit してRGBかHSVに分解 256階調1chの画像が3つできる。 夫々にcvLut使って閾値で2値化orグレイスケール化する。 当然閾値以外は0に。 で、この3つの画像をAndしたらどうなる? まぁ、マスクで隠したり色々手法はあるしこの方法は演算多い からリアルタイム処理には向かんかもしれんが、フルカラーで 判別できるぞ? これでも理解できない?
70 : あと、先にtemplateかけて内部の色を判別する方法もあるけど、 templateで取りこぼしたり、対象が多くなりすぎたり、内包した 色の平均を取るとか面倒な処理が出るんから、色は先に消してし まったほうが処理は早いな。 まぁ、なんにしたって先に画像をグレースケールに変換したほう が処理が楽だ。
71 : ボール検出をどうやるかって問題で ボールの内側と外側で輝度だけ違う場合や色相だけ違う場合などもあるわけで 色を気にせず位置だけを先に見つけてそのあとに色を参照するほうが ずっといいと思うけどな 分解とか減色とか言ってる時点でよく分からない前提を置いててまともじゃないだろ
72 : 大学で配布されたファイルをVS2008で動かしてもエラーが起こるなぜでしょう・・・ http://uproda.2ch-library.com/lib524530.cpp.shtml カメラはelecom ucam-H1S30MSV PCはwin7 pro 64bit キーは基本で
73 : どんなエラーなの?どこでいつエラーになるの。
74 : >>73 実行まではできます。ウィンドウが作られて少し止まった後に OpenCV GUI Error Handler in function cvCvtColor, .\cvcolor.cpp(2255) Press "Abort" to terminate application. Press "Retry" to debug(if the app is running under debugger). Press "ignore" to continue (this is not safe). ってのがでます
75 : >>74 たぶんframeImageのサイズが640,480じゃないんじゃね?
76 : >>75 ありがとうございます。 できればサイズをどの値に設定すればいいか教えていただけるとうれしいです。
77 : >>76 frameImageのwidthとheightを出力してみてやってもいいし、 cvGetCapturePropertyでcaptureのwidthとheight取ってもいいし
78 : >>77 double width = cvGetCaptureProperty (capture, CV_CAP_PROP_FRAME_WIDTH); double height = cvGetCaptureProperty (capture, CV_CAP_PROP_FRAME_HEIGHT); //グレイスケール用の宣言 char windowName1[] = "処理後1"; IplImage *resultImage1=cvCreateImage(cvSize(width,height), IPL_DEPTH_8U,1); という感じに設定してみましたがエラーがでました openCVとC++については超初心者なもんでよくわからないです・・・
79 : >>72 のDLキーってなに?
80 : >>79 kihonです。 IplImage *resultImage1=cvCreateImage(cvSize(640,480), IPL_DEPTH_8U,1); を IplImage *resultImage1=cvCreateImage(cvGetSize(frameImage), IPL_DEPTH_8U,1);にして行を変えたらiplImageの宣言の位置を変えたら解決しました。 ありがとうございました!
81 : 日本語リファレンスはOpenCV2.2までしか無いんですか?
82 : >>91 はい 最近勢いがあるから追いつてもすぐ次が出て無駄になるのだろう
83 : OpenCV2.4とVC++2010を使っているのですがSURF関連のプログラムになると動かなくなります。 サンプルに入っているfind_obj.cppは大丈夫なのですがttp://fry.no.coocan.jp/lecture/CPP/findobj.cpp を試してみたらコンパイルは通りますが実行すると OpenCV Error : The function/feature is not implemented (OpenCV was built without SURF support) in unknown function, file C:\slave\WinInstallerMegaPack\src\opencv\modules\legacy\src\features2d.cpp, line77 というエラーが出ます…なぜでしょうか
84 : これ以上ないくらい明確に書いてあるじゃん
85 : いまopencv2.1をarmv7でコンパイルしているのですが、cxmat.hppのabs関数のreturnでエラーが発生して困っています。 「No viable conversion 〜」というエラーです。 対処法などお心当たりありましたらよろしくお願いします。
86 : >>85 自己完結しました。 戻り値の型とreturnさせている変数の型が違っていたのが原因でエラーになっていたようです。 windowsでは同じソースでコンパイルできたので、根本的な解決にはならない気がしますが。。
87 : >>84 features2d.cppの77行目で定義されているsurfという変数がemptyであるということは自力で分かったのですが どうしたらこの表示が出ないように解決できるのか教えていただけないでしょうか 先週からOpenCVを使い始めたばかりでまったくわかりません
88 : なお画像自体はちゃんと読み込まれているのは確認済みです。 後だしばかりですみません…
89 : >>83 2.4まだ手を出してないけど、 The function/feature is not implemented (OpenCV was built without SURF support) ってあるから「OpenCV 2.4 SURF」でググったらなんか2.4から変わったみたいよ
90 : SURFとSIFTは特許の問題があるのでnonfreeに移動したって聞いたぞ ビルド時にオプションで指定しないとビルドされてないのでは
91 : >>89 >>90 遅くなりましたがnonfree関係を調べなおしてmainの冒頭に cv::initModule_nonfree();を追加したら動くようになりました! そしたら次はExtractSURFするとカメラでキャプチャした画像だけに対してエラーが出るというバグが… とにかくありがとうございます!
92 : exactsurfのバグは昔からあった。解像度小さくないかい?
93 : SURFのバグは2.2くらいで修正されたような
94 : エラーメッセージをみたらincorrect size of input array () in unknown functionで datastructs.cppの372行目に問題があるようなのですが、createseqもしてないし storageも最後に解放していますし、子ストレージを作ってみたりもしましたが変わらずどうすればよいのかまったくお手上げです… >>92 カメラデフォの640×480ですがまずいでしょうか?
95 : >>94 場所までわかってるなら エラー出ないと時と出るときで何が違うのか見たら
96 : バージョン:OpenCV2.4 httpでgetしてメモリ上に展開されたjpgをcv::Mat形式で読み込みたいです。 jpgがそのまま展開されたchar*を与えるとポインタ引数、参照引数もしくは返り値としてcv::Matを返してくれる関数などありませんか? ない場合はどのように実装すればいいですか? よろしくお願いします。
97 : >>96 一回ファイルに書きだしちゃえば楽かな
98 : >>97 実行していませんが最終手段として考えています。 問題はいちいちHDDを動かす必要があるので繰り返し実行すると遅さが目立ちそうです。 秒間10回は走らせたいので。
99 : >>98 そっか,じゃあメモリ上のストリームを流し込むかjpgデコードを直でやるかだね
100read 1read 1read 100read TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▲
【C++】 DirectX初心者質問スレ Part37 【C】 (928)
バージョン管理システムについて語るスレ9 (322)
Perlについて (733)
C言語なら俺に聞け(入門編)Part 114 (936)
Excel VBA 質問スレ Part29 (485)
くだすれDelphi(超初心者用)その55 (248)
--log9.info------------------
【脱原発の】藤波心Part2【ドン・キホーテ】 (905)
【おはガール】岡本夏美応援スレ Part2【ニコモ】 (401)
小林星蘭が嫌いな人が集うスレ (595)
【田中美鈴】みすずちゃん Part5【ぷりぷりたまご】 (719)
【ワンパコ】畑芽育 1【キャラとも】 (201)
【新人戦士】斎藤安里奈ダイアナ1【みんなの妹】 (595)
日比美思 (590)
【活動休止宣言】飯田ゆかPart8【からの福岡校】 (726)
いもうとシスターズ Part2 (558)
【ピチモ】志田友美ちゃん Part7【ゆうみん】 (976)
ファデン咲美亜 part1 (951)
高月彩良 Part3【bump.y】 (609)
沢木ルカ Part3 (319)
重本ことりちゃんをすだちさそうPart22 (529)
♀ 女子子役総合スレッド ♀ (312)
【おはガール】平祐奈 Part3【Rの法則】 (225)
--log55.com------------------
【マジ注意】『+247』から始まる9桁の電話番号からのワン切り「アセンション島」から高額な通話料が発生する可能性
【技能実習制度】生活環境を整える覚悟なき受け入れは「奴隷制度」と変わらない。
【プロテインとどっちがいいの?】クスクスはお湯を注ぐだけでできて、食物繊維も豊富♪ カルディで見つけた栄養豊富な全粒粉クスクス
ローマ教皇 「戦争のために原子力を使うのは犯罪」
【中国】発火事故や補助金削減… 「EV大国」中国に異変
【世代】映画館でスマホをいじる若者たち「2時間もじっとしてるのが耐えられない」「スマホをチェックしていないと不安」★4
【国策】マイナンバーカード未取得の職員に「カードを申請しない理由を提出せよ」。省庁が全職員に対し調査★2
【小6女児誘拐】逮捕の伊藤仁士容疑者「助けを求めていた子を助けてあげた。正しいことをした」