【Intel】OpenCV総合スレ 5画素目【画像処理】
レス数が900を超えています。1000を超えると表示できなくなるよ。
OpenCVはインテルが公開したオープンソースのコンピュータービジョンライブラリ。
現在はWillowGateが開発している。
本家
http://opencv.willowgarage.com/wiki/
日本語資料など
http://opencv.jp/
前
【Intel】OpenCV総合スレ 4画素目【画像処理】
http://toro.2ch.net/test/read.cgi/tech/1329040627/ 誰の顔かってのは認識じゃなくて認証だと思ってたけど 認証ってのは、単に誰かじゃなくて、
「本人確認」して、さらに権限の認可とかにつなげることでしょ。
認識してもただ行動追跡するだけみたいなのは認証じゃない。 特に駅前の○○の指定(私鉄の沿線で鉄道会社の指定とかな)だとか何とか書いてあるとことか、
わざと一定期間でダメになったり、隣の歯の治療で穴が開通する様に細工するのが上手いからな
国民の金を回させる為に水道にフッ素入れない様にとか、おかしな国だよ カメラで物体を撮影して正確に物体の座標を特定したいです
今は物体にLEDを取り付けて閾値を用いて特定していますがより良い方法はありますか?
正確な座標と誤認識の少なさを両立させたいです そういうのは撮影環境や物体の動きとかの条件次第だからなんとも言えない
グリーンバックにして環境光も変えてってできるならそうすればいいし、
物体にLEDをつけれるほどならカメラにこだわらずレーザー測距視野に入れちゃってもいいと思う >>834
撮影中動く物は検出したい物体のみです
環境はどんな部屋でも特定できるようにしたいのでグリーンバックなどは厳しいです 動くのが物体だけだったら諧調落としてフレームの差分とるだけで終わりそう >>836
フレームの差分とるだけだと動く前と動いた後両方検出してしまう気がします
動く前を除けたら最高なんですが なんかもう無理そうな気がしてきた。今のLEDを輝度下げるとか小さいのにするとかそんなんで誤差小さくしたら? 動く物体が「存在しない画像」を基準にすればいいんじゃね? >>839
なぜか盲点でした
最初のフレームは背景だけでそれと差分取れば常に物体だけ追従できそうですね
LEDの閾値と組み合わせれば誤認識少なくなりそうです >>840
背景差分ってやつだな。実際には照明の大域/局所的
変動や熱などから生じる不規則ノイズがあるので何も考えずに
差分を取るとドッタンバッタン大騒ぎになる。
というわけでロバスト背景差分が必要になるわけ。 顕微鏡で取得した画像に対して、OpenCVでデータ処理をしようと思っています。
まずは、フォーカス合成をした全焦点画像を作ろうと思いますが、
OpenCVにはそれに向いている関数がありますか?
ご存知の方がいましたら、教えてください。 >>842
多数の画像があってある画像では右隅にピントが合ってるが
別の画像では真ん中にピントがあっていて…みたいのを全部
がっちゃんこして「ピントが合った部分」だけで新しい画像を作る
ということでしょうか そういうことだろ。標準機能じゃできなさそうだな
それだけやりたいってなら俺ならphotoshopに突っ込んで自動処理するツールつくるな。そっちの方が簡単かつ生成画像の品質もいい デコンボリューションってOpenCVに実装されてないよな?
ImageJとかの方が良さそう >>842
じゃないんだけど画像にフォーカスが合っているかとうかなんて判定出来るのかな。
特徴点検出を掛けて多い方がシャープさが高いとか?少なくとも同じ視点で撮影していることが保証されてないと厳しそう。
あとPhotoshopだと出来ると書いた人の理論も聞いてみたい 理論も何もphotoshop標準で機能あるから・・・ >画像にフォーカスが合っているかとうかなんて判定
出来る ググりました。
2014年にPhotoshopに「焦点領域」という機能が追加されてるんですね。
なるほど、複数の画像に焦点領域で取得した画像を重ね合わせれば作れるという事だったんですね。納得です。 OpenCVでの解決法に繋がらなくて申し訳ないです。 >>849
そうやってもいいけど、画像の整列かなんかのメニュー一発でできる memo
https://dotapps.jp/articles/qkzakqweffl1k5qp
http://www.gazo.co.jp/shohin_gazoum_vlfc.htm
http://www.eyepp.com/download/pdf/EasyFocus2.pdf
https://www.mitutoyo.co.jp/products/gazoukogaku/menu/gazosokuteikiso.pdf
http://www.faicha.com/vision/05focus/
ピントの合い具合
同じ対象を撮影していて、ピントがあった画像と合っていない画像を比べれば、
1つ1つの輝度差(となりの画素との明るさの差)が短距離で変化するものが、よりピントがあっていると言えそうです。
1ドット右に進むごとに10づつ輝度が変わる4ドットのエリアより、
一発で40輝度変わる2ドットのエリアはクッキリしています。
これを指数化すればよいので、何も考えず、
focus = (画素輝度 - 隣画素輝度)2乗
を画面全体で計算し、これをfocusindexとしています。
この数値、映像対象が変われば当然変化しますので、混在できないとか、
あと動画に使用できないといった問題がありますが、
静止対象のピントを合わせる場合などには結構使えます。
ピント位置を追い込む
上記focusindexをZ軸を少しづつ変化させながら求めると、正規分布のようなベルカーブを描きます。
今、Z0からZnの間にピントがあう位置があると仮定し、この区間を10分割なら10分割して、
Z軸を移動させながら画像を撮影、そのfocusindexを求めます。
すると、どこかの地点で最高値が求まるので、この前後2区間(3点)の範囲にピントがあう位置があるものとします。
これをまた10分割なりして、区間を狭めていき、最終的に、Z軸の分解能で再現できなくなるまで行えば、
ピントのあう画像となります。
問題点としては、縞模様などの場合、ベルカーブにある種の振動波のようなものが観測でき、
正確に合わせられないことがあるということ。
また、ピントの追い込み方が原始的で時間がかかることなどがあげられます。 どの画像がいちばんフォーカスあってそうかってのはすぐ求まるけど
1枚の画像に合成するとこで俺がやったら汚いモザイク絵になっちまうだろうなw
(ひと昔前の使えないパノラマ合成をさらに酷くした状態) >>842
それやるなら超解像顕微鏡を使った方がいいと思う >>856
電子顕微鏡の方がいいだろ
どっちも用途違いすぎてお呼びじゃないがw >>857
電子顕微鏡は画像のフォーカスがあってる部分の合成をやってないけど超解像顕微鏡はやってる
何で電子顕微鏡が出てきたのか分からん 質問失礼します。
カラー画像同士の差分を取るには、3原色に分けてから差分を取ればいいのでしょうか? 何の差分を取るかわからんが、
とりあえずならそうなるな >>861
それぞれ白黒にしたうえで白黒同士で差分 カラーのRGBの各要素には色がない
したがって白黒にする必要ないやろう 1.
python 3.6.3 で複数(20体ほど)の生物(オタマジャクシみたいに特徴が少ないもの)の追跡を差分法でやろうとしてるのですが、前のフレームの ある一つの動体と今のフレームの ある一つの動体が同じであるか求める方法ってありますか?
もしくは、他にいい追跡方法はありますか?
2.
追跡対象が方向転換するとき等、速度が落ちるときに認識が外れてしまうのですが、解決方法はありますか?
プログラミングも動画処理も初めてで、動体の座標を求めてバウンディングボックスを描くところまで作りました
自分で調べてみても、近くに別の動体が来たら認識がおかしくなるような方法しかなくて…
ベクトルから推測するにも、やっぱり最初に判別出来ないと意味がないだろうし…
5日くらい悩んでも分からなかったので、お願いします >>867
抜けました
カメラの位置は固定します
経時変化による光の影響はほぼ無いです >>867
フレーム間隔は?
サンプルの画像数枚貼れる? 2回分の検出で物体が重なった面積が大きい方が同じものとしちゃう
動きが小さい&被写体が大きいなら簡単かつ効果的だよ 返答ありがとうございます
>>869
フレーム間隔について、すみません、よく分からないので、やってる方法を書きます
cap.read()で3フレーム読み込んでグレースケールにしたあち、1フレーム目と2フレーム目、2フレーム目と3フレーム目の差の絶対値を取って、bitwise_andで白いところを抜き出してます
すみません、公表していいのか分からない画像なので、使いたい画像は乗せられないです…
一応それっぽい画像を挙げます
大きさもこんな感じで、真っ黒なやつが動きます
これを全部追跡します
https://i.imgur.com/km9auMT.jpg
>>870
そうしようと思って一度考えたのですが、画像みたいに移動した時、別の動体と重なってしまうと、別の動体同士が認識しあってしまうんです…
https://i.imgur.com/yra8iZt.jpg |1フレーム目 - 2フレーム目| and |2フレーム目 - 3フレーム目|
ってことかな バイオ系でopencv使うならこのサイト見るのがオススメですよ
お金を払えばオーダーメイドでプログラム作成もしてくれるみたいです
http://www.cellstat.net 募集してないのにうちによく作ってくれって依頼くるけど
1万2万で請け負ってもらえると思ってる奴が多すぎるw おまえらもインテルにお金払えよな。
なんでもタダだと思ってんじゃねーよ。 なんのために、どういう送金手段で、いくら、インテルに払えばいいんだ? なんのためにってやっぱりタダが当たり前だと思ってんのか。readmeすら読んでないとかありえん。
https://opencv.org/
[Donate]をクリックして進め。おまえは馬鹿だからまず1万ドル払え。 >>874
この人現役大学生なのに凄いよね
仮想通貨を使ったビジネスも始めてるみたいだし カラー動画を0と255の2値動画に変換して出力たのですが、実際出力された動画の画素を分析すると2値になっておらず、中途半端な値がかなり混ざっています
これはどうしようもないことなのでしょうか jpgというより、動画で出力しているのでmp4です
形式がまずいとかそういう事なのでしょうか
処理は間違っていない気がするのですが…(画素値には0と255以外入れていないので…) mp4はjpegと同じで劣化するだろ。フレーム単位で2値化なんかしたら、HDDいくつあっても足りんわ。 Python3.6.3で
Pyinstaller を使い.exeにして、コンソールに直接 動画ファイル名を打ち込んで動画処理しようとしていたのですが、動画ファイルだけ読み込んでくれません
何故なんでしょう?
webカメラはキャプチャ&処理してくれるし、.pyの状態だと動画ファイルも読み込んで目的通りに動くので、アルゴリズム自体は大丈夫なんだと思います
import cv2
import os
x = os.path.dirname(sys.argv[0])
os.chdir(x)
Device = input('file:')
if Device == '0':
Device = int(Video)
cap = cv2.VideoCaputure(Device)
ret ,frame = cap.read()
if not ret :
print('cannot read video')
cap.release()
cv2.destroyAllwindows()
スクリプトがあるディレクトリを指定し、動画も同じディレクトリにいれて、コンソール画面でファイル名等を打ち込み、キャプチャしようとしてます
そうすると、.exeだと
cannnot read video
と出力されてしまって… パスが悪いんだろ。ファイル名入れるときは絶対パスでいれたら? >>895
そう思って、一度動画ファイルの絶対パスを入れてやってみたんですが、それでもダメでした…
.pyとの違いって何や…エラーも出てないですし… >>894
895が言ってる問題かどうか切り分けるために動画が置いてある場所に(動画じゃない)jpgとか
置いて開けるか試したら? >>897
.exeの方でやってみたら、cvrColorがエラーしてるって出ました。
.pyだと、cannnot read videoです。
cv2.videocaputureをcv2.imreadに変えたら.exeでも.pyでも表示されました
絶対パスじゃなくても、
ファイル名.jpg
だけでもどちらでも開けました
videocaputureに問題があるのかな… exeなんて使わんから知らんけど.pyで動いてるのに.exeにしたら動かないならそのpyinstallerとやらが悪さしてるんだろ 実行ファイルにするなら普通にc++で書けよ、わざわざpythonで書く意味なくね >>899-900
ですかね…他のexe化モジュールも何かエラー吐きすぎて無理そうだったし、時間ももったいないから諦めます
python 入れてもらおう…
元々自分用に作ってて使ってたら、横で見てたプログラミングの知識の無い人が、それ欲しいといったから、配布しようとしたんですよね
プログラミングを知らない人って、あの文字列を見ただけで怯むから、アプリにして、後は数値やら動画ファイルだけを突っ込むだけにしようかと思ってまして opencvの動画周りってffmpeg使ってたと思うけど、pyinstallerではそのあたりのdllも一緒にまとめてくれるのかな。 >>901
そういうの時間と労力のの無駄になるよ。
口に餌を運んであげたら、その猫の糞も始末する
責任が生じるんだ。 普通にクラ側にpython環境入れるかc++で書くかの2択だろ
pyinstallerの中身調べるとかナンセンスすぎる >>901って理由出してるのにその二択にするのはナンセンスよ Python を入れて貰うことにしました
結構使えるプログラムだと思うから、これで我慢してもらおう
>>902
>>905
調べたらこれっぽいです…w
解決策もあったけど、opencvが何かマルウェアみたいでちょっと怖いですね…諦めたほうがいいみたいです
>>903
一応お世話になってるし、色々権力があるから媚び売りたい って言うのは内緒です
>>906
ですね…
最初、使い方を調べたら一瞬でできるみたいだったからやってみたはいいけど、opencv を入れたスクリプトには向いてないみたいです
他の同じような方の参考にもなれば つか業務でソフト開発して詰まったら5chで質問とか終わってるエンジニアだな 質問しようとするだけで思考がまとまるし、じっとしてるだけより何でも行動すべきでしょ ネットで質問して回答通りにやってうまくいったからOK
みたいな開発者になると最悪だが、
得た回答を元に公式のドキュメント読み直すなり
再度情報を整理して、正しく理解できるならそれでいい 5chなんて無能とキチガイしかいないからな
煽ったり無知装ったりなにしても情報とれりゃそれでいいんだよ レスポンスが一番早いのは5chだしな
煽られてもその中に正解が入ってたりするし まあ社会人として業務知識みたいなのをSNSで聞くのどうなんですかって話じゃないかな 業務知識ってなんだよw
社外秘のデータや方法出してるわけでもあるまいしどうでもいいじゃん エスパーするとおれが答えられない質問はするな、ということですな。 opencv でPCの特定のウィンドウをビデオキャプチャすることはできますか?
普通にバンディカムの方がいいかな… python版opencv で
I1 I2 I3
の3つの画像(全て.png)を一つのマルチTIFFファイルにしたいんですが、cv2.imwrite だと複数指定できなくて困ってます
何か方法はありませんか? tiffとか使ったことないけど
普通に3枚pngを出力してからtiffにしたらええやろ >>924
すみません、出力して、どう1ファイルにまとめるのかが分からないのです 「マルチtiff 変換」
↑
これでぐぐればいいだろ。それも分からないのか・・・ >>927
調べて見つからなかったから質問してるんです
どれもこれも読み込みのことしかなくて、マルチTIFFファイルとしての出力がないんです レス数が900を超えています。1000を超えると表示できなくなるよ。