【Intel】OpenCV総合スレ 5画素目【画像処理】
レス数が1000を超えています。これ以上書き込みはできません。
>>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ファイルとしての出力がないんです >>928
「マルチtiff 変換」でぐぐって一つ目のリンククリックして、開いたとこの先頭に
> (BMP,JPEG,JPEG2000,GIF,TIFF,PCX,FPX,PNG)からのダイレクト変換可
> 1つのファイルに複数の画像を収めることができるマルチページTIFFの一括作成に特化された
ってあるが、これ使ってもできないのか? >>926
コマンドラインでtiff変換するやつとか適当に使えばいいだろ
保存した3つのpngのパスは分かってるんだから
その3つを入力して適当にtiffで出力して終わり
コマンドライン操作?何それ?ってレベルならお勉強して下さいとしか・・ すいませんお教え願えませんでしょうか?
ガタガタのドッド絵画像の線をある程度直線で近似してなめらかな線にして
頂点位置の取得をしたいのですが
途中でつまずいてしまいました
やってみたのは
openCVのチュートリアルサイトにあったのを
ttp://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_imgproc/py_contours/py_contour_features/py_contour_features.html
for (i,cnt) in enumerate(contours):
epsilon = 0.01*cv2.arcLength(cnt,True)
approx = cv2.approxPolyDP(cnt,epsilon,True)
img=cv2.drawContours(img,[approx],0,(0,0,0),0,lineType=cv2.LINE_AA)
をやってみたのですがなめらかな線はcv2.LINE_AAで出るのですが
元のドット絵みたいな線がガタガタな所と
きれいな直線になっているところがばらばらでした
そこでcornerHarrisで角になっているところを表示してみました
でもcornerHarrisででた頂点をdrawContoursで繋ぐ方法が分かりませんでした
この方法でいいのかもちょっとわからず・・・すいません、どうしたら良いのでしょうか? ちょっと意味が理解できなかった
なめらかな直線に近似したら頂点の座標なんて分からないと思うが >>937
説明へたくそですいません
ttps://imgur.com/a/ImM2E
オーバーに描くとこんな感じです。
元画像の白と黒の境界のギザギザ部分は滑らかな線にして(cv2.LINE_AAでできた)
形自体は直線で近似するので頂点ができるので
その頂点の座標も知りたいという感じです。 >>925
ゴミだったよ
その次に出た応用編は良かった >>938
どこが最終目標か分からないけど
その説明だけだとfindcontourとか使う方がお手軽そう 教えていただいてありがとうございます
フーリエ見てみましたがまだちょっと理解が追い付かないです
>>941
最終的にはアウトラインの真ん中の線をつなげれる座標が欲しいです。
今のところこんな感じです
https://imgur.com/a/D1ZdN
findcontourについて・・・これもアウトラインで境界がとれているので
難しいです。
モナーの絵でいえばギザギザしたのをスムーズな線にしたら
センターラインもとれやすくなるのでは(なんの確信もないですが)
と思っています。
もうほんと説明がへたくそすぎてすいませんとしか言えなくてすいません・・・ >>944
ttps://github.com/eiichiromomma/CVMLAB/wiki/OpenCV-Thinning >>944
ありがとうございます!!!
出来そうな気配が漂ってきました!!
https://imgur.com/XX9Efl8
センターラインを作った後に
findcontourを使ったので
輪郭線が二本になって頂点の座標の個数が二倍になってますが
まだよくわかんないですが入れ子になっているデータを
もうちょっとよく見たらなんとかなりそうな感じになりました。
ありがとうございます!! 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
052IV traincascadeを使ってるんだけどstage9くらいで落ちる。どうすればいいだろうか
ポジティブ画像が2000でネガテイブ画像が1000くらい >>950
-numPosを1750ぐらいにする
正しい枚数の九割いかないくらいの値
それでだめだったらnumNegを850かな
でどうだろうか スレチかもしれないんですが学校の課題でゼロ交差法のプログラムをかけというのがでているのですが、2次微分の正から負になっているところがゼロ交差というのはわかるんですが具体的にはどのようなアルゴリズムでやればいいのか教えて欲しいです。 初心者で申し訳ないんですけど
https://future-tech-association.org/2018/01/09/deep_learning_by_opencv_3/
このサイトのやり方を数値は変えましたがほぼ丸コピで機械学習やってみたんですが
TRAINING 1-stageに入ってから全く動かなくなりました
何が原因だと思いますか?
使った画像は100*100の正解不正解画像 50枚 22枚です 初心者が丸コピで動かないとか知らんがな
サイトが間違ってるか、コピペで余計なことをしたのかどっちかだろ 実行画面はこんな感じです
最後の行が出力されてから12時間放置しても変化しませんでした
不正解画像がおかしいのでしょうか?
https://i.imgur.com/PpRiGrl.png OpenCV:2.4.13.6
ビルド環境:Visual Studio 2010 Express
静的リンクで使用したいのですがOpenCVの各モジュールが使用しているライブラリの一覧とかどこかにないんでしょうか?
リンカがエラーを吐くたびに該当するライブラリを手動で探すのは結構大変です いったんDLLを作ってそれらがロードしているライブラリをDependencyWalkerで調べるって事?
やってみたけど静的リンクと動的リンクでリンクしなければならないライブラリファイルは違うしこの方法は上手くいかないようだ
というかこれ1個をリンクすれば一通りの機能が使えるみたいなライブラリファイルって作れないのかな
BUILD_opencv_world=ONはあり得ないファイルをリンクしようとしてビルドできないし OpenCVをどこまで使いたいのか知らんがvcpkgにopencvあったから試してみそじにー >>959
そもそも環境が古すぎる
VSとOpenCVを最新にしろ
Expressを使っているのなら両方無料だし 動的リンクにすると開発環境への依存が下がるのはどういう事なのだろうか
静的リンク
VS2010→リンクできる(期待通りに動作)
VS2008→std::やConcurrency::あたりのシンボルがないと怒られる
動的リンク
VS2010→リンクできる(期待通りに動作)
VS2008→リンクできる(期待通りに動作)
テストコード(test.c)
#include "opencv2/highgui/highgui.hpp"
int main(int argc, char *args[])
{
IplImage* i;
int r;
int p[]={CV_IMWRITE_PNG_COMPRESSION,9};
i = cvLoadImage(".\\IN.PNG", CV_LOAD_IMAGE_UNCHANGED);
r = cvSaveImage(".\\OUT.PNG", i, p);
cvReleaseImage(&i);
return 0;
}
静的リンクでビルド
cl /I ..\static\install\include test.c opencv_highgui2413.lib opencv_core2413.lib libjpeg.lib libpng.lib libjasper.lib libtiff.lib IlmImf.lib zlib.lib User32.lib /link /LIBPATH:..\static\install\x86\vc10\staticlib
動的リンクでビルド
cl /I ..\dynamic\install\include test.c opencv_highgui2413.lib opencv_core2413.lib /link /LIBPATH:..\dynamic\install\x86\vc10\lib
>>965
C APIで使いたいのですがOpenCV 3.x系は非推奨になっているので2.4系を使用しています
別のライブラリが要求しているためMSBT2017の導入は検討中ですがマシンの都合ですぐには無理です Ubuntu上でWEBカメラを3個同時にimshowしたいのですが、うまくいかず困ってます・・・
単一だとうまくいくのですが、2個以上画面出そうとすると応答なしまたは数秒表示して画面が更新しなくなるという症状です
エラーの内容は実行するたびに代わります・・・
ちなみにWindows上では3個問題なく表示できてます(なぜLinuxだけできない??)
ライブラリは標準(windows固有のものは一切なし)+OpenCVのみです
それぞれインスタンス化しスレッドも分けて動作させているのですが・・・
環境はVS2017Community、OpenCV3.2、言語はC++、開発はWindows、動作はLinuxで行ってます。
初心的な質問だったらごめんなさい video4linuxか?
腐ってるからそういうのできないw プログラミング初心者です
USBカメラから画像を取得して画像処理するプログラムを作っているんですが、カメラ制御はopencvでは詳細に設定できないそうですね
簡単なカメラ制御ライブラリはありませんか?
制御したい値は露出やフレームレートです
開発環境はvs2013Windowsで言語c ++、opencv2.4系です 確かに詰めていくとOpenCVのカメラ制御じゃ不十分な点も出てくるがプログラム初心者に関係ある話じゃない >>973
つまり露出とフレームレートはopencvで制御可能ってことでしょうか? できないよ
こんなとこで聞くよりドキュメント検索したら一発だろ WindowsならMediaFoundationでいいだろう。
もちろんカメラ製品によってできるできないはあるけど、専用アプリで露出等を
制御できる製品ならたいていMFでもいけるはず。 OpenCVのカメラ制御はあくまで汎用だからな
細かいカメラ制御が必要なら、仕様でカメラ制御のある専用カメラと専用ライブラリを使わないと 必要なのは露出やFPS制御程度と言っていて画像処理ですでにOpenCV使ってるだろうに
わざわざ他のライブラリ勧めるやつは初心者以下のアホかなんかか? >>977
どうしても外部で制御するのは却下なんです
>>980
できないってことでいいんですよね?
2.4系じゃ反応しませんでした、3.0系ならできるんですかね 意味わからんな。
> カメラ制御はopencvでは詳細に設定できないそうですね
> 簡単なカメラ制御ライブラリはありませんか?
> どうしても外部で制御するのは却下なんです
何がしたいのん >>980
そういう回答の貰い方好きじゃない
まあ何使っても無理なんじゃね >>982
専用アプリで制御するのかと勘違いしてました
MediaFoundationちょっと調べてみます >>983
質問がopencv2.4と気づかず質問者とそれ以外の区別もついてない初心者以下のアホかな 自分で調べてわからないようなやつに何を教えても無駄だろ 質問するなとはだれも言ってない
クレクレ君に教えることは何もない
どこまで自力でやって何が判らないのか誠意を見せろってこと >>979
>簡単なカメラ制御ライブラリはありませんか? そのくらい自分で調べて準備できないなら無理だから諦めろ このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1726日 23時間 8分 49秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。