【Intel】OpenCV総合スレ 5画素目【画像処理】
■ このスレッドは過去ログ倉庫に格納されています
OpenCVはインテルが公開したオープンソースのコンピュータービジョンライブラリ。
現在はWillowGateが開発している。
本家
http://opencv.willowgarage.com/wiki/
日本語資料など
http://opencv.jp/
前
【Intel】OpenCV総合スレ 4画素目【画像処理】
http://toro.2ch.net/test/read.cgi/tech/1329040627/ >>546
日本語むちゃくちゃですね
すみません
今のところグレースケール→2値化して
白いピクセル数の変化を見たりしてます。
本とかサイトでもなんでも教えていただけないでしょうか 最近のビデオカードはハードウェアで超解像できるそうだけど自分のmpegファイルをアップコンバートすることは出来ないのでしょうか deblurringしたいんだけどうまくいかない
IBPとウィーナーフィルターでやってるんだけど Halideが画像処理だけじゃなくて線形代数計算全体も高速化してくれないものか オプティカルフローで画像をつくると1分以上かかるのですが、高速化できますでしょうか。
1280x960の画像2枚を、sperres::createOptFlow_DualTV1()で、calcしています。 昨日ググったら、自分でコンパイルするみたいです。
コンパイルしようとしたら、ターゲットの装置にGPUが無かた。。。
後、オプティカルフローに速いもの遅いものがあるみたいで、
奇麗なのは遅いもの。。。 ソース画像の中から特定の画像を検出する方法としてMatchTemplate(テンプレートマッチング)と言う物がありますが、他に高速な方法はないでしょうか?
ゲームの自動操作が目的のため、検出したい画像は固定(サイズ傾き明るさは変わらない)と言う条件です。 テンプレートマッチング以外の画像検出にはどの関数を使用すればいいのでしょうか? >>559
テンプレートマッチングだとダメなの?どのくらいの性能が必要? USBカメラのfpsが安定しません
30fpsの物を使っていて、9割は33msで処理をしてくれますが残りは100msを超えたりします
安定させる方法を探しています カメラの機種もどういう処理してんのかも分かんないからエスパーしかできんが
暗いときとかにカメラがフレームレートを変えて露光時間を調整してるってことがよくあるかなあ
この場合カメラの設定で露出とかホワイトバランスのオート設定をオフにすると解消される openCV を build するのに cl.exe ではなく ICL.exe を使う事は可能でしょうか? waitkeyってどんな役割ですか?
フレームレート30なら33msにしろって書いてあったんだけど、例えば画像処理するとして、1ループ全体で33msなのか、1ループを処理時間+wait33msなのかどっちなんだ、もっと違う考え方? >>570
2010の参考書に書いてあった
とりあえず33msでいいでしょうみたいな
普通ならそれでいいんだろうけど、都合上ループの処理速度だけはシビアにしたい webカメラの話で良いのかな?
FPSの設定は VideoCapture::setかなんかでやるはずなのでwaitkey関係ない
waitkeyはキー入力の為の待機なのでキー入力しないならそもそも不要
そこで33msも待機させたら同じループ内の他の処理で1msとか時間かかった時フレームレート落ちる予感 それFPSの設定知らずに最速再生の状態で各フレームのウェイトを33.333...msにして
30FPSの速度にしてる、とかじゃね?(1000ms/30FPS) >>572
やっぱりset使うんだよね
自分も落ちそうだと思ってる
使ってた本にはwaitkeyないと動きませんって書いてあって、なくしたら動かなかった気もする
>>573
たぶん本はそんな感覚だと思う
自分はいらないと思ったからWait1msでやってたんだけど、フレームレート変えれるwebカメラ買ってもらって、いろいろ考えてたらwaitkeyってなんだ?ってなった 確かにhighguiを使ってる場合waitkeyがないと表示されないとかあったかも。うろ覚えなので仕様見てくれ。
あと>>とかで新フレーム取得まで待機してる間はキー入力を受け付けないだろうから
キー入力が必要な場合そこで待機させるよりwaitkeyを多めに設定する方が良いかな
まあ本気で何か作るならこの辺の機能は使わないだろうけど >>576
確かにhighgui使ってます
使わないで出来るのね…
使ってないサンプルプログラム探してみる
ある程度計測したら終了させる予定だから入らないかなぁ
waitkey不確定要素が多い気がしてならない >>577
言葉が足りなかったわopencv単独で表示するには他に方法はないと思う
opencvはあくまで画像処理とかのライブラリでGUIはちょっとした確認や処理のためのおまけみたいなもん
本気で動画やカメラを使うアプリケーションを作るならGUIは別のフレームワーク使うだろうということ >>578
つまりopencvはwebカメラの画像取得および出力に関してはあんまり機能がなくて、取得された画像を処理することに長けていると言うこと?
初心者過ぎてすまん
画像処理としては二値化で物体検出、重心を求めるぐらいしかさせてない… そもそもOpenCVに直接カメラのハードウェア設定をいじらせようってのが無理な話なのでは?
あくまで画像処理ライブラリだし。
FPSを変更出来るカメラなら、仕様書なり取説なりあるかと。
シビアに計算したいのならFPSだけじゃなく、露光時間や転送時間も計算しないとダメだし。
いくら30fpsに設定しても、他の時間で100msかかってたら無意味。 >>579
そういうこと
色々言ったけど勉強したりちょっとしたことやるには十分だしwaitkey(1)で良いと思う set用いてfps60に設定したのに全く変化なし…
じゃあ解像度変えてfpsあげようと思ったけど変える方法がなさそう
使ってるカメラの仕様には解像度1080pで30,720pで60と書いてあるのに… ロジクールのやつで試した時は解像度640x480で60fpsいけたな
ドライバ側の設定でオート機能オフにして露出下げたらあるいは って見落としてたけど解像度を変える方法がなさそう?
setでできるでしょ setは動画ファイル読み込み限定でカメラ設定はいじれないっていう情報が調べたら出てきた
どこまで信憑性あるかわからんけど
とりあえず解像度いじったけど逆に重くなった… opencvの取り込み処理とかウインドウ表示とかはちょこっとopencv使いたいとき向けのでしょ
きちんと使いたいときは取り込み処理を別に用意したほうが・・・ >>587
そっちの方面も視野にいれてます
初心者過ぎるので、簡単なやつ希望です… だーかーらー、カメラ標準ソフトを使うとか、
せめて取説や仕様書を読めと
作る側は「簡単な物」ほど作るのは難しいってことを理解しとけ あと、ハードウェアに出来ないことはソフトウェアには出来んからな
解像度やFPSの仕様以上のことをやらせようとしたら、
超解像とかハードルが一気に高くなる上に、あくまで「作られた画像で補完」になる >ハードウェアに出来ないことはソフトウェアには出来ん
日本語の使い方が正しくない >>589
カメラ標準ソフトか…
ロジクール製品なんだけど、取説とか仕様書はないに等しかった
>>590
スペック通りに動かしたいだけなんだ
とくに解像度はどうでもいい >>591
理解が正しくないよ
>>590が言ってるのは30fpsまでしか対応してないカメラで100fpsの映像を造りだすみたいな話
>>592
webカメラの製品独自の仕様はそれであるけど、探すだけ無駄。ほとんど非公開だろ
汎用的にwebカメラを制御する仕様はほぼ統一されてるしぐぐりゃ星の数ほど出るからそれ見ろ。それすら探せないってなら諦めろ >理解が正しくないよ
> >>590が言ってるのは30fpsまでしか対応してないカメラで100fpsの映像を造りだすみたいな話
この意味なら漏れの理解したまんまだな 今してるのはハードウェアでもOpenCVでもできることの話だろ
なぜまずOpenCVのマニュアルを確認しないのかは知らないが オートフォーカスとか露光の自動調整は本格的な画像処理するときにまずつまずく部分 <オートフォーカスや露光調整くらいは画像処理でやって
<リアルタイム60fpsで、画面解像度はFUHDで、分解能も8bitじゃなく16bitでやってね
<民生品でやってるから、そのくらい簡単に出来るでしょ? Qtバックエンドのウィンドウでマウスコールバック取るにはどうすればいいんだ? Qt組み込んだだけで本体はhighguiのウィンドウじゃないの??よく分からないけど よく分からないのでそこをなんとかお願いします。
マウス座標が取得できなくて大変困っております。 何故最初は小さいプログラムから作らないのか
qtとOpenCVでマウス座標取ってこい opencv3.1で
connectedComponentsWithStats使ってラベリングしたんだが
指定した面積以下はラベリング除外ってできる? >>606
言語はC++でVisualStudio2015 それぐらいの処理ならソースコード読んで自分で組み込んだらいいんじゃね >>606
そのまんま、ラベリング結果を操作するだけでいいと思うけど。どんな動作を想定しているの? >>609
指定面積以下にはラベル付けをしない
今は無理やりラベリングした結果の面積をif文で無理やり指定面積以下のラベルを表示しないようにしてる
だからラベル番号表示すると飛び飛びなんだよね
最終的にはラベル番号がちゃんと連番かつ面積以下を除去できるようにしたいわ あとラベリングした輪郭が途切れたりしてるからラベリング統合みたいなのできたらいいなって今考えてる 変数作って指定面積以下ならラベリング結果を格納するようにして採番したらいいだけでは >>612
これをそのままプログラムにすればいいと思う。 ラベリングで物体ごとにラベリングできないから領域統合してうまくラベル付けできるようにしようとした
watershedで出来ないかやってみたらラベル付けができなくなっちゃった
なんかいい方法ない? 肝心なの忘れてた
環境は
opencv3.1 c++ visual studio 2015 >>615
何で物体ごとにできないの?画素がつながってないから? >>617
複雑な形かつ輪郭が繋がってる部分もあるから
一つずつラベリングしたいけど二つまとめてとかになってしまう そういうのはどういう画像かによるからエスパーじゃなきゃわからないよ・・・ 公式でC#に対応してくれんかな
OpenCVSharpの人とか頑張ってくれてるけども 質問です。
cv::Matに画像ファイルを入れる場合は、cv::imreadなのはわかりました。
unsigned char Gray[Y][X]のようなバッファを、cv::Matに代入するには、どうするのでしょうか。 for文をネストして多次元配列の中身を一つひとつ丁寧にdataメソッドでMatクラスに移植する >>623
俺のアルゴリズムぱくんなよ
todo修正コメントは入れとくがw 赤青のLEDを別々に認識させたいんですが、RGBの閾値よりHSVのほうがうまく認識させられますかね? あとカメラのオートフォーカスや露光調節をしたいんですが、highguiでは無理ですか? >>628
場合による
色空間のチャンネルをsplitしてinRangeメソッドで判定するのがスマート
>>629
v4l2-ctl --set-ctrl=contrast=0 >>630
opencvでは無理なんですね…
プログラミング全然できない自分にとっては敷居が高そうです ステレオマッチングでなんかやろうとおもってggったんだが、ネットに落ちてるサンプルコード的なのがまったくうごかん助けてくれ…
Xcodeで動かしてるんだけど、なんとか修正しようとしてもcvLoadImageがNULLしか返さん >>630
>色空間
て
一般的にどんなのがあるのでしょう。
次元が多いもの、付加情報足せるものとか、あるのでしょうか。 >>631
カメラ制御はカメラのライブラリを使え。
OpenCVにあるのは基本的にwebカメラを最低限に動かす程度、ってか全てのカメラを制御するコマンドなんてエスパーじゃないと作れん。
カメラ制御コマンドに共通規格がある訳じゃないし。 cv::imread使えよ>>632
そんな化石みたいな関数使ってもいいことない
とはいえどうせ画像パスがサンプルコードのままとかいうオチだろうけど >>635
教授にUSBカメラのデバイス設定で露出とかそういうの変えられるでしょ?みたいに言われたんですが、制御、設定するプログラミングを別で組まない無理ですよね? 何したいのか知らんけどガンマ補正かけたりして補正するんじゃだめなんかい
せっかくのopencvだからそういう使い方しようよ
あくまでソフトだから、基本的にハードの制御は他でやるべき 「USBカメラのデバイス設定」はopencvじゃないでしょ
USBカメラのデバイス設定では変えれるし、例えばwindowsなら汎用の設定方法が用意されてるからそれ使えばプログラム上から設定できる >>636
レスありがとう
パスは変えてるよ、流石に
cv::Mat使ってみたんだけど俺の理解力不足なのかまったく使い物にならん
http://daily-tech.hatenablog.com/entry/2016/06/25/233203
このブログの3個目のプログラムなんだが、CVStereoGC〜ってやつはぜんぶGC→BMって変更加えるってことしかわからんかった
誰か詳しく教えてエロい人 何で2016年にIplimageとか使ってんだよ・・・w
matに書き換えるのきついならとりあえずデバッグしてみーよ
そもそもエラーメッセージは何? ちょっと調べてみたら
StereoGCちゃんは3.系になったときにリストラされてるねwドマーイ >>632 です
>>643
まじすか、2.4.13.2でもないっぽいんでGC系は削除されてるんすね…
>>644
はビルド通ったけど実行したら怒られましたね
>>641
の修正したけどエラー出るソース乗っけた方がいいですか?長いしクソコードです ■ このスレッドは過去ログ倉庫に格納されています