X



【Intel】OpenCV総合スレ 5画素目【画像処理】
レス数が1000を超えています。これ以上書き込みはできません。
0004デフォルトの名無しさん垢版2013/10/25(金) 17:34:12.59
OpenCV 2.4以降でMatと配列を相互変換したい。
Matは幅w、高さhのCV_32FC3型。
配列はw*h*3のfloat型3次元配列。
for文を使わずシンプルに書きたいんだけど、
いい方法ないかな?
0006デフォルトの名無しさん垢版2013/10/25(金) 17:53:07.71
               ノ      ゚.ノヽ  , /}      ...
            ,,イ`"     、-'   `;_' '    ..::::::::::::::...
   ,-、  _.._   (        (,(~ヽ'~     ..:::::::::::::::::::::::
 )'~  レー'  〉   ヽ       i`'}       .:::::::::::::::::::::::
 ~つ     '-ー、  i       | i'     ...:::::::::::::::::::::::
 /       <  /     。/   !  ......:::::::::::::::::::::::::    これは>>1乙じゃなくて
/         ~^´     /},-'' ,●::::::::::::::::::::::::::::::::::::
i、        ,i' _,,...,-‐-、/    i  ::::::::  .:::::::::::::
..ゝ        <,,-==、   ,,-,/      .:::::::::::            放射能がうんたら
 )       {~''~>`v-''`ー゙`'~       ..:::::::::                          ........::.
 {        レ_ノ            ..::::::::.                         ......:::::::::
ノ         ''           ..:::::::                        ...::.:...:::::::::
                     .:::::::::                     ...:......:::::::::::: .
                    .:::::::::::.        .....      ..  ..::::::::::::::::::::::::   :::.
                    ::::::::::::::::.::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. ::  ::..
                    .:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::    ::.
                    ::::::::::::::::: :::::::::::::::::::::::::::::: :::::
                          .::    ::.  :::
0007デフォルトの名無しさん垢版2013/10/25(金) 19:54:30.16
いちもつ
0009デフォルトの名無しさん垢版2013/10/26(土) 10:46:42.66
ググったらできました!ありがとうございまいた
0010デフォルトの名無しさん垢版2013/10/26(土) 10:51:15.28
916 57 [sage] 2013/10/25(金) 21:38:54.52 ID: Be:
openCV触ってみたが、cで扱った時よりか大分楽だな。
インストールからして凄く楽々
開発も楽々

ちっくら、惚れた
0011デフォルトの名無しさん垢版2013/10/26(土) 11:10:57.43
一般人なら英語を読めて当然とは思わないけど、プログラマなら当然でしょ。
これだけ日進月歩の激しい分野でどこかの誰かの翻訳待ちとか頭悪すぎる。
0017デフォルトの名無しさん垢版2013/10/27(日) 07:29:51.98
pythonで使っても速いっすか?
0021デフォルトの名無しさん垢版2013/10/27(日) 10:39:53.41
2ちゃんにクロスポストの機能があればなぁ
0025デフォルトの名無しさん垢版2013/10/27(日) 11:06:27.15
実行時最適化のおかげで行列が速い速い
ES6からSIMDも入るしJSで書けば一足先に未来へ行ける
0027デフォルトの名無しさん垢版2013/10/27(日) 11:22:29.85
極一部のレアケース除いてJSがC/C++より速いわけねーだろ・・・。
と思ったけどJSと比べられてるのは文脈的にPythonか?それならそうだろうな。
0029デフォルトの名無しさん垢版2013/10/27(日) 11:39:32.94
そうでもない
JSの実行速度はかなり速い
ブラウザのおまけだった時代と違う
今や速度ではアセンブラがライバル
昔のイメージで見ると時代に乗り遅れる
0031デフォルトの名無しさん垢版2013/10/27(日) 11:44:34.38
Intel自身がOpenCVを書く言語を誤ったと認めているからね。
大量のデータに小さな命令を適用するにはVM方式のほうが速度面で有利らしい。
0035デフォルトの名無しさん垢版2013/10/27(日) 11:51:19.46
速度の話は門外漢だから触れないけど
ライブラリをC/C++で書くというのは、大抵の言語に存在するFFIを利用できることに他ならない
いちいちポーティングしなくても使用できる点において絶対的に優位だと思う
VMだとそうはいかないだろう
0037デフォルトの名無しさん垢版2013/10/27(日) 11:58:32.12
技術板である以上、JSのほうが速いとわかったらJSで書き直す有志が
出てくると思う
OpenCVの倍以上速くなる
0039デフォルトの名無しさん垢版2013/10/27(日) 12:03:15.55
ライブラリが使用されるには実装に加えて保守が必要だからねー
JSでしか使えないライブラリでそんな人足が集まるだろうか?
0042デフォルトの名無しさん垢版2013/10/27(日) 12:07:32.20
ES7からexport入るし他の言語から呼び出される側になるだろうね
ライブラリは高速性を生かしてJSで書き
アプリは環境固有のネイティブで書く
0043デフォルトの名無しさん垢版2013/10/27(日) 13:05:28.72
Javascript製のOSが出てきているのでJavascriptがネイティブ言語になる可能性もある
Javascriptはシステム記述言語としても成熟してきた
0049デフォルトの名無しさん垢版2013/11/01(金) 00:25:44.39
Mac のPythonでOpenCVを使いたいと思い
ttp://slowquery.hatenablog.com/entry/2013/06/09/121420
を参考にHomebrewでインストールしました。

このサイトに乗っているデモをダウンロードして実行したのですが
running: color_histogram.py
OpenCV Error: Assertion failed (size.width>0 && size.height>0) in imshow, file /tmp/opencv-YuGx/opencv-2.4.6.1/modules/highgui/src/window.cpp, line 261
Traceback (most recent call last):
File "color_histogram.py", line 38, in <module>
cv2.imshow('camera', frame)
cv2.error: /tmp/opencv-YuGx/opencv-2.4.6.1/modules/highgui/src/window.cpp:261: error: (-215) size.width>0 && size.height>0 in function imshow

Cleaned up camera.
と出てしまいます。なにがおかしいのでしょうか?
0052デフォルトの名無しさん垢版2013/11/06(水) 19:41:00.92
Officeなどにゼロデイ脆弱性、Word用いた標的型攻撃も観測
米マイクロソフトは2013年11月5日、Microsoft Officeなどに未修正の脆弱性
(CVE-2013-3906)が存在することを明らかにし、注意を呼び掛けた。
http://www.atmarkit.co.jp/ait/articles/1311/06/news105.html

(前略)
 脆弱性が存在するのは、Windows Vista、Windows Server 2008、
Microsoft Office 2003〜2010とMicrosoft Lync。
Microsoft Graphics ComponentのTIFF形式の画像処理に問題があり、
細工を施したTIFF画像を開くと、攻撃者に権限を奪取され、リモートからコードを実行されてしまう恐れがある。
(後略)
0053デフォルトの名無しさん垢版2013/11/07(木) 12:44:05.62
OpenCVに梱包されている目の検出器で検出された領域というのは、
どのくらい確からしいものなんだろう。

領域内のある程度決まった場所に目頭とか目尻って出てくるんだろうか。
0055デフォルトの名無しさん垢版2013/11/09(土) 18:04:08.77
opencvを用いて部分的にSURFを抽出する処理を書いています。
ですが、全体に対してSURF抽出をした場合と、部分的にした場合とでは
SURFの出力が異なってしまうのですが、原因がわかりません
以下画像です。
ちなみに2枚目の画像は、マスク画像で、これを使って部分的にSURF抽出してます。

http://uploda.cc/img/img527df9a52daa5.png
http://uploda.cc/img/img527dfa737a888.png
0056デフォルトの名無しさん垢版2013/11/09(土) 21:02:43.07
>>55
"SURFの出力"を詳しく知りたい。
取れるkeypointが異なるのか、取れたkeypointの特徴量が異なるのか、マッチングの結果が異なるのか。
0057デフォルトの名無しさん垢版2013/11/10(日) 00:09:21.39
>>56

とれるキーポイントの場所が異なる。

具体的には、>>55の一枚目の画像で、右側の画像ではイルカの上側付近に特徴点が
抽出されてるのに対して、左側の画像ではその部分に特徴点が無いんです。

部分的にSURF抽出すると
画像の黒いエッジ付近にやや、特徴点が抽出されてしまっているのをどうにかしたい。
この部分はマスクで処理しているので、決して画素値0として処理しているわけではないです。
005958垢版2013/11/10(日) 00:34:41.38
失礼。
マスクしてたのね。
0060デフォルトの名無しさん垢版2013/11/10(日) 21:33:33.48
質問です。opencvsamples\cpp\peopledetect.cppのHOGの人認識プログラムの処理速度を改善する方法はありますか
動画中の人物を認識しようとしているのですが、自分の試した限りでは最速でも1フレームあたり0.7秒程度かかってしまいまいます
これをなんとか1フレームあたり0.2〜0.3秒で処理したいのです
もし難しいようであれば他の手法やライブラリを紹介していただけるとありがたいです。高額でなければ有料のものでも構いません
0064デフォルトの名無しさん垢版2013/11/10(日) 23:38:37.31
>>57
マスクに関しては0として計算してしまう仕様なんだろうね。keypointの場所に関しては今のところわからない…

その場しのぎの手段だけど、左図でdetectionした後に各keypointの座標とマスクを参照して切る処理を自作するとか。
0065デフォルトの名無しさん垢版2013/11/11(月) 00:29:22.93
質問です。
cv:Matを用いて1ch 3次元のヒストグラムを操作する処理を作成しているのですが現在配列へのアクセスにてこずっています。
Matにおける3次元配列へのアクセス方法を教えて頂けないでしょうか?

初歩的な質問だと思いますがよろしくお願い致します。
0069デフォルトの名無しさん垢版2013/11/12(火) 17:46:48.29
オライリーの詳解opencv買っちまったから
IplImageとかのほうでいまだにやってるわ。
0070デフォルトの名無しさん垢版2013/11/12(火) 19:17:03.04
IplImageに毎回変換するの面倒とか思ってたら
気がついたら動画の読み込みと作成だけOpenCVにやらせて、
画像処理は自力になった
0074デフォルトの名無しさん垢版2013/11/15(金) 07:12:27.22
シーケンスの要素を削除するときのエラーについて質問します


あるシーケンスA(CvSeq *A)の
総数(A->total)が500個でした。

そこで
for(i=0;i<300;i++){
cvSeqRemove(A,i)
}

をすると、i<300では大丈夫なのですが、iを350あたりより大きくすると
エラーがおきます。

シーケンスの数は500なのに、なぜ350個以上削除するとエラーが起きるのでしょうか??
0077デフォルトの名無しさん垢版2013/11/18(月) 05:51:33.00
以下の4行目のように一度シーケンスに格納したあと、
すぐにそのシーケンスから中身を取り出して ->size  の値をを調べてみると
まったく違う値になります。どうしてですか・・・
正常値は10~30なんですが、取り出した後は22430958309(整数)というありえない数値になってます


CvSURFPoint *pp1=(CvSURFPoint*)cvGetSeqElem(keypoints1,i);
cout<<pp1->size<<endl;//ここは正常値

cvSeqInsert(new_keypoints,new_keypoints->total,pp1);
CvSURFPoint *SURFP=(CvSURFPoint*)cvGetSeqElem(new_keypoints,new_keypoints->total-1);
cout<<SURFP->size<<endl;
0078デフォルトの名無しさん垢版2013/11/18(月) 18:53:48.67
bgfg_segmのサンプルをビルドして実行してみたんだけども、何も設定した覚えがないのにブレークポイントが発生して最後まで動かない...。どうしてかわかる??やっぱりサンプルのコードにバグがあるのかな...。
0080デフォルトの名無しさん垢版2013/11/20(水) 15:40:09.21
前に3次元配列へのアクセスについて質問させて頂いた者です。
自主解決出来ました!
3次元用のatが定義されてたんですね。
反応してくださった方ありがとうございました!
0081デフォルトの名無しさん垢版2013/11/25(月) 19:04:31.42
初心者です
opencv2.4.6を使っているんですが、以前使えていたcvAndの機能はcvクラスではどんな使い方(cv::?)にすれば良いのでしょうか?

リファレンスを見つけたのですが分からなくて……

よろしくお願いします
0083デフォルトの名無しさん垢版2013/11/25(月) 22:00:16.44
CvMatとMatのことで悩んでおります。
以下のCvMat型の表記をMat型に直すにはどうすればよいのでしょうか。
ご存知の方いらっしゃったらご教授下さい。

CvMat *cvMat;
CV_MAT_ELEM(*cvMat, int, x, y) = value;
008483垢版2013/11/25(月) 23:36:25.10
83です。
mat.at<int>(j,cur) = (int)val;
にて書き換えが出来たと思ったのですが、matの中身を参照したところ
浮動小数点で表示されてしまいます。
調べたところcreateが以下のようになっており
mat.create( X,Y, CV_32FC1);
3番めの引数をCV_8UC4等に変えてみたのですが、
そうするとmatが正しく初期化されていないとエラーが出てしまいます。
対策方法有りましたらご教授お願いします。
0085デフォルトの名無しさん垢版2013/11/26(火) 01:34:13.43
何をやりたいか整理して話してください。
・使いたい型はuchar?float?
・チャンネル数は1?4?
・書き込みたい値の型はint?
いろいろ混ざりすぎて何やりたいかさっぱり
008683垢版2013/11/26(火) 17:37:09.36
83です、申し訳ございません、整理させていただきます。
あるテキストファイルから1箇所ずつint型で数値を抜き出して
Mat型に格納したいです。Matに格納後、中身を確認したところ、
整数値ではなく浮動小数点で全く違う値が示されてしまいます。

0〜255の数値を「,」で区切った、
32行×500列の以下の様なテキストファイルが有ります。
2, 32, 255, ・・・(32行)

このテキストファイルから1箇所(,で区切られた数値)ずつ抜き出して
int型にして下記のようにmatに代入していきます。
mat.at<int>(x,y) = (int)val; //valは正常な数値を示しています。
008783垢版2013/11/26(火) 17:41:15.81
そしてその後 以下のようにして中身を表示します。

for (int i = 0; i < mat.rows; i++) {
    Mat d(mat, Rect(0,i,mat.cols,1));
    cout << d<< endl;
}
しかし、ここで [2.8025969e-045, 4.4841551e-044, ・・
のように浮動小数点で全く違う値が表記されてしまいます。
正確に表示させられるようにするにはどうすればよろしいでしょうか。
0089デフォルトの名無しさん垢版2013/11/26(火) 19:01:57.22
>>87
よく分かってないけど、mat.at<int>って、doubleとintの間で数値を変換してるわけじゃなくて、
ポインタのキャストみたいに本来doubleの所に無理やりintの値を書き込んでるのでは?
009183垢版2013/11/27(水) 21:45:12.28
>>89
返信ありがとうございます。そのようですね…
Mat_ <int> で宣言することでintを扱うことが出来ました。
皆様有り難うございました。
0094デフォルトの名無しさん垢版2013/12/02(月) 00:58:13.62
http://docs.opencv.org/doc/tutorials/features2d/feature_homography/feature_homography.html
質問です。このページのSurfの特徴検出・抽出器をORBに変更しようとしたのですがうまくいきません
変更箇所は2つで
SurfFeatureDetector detector( minHessian );から
OrbFeatureDetector detector( minHessian );と

SurfDescriptorExtractor extractor;から
OrbDescriptorExtractor extractor;です

探索方法は変更せずflannのままで行いたいです。お願いします
0095デフォルトの名無しさん垢版2013/12/02(月) 02:28:21.80
>>94
詳しくは調べてないけど、flannのmatcherだとorbやfreakで落ちる。freakのサンプルみたいにBF matcherではいかんの?
0096デフォルトの名無しさん垢版2013/12/02(月) 03:21:12.84
>>95
大量の画像とマッチングする予定なので「力づく」の探索はどうにも・・・

http://opencv.jp/opencv2-x-tips/changelog_from_22
ここにある「BRIEF と ORB 局所特徴量に対する,非常に高速な LSH matcher」がflannだと思っていましたので

新たに検索してみたところ
http://opencv-users.1802565.n2.nabble.com/how-to-use-the-ORB-descriptor-td6606424.html
このページがそれに該当するようなのでもう少し見てみます
お騒がせして申し訳ありませんでした
0097デフォルトの名無しさん垢版2013/12/08(日) 02:10:22.87
画像処理の論文は理想的な画像でやってるのばっかだから
0099デフォルトの名無しさん垢版2013/12/14(土) 17:26:45.78
kinectと組み合わせてプログラム書いてんだけど
CV_16UC1のcv::Matのdataにushort型の値を代入しようとしたらucharにキャストされる。
16UC1でメモリ確保してるんだしなにかうまい代入方法ってない?
0102デフォルトの名無しさん垢版2013/12/16(月) 15:21:08.36
static_cast<ushort *>(mat.data)[i]とかじゃない?
dataって一応uchar *の型が指定してあるだけの単なるポインタだよね。
0104デフォルトの名無しさん垢版2013/12/18(水) 11:52:23.56
SIFTを組んでいるのですがコンパイルはできても実行すると実行停止してしまいます。
どうやらキーポイントの数(配列の要素数)が6億個もでてることが原因っぽいです。
なにか解決方法はありますか?

一応主なソースは↓です
cv::SiftFeatureDetector detector(0.04,10.0);
cv::SiftDescriptorExtractor extractor;
cv::Mat descriptors1;
extractor.compute(grayImage1, keypoints1, descriptors1);

環境はvs2010、opencv2.2です。
0108デフォルトの名無しさん垢版2013/12/20(金) 14:54:14.84
traincascadeから出力したxmlは、haartrainingから出力したxmlと中身というか書式が違いますよね?
0109デフォルトの名無しさん垢版2013/12/21(土) 21:44:55.09
OpenCV 2.4以上、VS2010でOpenEXR対応の
64bitビルドを行いたいのですが、必要な
ライブラリとか手順とかの情報ってどこかに
まとまっていないでしょうか?
そもそも、このような構成でのビルドは可能ですか?
OpenCV単体のビルドは何度かやっているのですが、
外部ライブラリとの連携は未経験です。
0110デフォルトの名無しさん垢版2014/01/01(水) 23:45:38.65
画像を回転させると角が切れちゃうんですが、バグですか?
0114デフォルトの名無しさん垢版2014/01/03(金) 01:10:20.29
額縁の中で絵を回転させたら角っこがはみ出るのと同じ。
額縁の大きさ(画像サイズ)を変えないと。
0116デフォルトの名無しさん垢版2014/01/04(土) 14:56:27.13
115殿には是非今一番アツいCVライブラリを
御教示頂きたいものだ。

もっとも、OpenCVが何かと難有なのは同感だし、
結局選択肢がないからこれ使ってるってCV技術者が
大半なんだろうな。
IOさえ何とかなれば、その他の演算処理は
自前で組んだ方がややこしいドキュメントを
隅から隅まで読むのより早かったりするし。
0117デフォルトの名無しさん垢版2014/01/05(日) 02:10:55.87
リンクスのHalconとかいいらしいよ
でもこれ個人で気軽に買える類のものじゃないね
どこで売ってるのかわからないし、値段も公開されてない
MatlabとかもそうだけどAmazonとかで気軽に買えるようにしてほしい
0119デフォルトの名無しさん垢版2014/01/05(日) 02:22:32.58
OpenCVをC++から使ってクソ使いにくいって思ってる人は
Pythonから使ってみるといいよ、ダメダメな設計のcv::Matじゃなくて
Numpyで多次元配列扱えるから遥かに使いやすい
速度は多少残念なことになるけど
未だにIplimage使ってる人は絶滅して
0120デフォルトの名無しさん垢版2014/01/05(日) 02:24:39.67
車輪の再発明だらけになって
どこの誰が書いたのか分からない糞コードが氾濫するような世界は嫌だよ
定番のライブラリがあったほうが絶対いい
0121116垢版2014/01/05(日) 17:24:58.33
>>117
Halconは職場で使ってるけど、オープンじゃないのがね。

>>119
俺は99%Pythonからしか叩かないわ。
実行速度は課題だけど、C++特有のストレスから
解放されるだけでも十分使う価値あると思っている。
0122デフォルトの名無しさん垢版2014/01/05(日) 23:51:23.11
c#のラッパー不便だわ
0124デフォルトの名無しさん垢版2014/01/07(火) 22:43:16.45
cv::imreadで画像を読み込む場合、その画像が
カラーテーブルを持っているかどうかはどうやって判断するんですか?

気にせず読み込めますが、グレースケールの画像を読み込んだのに
グレースケールボタンが押せるのはおかしいので・・・
0125デフォルトの名無しさん垢版2014/01/08(水) 05:07:41.61
Halconなんて工業製品のパターンマッチングとかで使われる高価なパッケージでしょ
そりゃフリーなら喜んで使うけどOpenCVスレで何言ってんの?って感じ
0127デフォルトの名無しさん垢版2014/01/08(水) 13:48:23.96
>>124
cv::Matのチャンネル数見るとかかな?
チャンネル数1ならグレースケール画像
チャンネル数3ならカラー画像
0129デフォルトの名無しさん垢版2014/01/10(金) 03:15:52.96
Python版はNumpyに放り投げてるわけだし
C++版もcv::Matとかクソ扱いにくい仕様やめて
Eigenに放り投げるよう再設計すべきだよね、常々思うわ
0131デフォルトの名無しさん垢版2014/01/10(金) 07:00:59.79
確かにEigenは必須ライブラリだったはずだけど、
cv::Matは画素アクセスとか面倒だよね。
2月にはOpenCV3.0出るって言ってるけど、
使いやすくなってるのかな。
0133デフォルトの名無しさん垢版2014/01/11(土) 09:26:40.10
どんな言語もフレームワークの善し悪しで流行る・流行らないが決まっちゃうほどだし
やっぱライブラリの使用が如何に簡潔で解り易いかってとても重要だと思うなー
逆にプロプライエタリなフレームワークが使い易かったことって一度もないけど
0136デフォルトの名無しさん垢版2014/01/16(木) 23:42:16.16
pythonは一度も触ったことないんだけど、MATLABみたいな感じ?OpenCVの関数は基本的に全部移植されてるの?
0139デフォルトの名無しさん垢版2014/01/17(金) 23:00:57.70
>>136
基本的な機能は抑えてるけど新機能は対応してないことも多々あるね
例えばこのあいだの動画の超解像とか
個人的にはヘタするとMatlabより使いやすい

>>137
Python3には対応してないけど対応する予定はあるらしい
互換性はないけどPython2でも3でもたいして変わらない
0140デフォルトの名無しさん垢版2014/01/21(火) 11:09:40.56
IplImage *pImg = cvCreateImage( ... );
{ cv::Mat M( pImg ); }

これって画像は破棄されるの? されないの?
0141デフォルトの名無しさん垢版2014/01/25(土) 22:56:28.93
JavaScriptは3日で覚えたけど(jqueryは使ってない)PythonもLLだからそのくらいで習得できるかな?
0143デフォルトの名無しさん垢版2014/02/07(金) 16:09:11.13
visualstudio2013にopencv.netを導入したのですが
CreateImageのようにサイズを指定して画像を作成するにはどのようにすれば良いですか?
OpenCV.Net.CV.CreateImageを実行したいのですができませんでした.
0144デフォルトの名無しさん垢版2014/02/12(水) 20:04:30.21
マッチテンプレートでOCRを行いたいと考えています
文字列と同じように空白もマッチングしたいのですが、空白を与えても上手く検出できません

なにかよい方法はありませんか?
0152デフォルトの名無しさん垢版2014/02/23(日) 14:58:38.80
顔の座標とれるんだったら
一定時間でとり続けて差分でどっち動いたか判断してそっちにカメラ動かすだけだろボケが
自分でやれよ。
0153デフォルトの名無しさん垢版2014/03/01(土) 10:06:44.01
>>151-152
IPカメラのIPアドレス指定してCvCaptureに動画をとりこむことは出来るけど
パンチルトカメラの首を動かす方法がカメラの種類によってコマンドが違うみたい
カメラの首を動かす方法はどうやって調べたらいいのでしょうか

http://robocv.blogspot.jp/2012/01/using-your-ip-camera-with-opencv.html
perl cgiでコントロールできるモジュールが
あるみたいな記述があちこちのサイトにあるけど
その肝心のソースコードがどこさがしてもない
0156デフォルトの名無しさん垢版2014/03/03(月) 01:19:53.97
OpenCV初心者です

現在OpenCV2.4.7を使用しています
かなり基礎的な質問で申し訳ありませんが、2.4.7内の関数の使い方を全部掲載しているサイトなどはありますか?
0160デフォルトの名無しさん垢版2014/03/04(火) 04:07:36.16
英語は読めます
学生で、部活内で使われているものが2.4.7です

2.4.7でなくともそれに近いものであれば構いません

教えていただけると幸いです
よろしくお願いします
0162デフォルトの名無しさん垢版2014/03/05(水) 00:57:21.51
公式→ http://docs.opencv.org/2.4.7/
まぁ本当に全部っていうとソース読めってなるんだけど
0163デフォルトの名無しさん垢版2014/03/05(水) 03:30:21.82
>>162
ありがとうございます!
0164デフォルトの名無しさん垢版2014/03/16(日) 11:42:13.20ID:jg6pkE2L
OpenCVのプログラムコードの一部だけ論文に転載するのって
著作権的にはOpenCVへのリファレンス書いてたら問題ないの?
0165デフォルトの名無しさん垢版2014/03/22(土) 20:56:49.83ID:k2pZAvlI
opencvで手を検出する方法って無いかな?
0170デフォルトの名無しさん垢版2014/04/01(火) 00:11:48.63ID:+BzQu1X1
WindowsでMinGW版無くなっちゃったのか。
VC版はやたら充実してるけど。
0172デフォルトの名無しさん垢版2014/04/08(火) 10:55:45.86ID:jqyPRMUU
画質良いの定義が難しいからなー
画像によって処理が合ってるかも変わるだろうし
自分でやってみて拡大してみるのが一番いいんじゃね
0173デフォルトの名無しさん垢版2014/04/09(水) 05:28:50.56ID:kyXLUR/c
>>171
サンプルプログラム
opencv-2.4.8.2/samples/gpu/super_resolution.cpp
がコマンドラインから超解像動画を自動生成できるみたいなのですが
1分ぐらいの動画でも一晩ずっと動かしてもとまらなくて
生成した途中結果表示みてみると
最後まで行った後、まさ最初に戻って何度も同じ動画を処理してるみたいです
バグでしょうか?
main内のforループも終了条件ないですし
0177デフォルトの名無しさん垢版2014/04/16(水) 04:46:28.93ID:GTugkpJK
暗い部分だけ選んで明るくするというの
http://aska-sg.net/psegogo/pse007-20051207.html
Photshopでは出来るみたいだけど

OpenCVにはそういう関数ないの?

あとインターレスのノイズも消したい

vReavalという超解像のソフトがなくなってしまって
それが持ってる機能が欲しい
0180デフォルトの名無しさん垢版2014/05/01(木) 00:05:58.73ID:ZaFC896P
Javaで画像処理をしたいと思い、勉強してます。
JavaCVではなく、OpenCVのJavaライブラリを使ったプログラムを
勉強できるサイトなどありましたらご紹介いただけないでしょうか?

書籍は「Javaで始めるOpenCVプログラミング」を読んでいます。
0182デフォルトの名無しさん垢版2014/05/02(金) 19:06:28.99ID:3yVYO9UY
C#でOpenCVSharpのBitmapConverterってどうやって使うんですか?
名前空間OpenCvSharpには存在しませんでした
環境はVS2013でパッケージはNuGetを使ってOpenCvSharp x64を使ってます
0183デフォルトの名無しさん垢版2014/05/03(土) 14:41:32.83ID:CxgHBGu5
画像認識に興味があり、OpenCVを勉強し始めました。

カメラ撮影したものから長方形の物体を検出し、射影変換することで、
長方形の物体を正面から見たときの画像を得たいと思っております。

元の長方形の縦横比が既知である場合はcvFindHomographyにて射影変換行列を得ることができました。
しかし、元の長方形の縦横比が既知ではない場合、つまり射影変換前の長方形から縦横比を求める方法が思いつきませんでした。

カメラで斜めから撮影した長方形の物体の縦横比を求める方法が知りたいです。
どうかよろしくお願いします。
0184デフォルトの名無しさん垢版2014/05/03(土) 16:01:30.66ID:7aUixRL2
ピンホールカメラモデルを考えて式を立てればどういう計算で縦横比が求まるかと、どこまで条件を揃えてないといけないかがわかると思うけど、
そのための関数ってのは特にないんじゃないかな。
長方形の縦横比、カメラの回転並進で合わせて7つの自由度があるから、少なくともカメラの内部カメラパラメータがわかってれば
長方形の4点が認識できれば8つの拘束条件ができるから計算はできそうな気がする。
0187デフォルトの名無しさん垢版2014/05/14(水) 17:05:02.60ID:rwJimwKG
>183
画像上での4頂点に対応するカメラ座標系でのレイ(無限直線) と ある平面 との交点を求めたときに
その4交点が長方形になってるような平面を求めればいいんだろうきっと.
4つの交点を結んだ四角形の四つ角が90度にならなければいかんぜよ という条件とかから
適当に目的関数でも立てて最小二乗法とかでやればいいんじゃないか?

なんとなくだが平面が通る点をどこかに適当に定めてしまって
平面の法線方向だけについて解けばいいような気がする
0188デフォルトの名無しさん垢版2014/05/15(木) 06:22:41.08ID:Lu6xBiPe
まだこの話題続いてたんか。
つい最近トラ技だかInterfaceだかで車のナンバープレートを
矩形化する記事があったが、あれも確か縦横比使わないで
画像解析だけで何とかしてたはず。
0190デフォルトの名無しさん垢版2014/05/16(金) 16:38:03.76ID:s19zIB3X
>>187
>>184だけど確かにその方法でいけるね。
最小二乗法を使うまでもなく代数的に解けるようなレベルのような気がする。
4点がそれぞれp1,p2,p3,p4だったら、レイ上のどこに来るかっていう適当なスケールパラメータs1,s2,s3,s4を考えて、
あとはs2p2-s1p1とs4p4-s1p1の内積が0かつs2p2-s3p3とs4p4-s3p3の内積が0になるようなs1〜s4が求まればおしまいだから、
4元2次の連立方程式かな?
0191デフォルトの名無しさん垢版2014/06/08(日) 15:21:16.86ID:Yfbf5viA
OSXでopencv2.4.9を自前ビルド、静的リンクしてc++プロジェクトで使ってます。

highguiの関数 cvShowWindow()を使おうとするとリンク時にcocoaの関数まで静的リンクしよう
として symbol not foundエラーになり、ビルド出来ません。
全体を動的リンクにしてやり直すしかないのでしょうか
0192デフォルトの名無しさん垢版2014/06/09(月) 22:08:49.62ID:bJmZ/PGJ
初心者名質問で申し訳
IPカメラの画像(h ttp://192.168.x.y/snapshot.cgi)をopenCVで処理することって出来ないの?
画面キャプチャとかハードウェア改造とかじゃなくて。あよ、筐体開けてもシリアルの口は見当たらなかった。
カメラの初期化が出来ない司やり方も分からなくて困ってる

カメラはELECOMのLAN-NCW150/sという代物
EdimaxのOEMらしい
0195194垢版2014/07/18(金) 09:12:29.83ID:6ptJYAb2
すまん勘違いした動画じゃなく画像か
>>193の言うとおりだった
とにかくBitmapで取得して変換すればよい
0196デフォルトの名無しさん垢版2014/07/28(月) 01:22:31.35ID:mYwHNxaR
OS XのCocoaでOpneCVが使いたいんですがStackOverFlowなど読んでもCommand Line Toolが前提っぽいんですがGUIで利用できないんでしょうか
こういう開発環境や導入見ても如何にWin+VSが優れてるかわかりますよね、Mac本当に面倒くさい・・・
0197デフォルトの名無しさん垢版2014/07/28(月) 08:41:59.05ID:W479DJN1
>如何にWin+VSが優れてるかわかりますよね
>如何にWin+VSが優れてるかわかりますよね
>如何にWin+VSが優れてるかわかりますよね

あのさ、心の底から教えて欲しいと思ってるなら
こういう物言いすべきじゃないぜ?
VSコンパイラのタコ仕様に振り回されてる開発者も
世間にはごまんといる。

おまけにちょっとググったらすぐ情報見つかった。
もう少しきちんと探してみることだな。
0200デフォルトの名無しさん垢版2014/07/28(月) 10:17:48.66ID:DZRfdeT4
Mac が面倒なのは同意
Mac 使ってるひとの理由の大半はタダの Linux で充分なことを求めてる
0203デフォルトの名無しさん垢版2014/07/29(火) 09:40:36.12ID:XqwAyXgE
そもそもサポート対象じゃないライブラリを無理矢理動かして使えないからダメって
そりゃそうだとしか言えんはw
0207デフォルトの名無しさん垢版2014/07/29(火) 14:49:59.07ID:C4uRegUO
Windows版と違って公式にビルド済みのバイナリが置いてないから使えねえって言ってるのかな。
0211デフォルトの名無しさん垢版2014/07/30(水) 09:56:18.07ID:1/A7uemL
CV系の学生って何ぞ?w
自分で計算出来ないからライブラリにやってもらって
自分は何もわかりませんとか?
0212デフォルトの名無しさん垢版2014/07/30(水) 10:38:09.10ID:a5Boy+67
あー言っちゃったね
マカーのプライド傷つけるとどうなるか、身を持って知るといいよ
0213デフォルトの名無しさん垢版2014/07/30(水) 11:22:16.37ID:WJIQUzOh
最近は、GLSL触るだけで画像処理の専門家なんだそうで、
SPIDERもOpenCVも何それな専門家が増えているからなぁ
0215デフォルトの名無しさん垢版2014/07/30(水) 17:52:05.16ID:o5oNS4FN
OpenCVに限らないが、入出力のような本質から外れる部分はライブラリを使ってどんどんすっ飛ばせばいいよ
0216デフォルトの名無しさん垢版2014/08/05(火) 04:51:02.99ID:9rn9hAyi
opencvのSIFTを利用してCSIFTのプログラムを作成したいのですが、このアルゴリズムの詳細がわかる方いますかね?
0217デフォルトの名無しさん垢版2014/08/05(火) 06:23:24.18ID:iLUP5Qqd
CV系の学生はMacが多い。
0223デフォルトの名無しさん垢版2014/08/05(火) 18:01:10.63ID:62hFeqDo
だいたい、自分の環境でのビルド方法なんかcvに手出す前に
身につけて置くべきもので、
WinがMacがと取り立てて騒ぐ事かと。
0226デフォルトの名無しさん垢版2014/08/06(水) 04:10:33.25ID:8MuRWHTL
質問失礼します。
入力画像が、複数あるテンプレート画像の中のどの画像と最もマッチングしているかをSURFを使って調べるにはどうしたらよいでしょうか。
最近openCVを使いはじめましたが、プログラミング自体初心者であるため、調べ方もよくわかりませんでした。
よろしくお願いします。
0234デフォルトの名無しさん垢版2014/08/06(水) 12:31:08.53ID:ja0exmtr
数値解法でいいなら単なる最適化問題だからそんなに難しくないんじゃない?
解析的に求まるかはわかんないけど、円に接触しない辺が出てくるし難しそう
解なしの場合なんてある?
0236デフォルトの名無しさん垢版2014/08/06(水) 18:28:41.82ID:ocpD1szo
それって画像で考えると
凸多角形の輪郭線からの距離画像を作ったときに最大値になる点が求まればいいってことだよね?
じゃあ それを解析的にやるとしたら… どうすりゃいいんだ?
図形の輪郭を徐々に小さくしてくことを考えると
各頂点は角の2等分線の方向に縮んでいくような気がするが
どこか(別の2等分線との交点?)で別の頂点と合体してその後は縮んでく方向が変わる
その合体後の方向ってのがどうなってんのかわかればそれを最後までやって
一点になる位置を求めればいいのか うん,わからん
0238デフォルトの名無しさん垢版2014/08/06(水) 23:21:57.96ID:ja0exmtr
>>236のを読んでて思ったけど、
凸多角形のそれぞれの辺を内側に向かって同じだけ並行移動させつづけると、どこかで内側のエリアが3角型になるか、線分になるか1点になって、
3角型の場合はその3角型の内接円の半径に辺の移動距離を足したものが内接円の半径になりそうな気がする。
線分になる場合や1点になる場合は辺の移動距離が半径になりそう。

解析的には解けるけど方程式一発という訳にはいかなくて判定処理が必要そうだね。
辺を平行移動させるとどこかで辺が消えるけど、その条件も解析的に求まりそうな気がするから今一歩というところだね。
0239デフォルトの名無しさん垢版2014/08/06(水) 23:37:59.10ID:ja0exmtr
n角型だとして、隣り合った2辺のなす内角を2等分する線を引くと、その線交点がn個できる。
この交点と辺の距離の分だけ辺を移動させたときに辺が消えてn-1角型になる可能性が出てくるから、辺からの距離が小さい交点から順に処理してやって、
3角型になるまでやればいいわけだから…

ああそうか、交点と辺の距離を計算してn-3個目に小さい距離がn角型を3角型にする辺の移動距離だから、そのときに出来る3角型を求めれば最大の内接円が求まるね。
0243デフォルトの名無しさん垢版2014/08/07(木) 09:44:58.33ID:SmvqWYAn
>>242
四角形の場合、辺の長さをAからDとした時 A+C=B+Dなら
解あり。そごうのマークはこの条件を満たしているが線分が
交錯しているので解無し。
0247デフォルトの名無しさん垢版2014/08/07(木) 23:51:01.58ID:yuOaZbMp
>>243
A+C=B+Dという判定式はどっから来たんだろう?
A+C!=B+Dでも解が存在する場合はあるし、==でも存在しない場合もあるし。
0250デフォルトの名無しさん垢版2014/08/08(金) 05:42:34.82ID:1UU7vf/D
問題を誤解してコメントしたひとのレスを読んで
さらにそれを誤解してコメントする訳ですね
0254デフォルトの名無しさん垢版2014/08/12(火) 18:51:29.00ID:0jK/pM8y
>>251
認識した物体(緑のボトル)の実際の高さ
0255デフォルトの名無しさん垢版2014/08/15(金) 01:41:54.60ID:520GhRWF
>>173
>opencv-2.4.8.2/samples/gpu/super_resolution.cpp
なんだけどCUDAで計算しても全然遅い
CPUで計算する方がはるかに高速
ある程度以上のビデオカードでないとCUDAの恩恵得られないって事なのかな
ちなみにGforce GT420です
0256デフォルトの名無しさん垢版2014/08/15(金) 05:19:16.89ID:B7ab7tDG
GT420のCUDAコアは48基
現在のミドル帯で最も普及したであろうGTX660で960基
Titan blackで2880基
無い方がマシかもよ

それ以前にGeforceは倍精度演算コアが以下略なんだが
0257デフォルトの名無しさん垢版2014/08/17(日) 21:21:12.88ID:NSOavDRB
>>255-256
このプログラムは
メモリー1Gのビデオカードだと
デフォルトの設定でCUDAが動かない

画像の拡大サイズをデフォルトの4倍から2倍にしたら動いたけど

メモリー2Gならデフォルト設定で動くのだろうか
0258デフォルトの名無しさん垢版2014/08/22(金) 10:55:13.77ID:j5O/pd5j
2012年ぐらいにビデオカードを複数刺した場合にOpenCVの
CUDA機能がバグってたが、その後に治ったんだそう
http://www.techques.com/question/1-9295350/Error-OpenCV-with-CUDA-using-TBB-for-multiple-GPUs

今なら数千円の安いビデオカードを複数刺して

>>173
>opencv-2.4.8.2/samples/gpu/super_resolution.cpp

のプログラムを高速で動作させることは出来るのでしょうか
0259デフォルトの名無しさん垢版2014/08/22(金) 14:01:56.07ID:GaAVVgAP
>>258
データ律速だと、速くならない。
ましてや、安いビデオカードはPCIeバスもメモリも遅いから、なおさら。
0260デフォルトの名無しさん垢版2014/08/22(金) 19:55:09.56ID:lWYFWd0+
その数千円レベルだと数枚挿そうが
CUDAコア少なすぎて無い方がマシ
貧乏人は麦でも食ってろ
0261デフォルトの名無しさん垢版2014/09/19(金) 13:25:16.13ID:KzrQAxPc
Linuxでパッケージのアップデートしたら

OpenCVのプログラムに動画を読み込ませようとすると

OpenCV Error: Assertion failed (vc_.isOpened())

というエラーが起きるようになりました
(以前はちゃんと動いてた)

ひょっとしてOpenCVのソースをいじらないと
治らないのでしょうか
0265デフォルトの名無しさん垢版2014/10/23(木) 14:19:21.95ID:cfpTx2oa
現在挑戦していることでわからない点があるのでなにかアドバイス頂きたいです。
動画を読み込みハール分類器により顔と目領域を検出します。
次に目輪郭を cvFindContoursで探し、輪郭を検出しcv虹彩に楕円を当てはめようとしているんですが
ビルドは成功しますがソースコードの輪郭を構成する頂点座標を取得
tmp = CV_GET_SEQ_ELEM (CvPoint, contours, -1)の部分でオーバーフローしてしまいます。
またcvHaarDetectObjectsで顔検出では動作しますが目領域の際にエラーがでます。
どなたかこの原因と考えられる対策など教えてください
0266デフォルトの名無しさん垢版2014/10/23(木) 14:55:24.63ID:RjBQcz8M
ぬるぽ
0267デフォルトの名無しさん垢版2014/10/23(木) 16:15:19.56ID:cfpTx2oa
>>266
ヌルポインタが原因のようですがなぜ顔検出では起こらず、
目領域の検出でぬるぽになってしまうのでしょうか?
0272デフォルトの名無しさん垢版2014/12/06(土) 13:45:22.61ID:eDdnt3jc
OpenCV必要ないな。こんな画像認識技術があったってろくな使われ方しないだろうからな。
0273デフォルトの名無しさん垢版2014/12/06(土) 13:50:09.44ID:1MG24EwX
お前の発想が貧困なだけだろ
休みの日に馬鹿アピールとかなかなか有意義な人生送ってますね
死ねば?
0274デフォルトの名無しさん垢版2014/12/11(木) 16:55:50.85ID:6slixBmx
OpenCVでROIを用いて画像の一部を矩形で切り抜き、保存することはできたのですが
矩形以外での多角形で切り抜きは可能なのでしょうか?
0275デフォルトの名無しさん垢版2014/12/12(金) 10:34:09.04ID:cSBPjkby
どういう結果を期待してるんだ?
その多角形を包括する矩形で切り出してきてそこから欲しい結果に加工すれば?
0279名無しさん@そうだ選挙に行こう垢版2014/12/13(土) 20:48:39.84ID:aIxuvf1S
OpenCVに限らないだろうよ
C++の勉強をした時に、2つ以上値を返すにはどうすればいいって習った
それと同じようにやれよ
0282名無しさん@そうだ選挙に行こう垢版2014/12/13(土) 23:21:20.21ID:aWFoLZL3
引数がレジスタやスタックに積んで複数渡せる仕組みなんだから
戻り値も同様にして複数返せるようにすりゃよかったのにな
0284デフォルトの名無しさん垢版2014/12/21(日) 02:06:41.58ID:ANxxvVGk
ご相談に乗っていただきたいです
現在OpenCV2.4.10とDxLibを併用して使っているのですが、findContoursメソッドを使用すると
ヒープが壊れたというランタイムエラーが発生してしまいます
どうにか回避方法を教えていただきたいです


↓ソースです
http://codepad.org/hS14MmrI
0285デフォルトの名無しさん垢版2014/12/28(日) 19:44:05.79ID:jxhF3Jvs
usbカメラをキャプチャしたものを遅延再生をおこないたいのですが、どうやって行ったら良いのでしょうか?
0288デフォルトの名無しさん垢版2015/01/08(木) 20:27:47.23ID:O2t7YOr0
FASTでコーナーだと検出するときの連続画素数の閾値はデフォルトだとどうなっていますか?
0289デフォルトの名無しさん垢版2015/01/13(火) 10:26:33.93ID:MMza42nd
http://fast-uploader.com/file/6976667806149/
この画像の黒い線の結び目に当たる部分を認識させたいのですが、
どのようなキーワードで学べばいいですか?
分類器などを使用するのが一般的ですか?
0291デフォルトの名無しさん垢版2015/01/20(火) 15:23:33.11ID:5o7d0Dbg
分類器作ることになったんですけどポジティブ画像の識別対象の位置ってやっぱ一個ずつ手作業で打ち込んでいくものなんでしょうか
0292デフォルトの名無しさん垢版2015/01/20(火) 16:29:23.28ID:3pY1xTVZ
5次元の行列に添字アクセスするにはどうしたらいいですか?
2次元、4次元はわかるんですが5次元がわかりません...
0295デフォルトの名無しさん垢版2015/01/21(水) 19:48:55.20ID:e4jAYfur
複数の画像からvecファイルを作る、もしくはvecファイルを統合できるソフトをご存じの方いらっしゃいませんか
0297デフォルトの名無しさん垢版2015/01/26(月) 02:28:59.98ID:Csz3wp0v
cv::Mat<cv::Vec5d>は、cv::Matの一つ一つの要素が5次元ベクトルってだけでしょ。
i,j,k,l,mで単一のdoubleにアクセスできるような5次元配列(5階テンソルみたいな?)はMatでは表せないと思うけど。
そもそも掛け算とか定義できないじゃん。
Mat<Vec5d>のデータにアクセスするだけなm.at<Vec5d>(i,j)[4]とかでしょ?
0298デフォルトの名無しさん垢版2015/01/26(月) 03:03:54.38ID:WkuUMMZg
>>297
そうなんですか。
ちょっとよくわかってないのですが、4次元の行列操作も根本的に勘違いしてるかも知れません。
とりあえずやりたいことは、4および5次元行列の、
添字(k, l, m,・・・)で指定した要素を読み書きすることだけです。
OpenCVはバージョン2.4.9です。
多次元行列(a.k.a cv::MatND)がcv::Matに統合されたと聞いたのですが、、、
0299デフォルトの名無しさん垢版2015/01/26(月) 03:52:20.37ID:Csz3wp0v
>>298
ごめん。知識が古かった。

https://github.com/Itseez/opencv/blob/master/modules/core/include/opencv2/core/mat.hpp#L1687

Mat::atはヘッダーのこの辺で宣言されてるから、見てみると、
3次元配列まではat<double>(0,1,2)とかでアクセスできるね。
それ以上になると、ポインタかVecっぽいから、
m.at<double>(Vec5i(0,1,2,3.4))とかになるんじゃないかな?

あ、でもVec5iはtypedefされてないから、
typedef Vec<int, 5> Vec5i;
とかする必要あるかも。

2,3,4,6しかtypedefされてないんだな。中途半端w
0300デフォルトの名無しさん垢版2015/01/27(火) 11:35:04.56ID:XdRp3tMm
なるほど、at<要素の型>(添字のベクトル)
でアクセスできるわけですね。
ベクトルじゃなくて()内に直接添字を列挙できるのはその特殊な場合(2次元など)
ということですね。
4次元のときにat<要素の型の4次ベクトル>(添字3個)[4個目の添字]
でアクセスできていたのがよくわかりませんが、、、
0301デフォルトの名無しさん垢版2015/01/27(火) 22:57:00.54ID:M/7C5R6V
>>300
あんまりちゃんと追ってるわけじゃないんで正確じゃないけど、一番最後の添字にはそうやってアクセスできるっぽいね。
Mat::at(i,j,k)とMat::ptrの実装を見る限りでは。
0302デフォルトの名無しさん垢版2015/02/03(火) 11:51:54.66ID:QhWvOAvq
カスケードファイルを使って物体認識するところを、
(重いだろうけど)、DeepLearning(DCNN)で認識させる実装やってるんだけど、
ふと既に誰か作ってるんじゃないかと思ってググったんだが、どこにもないな。
誰もが考えそうなものなんだけど、何故だろう。
0304デフォルトの名無しさん垢版2015/02/04(水) 09:55:03.50ID:tcl4NYuY
>303
やられてるんですね。
だいたいは、物体抽出だけカスケードで抽出して、
その後DCNNかける例ばかりだったので、
物体抽出の精度に依存していやだなーと思ってました。

ちなみに、雑誌って、Interfaceとかですか?
0306デフォルトの名無しさん垢版2015/02/05(木) 00:25:52.75ID:K64xlR7w
コンピュータビジョン最先端ガイド
毎年12月に出版されてたのに去年はなかったね。
もう出さないのかな?楽しみにしてたのに。
0309デフォルトの名無しさん垢版2015/02/10(火) 16:44:31.92ID:cXmIgxNn
基本的なことですがSIFTとSURFの違いってなんですかね?
使ってて基本的にSURFの方が早いことはわかりますが
それぞれどういった特徴に対して特徴ベクトルを出してるんですかね?
0311デフォルトの名無しさん垢版2015/02/12(木) 16:49:21.14ID:zuBBOp7q
すいません
行列A、Bがあり、Bは行、列共にAより小さいとします。
いま、Aの一部に、Bをまるごと代入したいと思って、
Mat C = A(Rect(...))
B.assignTo(C)
のように書きましたが、うまくいきませんでした。
assignToの実装を見てみると、typeが未指定(負)だとそのまま目的の変数に代入するような実装になっています。
このような目的では、copyToを使うのが適切ですか?
目的の行列と型・行列サイズが同じならば、メモリの再割り当てはされない(Aに正しく代入される)ことは保証されていますか?
0312デフォルトの名無しさん垢版2015/02/19(木) 14:50:01.20ID:MMMfld4J
cv::Matって内部で他のcv::Matとかとメモリ共有してるの怖くない?
constなのに中身が変わってるとかあるわけでしょ
関数型世界からの悲鳴が聞こえてきそうだ
0313デフォルトの名無しさん垢版2015/02/19(木) 16:07:31.49ID:Q7B3YZ4l
そんな世界からいくら悲鳴が聞こえたところで興味ねえよ
アホのお前たちは粛々とカーネルだけ書いてろ
0314デフォルトの名無しさん垢版2015/03/04(水) 20:48:16.18ID:g4+m5Y9b
質問です。
カメラからキャプチャしてhaarcascadeを用いて
顔認識することができました。
認識された箇所にrectangleを用いて四角形を作ることができたのですが
その範囲内だけや範囲外だけを塗りつぶしたりぼかしたりはどうすれば
いいのでしょうか?
0316デフォルトの名無しさん垢版2015/04/25(土) 00:32:25.75ID:a0Skgr09
画像にモザイク処理がされているかどうかの判別は可能でしょうか?
0318デフォルトの名無しさん垢版2015/04/25(土) 10:13:56.47ID:GiqwOUcG
モザイクの種類にもよるだろう。
矩形パッチ内の色が均一なモザイクもあるし、グラデーション掛かってるモザイクもある。
前者なら周辺ピクセルの色見るだけだから余裕。
JPEGノイズ乗ってるとか、そういう特殊なのは頑張るしかない。
0319デフォルトの名無しさん垢版2015/05/22(金) 20:21:31.03ID:QV4g/O9f
OpenCVってメモリリークしない?
cvInitImageHeader で IplImage を初期化して、
cvResize で 画像をリサイズするだけの簡単なプログラムなんだけど、
プログラム終了時に Detected memory leaks! って言われる。
サイズは24byteとか16byteとか小さいから、画像データではない。なんだろうね。
cvInitImageHeader で初期化した IplImage は開放関数呼ばなくて良いんだよね?
0321デフォルトの名無しさん垢版2015/05/24(日) 12:40:19.91ID:MEnSJywT
ソース貼れ
0322デフォルトの名無しさん垢版2015/05/24(日) 21:22:21.00ID:YQmimEgO
たったこれだけのコードでメモリリークって言われる。
int WINAPI _tWinMain( HINSTANCE inst, HINSTANCE prev_inst,  _TCHAR *cmd_line, int show_cmd )
{
  _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
  IplImage dst, src;
  static unsigned int dst_img[1024][1024], src_img[512][512];
  cvInitImageHeader( &dst, cvSize( 1024, 1024 ), IPL_DEPTH_8U, 4 );
  cvInitImageHeader( &src, cvSize( 512, 512 ), IPL_DEPTH_8U, 4 );
  dst.imageData = (char *)dst_img; src.imageData = (char *)src_img;
  cvResize( &src, &dst, CV_INTER_CUBIC );
  return 0;
}
Detected memory leaks!
Dumping objects ->
{2529} normal block at 0x048CD330, 56 bytes long.
0323デフォルトの名無しさん垢版2015/05/24(日) 21:24:24.58ID:YQmimEgO
ちなみに、cvInitImageHeader を使わずに cvCreateImageHeader と cvReleaseImage を対に使ってもダメだった。
>>322の中身をループに突っ込んでも、メモリリークの量は増えなかったから、
何らかのグローバルな管理領域が開放されてないっぽい。
ということで問題ないっちゃないんだが、気持ち悪い
0324323垢版2015/05/24(日) 22:11:52.48ID:YQmimEgO
ミス
cvCreateImageHeader → cvCreateImage
0325デフォルトの名無しさん垢版2015/05/25(月) 17:44:47.84ID:x3KPbf/f
static unsigned int dst_img[1024][1024], src_img[512][512];

alloc 汁
0326デフォルトの名無しさん垢版2015/05/25(月) 19:53:58.81ID:6/qUSWHH
つーか、Willow もインテルもとっくに抜けてるソフトウェアを
使うってどうなんだろ。オープンソースビジネスって成り立つ気がしねぇ
0329デフォルトの名無しさん垢版2015/06/04(木) 03:44:59.47ID:aePucT7k
質問なんだけど、ios版のOpenCVでVideoCaptureのsetとget使えないのって仕様なの?
set(CV_CAP_PROP_POS_FRAMES, 0)で動画の最初に戻りたいんだけど、設定されない。
0330デフォルトの名無しさん垢版2015/06/04(木) 10:20:15.29ID:ay3/nzQK
VideoCaptureはカメラ制御だから、動画の最初に戻るのとは違うんじゃね?
cvCaptureFromFileと勘違いしていると予想
0331デフォルトの名無しさん垢版2015/06/04(木) 11:11:09.22ID:uKBUJt+N
VideoCaptureはファイルも扱えるのでいけるはず
今やってみたらwindowsでは動く。macは持ってないのでわからず(OpenCV3.0 RC1)
0339デフォルトの名無しさん垢版2015/07/02(木) 21:56:52.78ID:eUn7Y/b7
const cv::Mat&amp; で受け取っても、
内部でmat(ROI)して新しいcv::Mat(not const)を生成してしまえば中身を変更できるんだな…

operator()(ROI) constでconst cv::Mat返さないのはおかしくね?
(既出だったらスマン)
0340デフォルトの名無しさん垢版2015/07/08(水) 09:33:39.58ID:SmYj13jC
>>339
んーおかしいというか、Matのコピーコンストラクタが元々「浅い」コピーで
あることはドキュメントに書いてあるので、そういうもんだと思うしかない。

正直、openCVのライブラリデザインはいちいちイケてないところが目立つけど
シンプルでエレガントなものをまったく目指してない人たちが作ってるので
いろいろしょうがないと諦めよう。
0341デフォルトの名無しさん垢版2015/07/08(水) 21:49:03.95ID:Y+kE74C9
>シンプルでエレガントなものをまったく目指してない人たちが作ってる

OpenGLと同じ臭いがする
0342デフォルトの名無しさん垢版2015/07/14(火) 22:54:00.85ID:pzv4agCW
cv::VideoCapture() のインスタンスの生成、破棄をするたびにスレッドが増えていくんだけど、そういうもの?
破棄前に release() を実行しても変わらず。
0343デフォルトの名無しさん垢版2015/07/17(金) 00:36:21.85ID:Q5NeHwNe
Opencv2から3への移行はいつごろがいいんだ
まだ安定性とか不安なので2のままだけど
0350デフォルトの名無しさん垢版2015/08/14(金) 12:23:59.77ID:r5oQP8Er
OpenCVで動画の画像認識をする場合
ハードウェアのシステム要件(動作クロック等)はありますか?
処理に必要なハードの最低条件が知りたいのですがエロい人お願いします
0352デフォルトの名無しさん垢版2015/08/14(金) 15:45:22.42ID:r0RiGYTV
>>350
顔認識なんかは結構重かったような気がする。
そういう意味で、動画処理するときはVGAまで解像度を落とすだとか
フレームを間引きするだとかをしないと間に合わんこと「も」ある。

使いたいハードで実験して細かい条件を合わせてくれ以上のことを
言えない気がするよ。
0353デフォルトの名無しさん垢版2015/08/15(土) 10:14:51.39ID:nBiBWYB/
SIFT特徴量をcomputeで抽出しすると、
その128次元の数値はどういう対応になっているのでしょうか?
SIFT特徴量が輝度勾配ベクトルの8方向*16ブロックということは理解しておりますが、
実際、どの値がどのベクトルに対応しているのでしょうか?
また、その対応を確かめる方法はあるのでしょうか?
0355デフォルトの名無しさん垢版2015/08/15(土) 12:29:44.22ID:nBiBWYB/
ヘッダから追って確認するしかないですかね。
0356デフォルトの名無しさん垢版2015/08/15(土) 13:19:00.48ID:ijksDLQO
>>355
3.SIFTの論文を読む。オリジナルじゃなくても ttp://www.vision.cs.chubu.ac.jp/sift/ から
藤吉弘亘. "Gradientベースの特徴抽出 - SIFTとHOG -  というPDF(でもPPTでもいいけど)を読めば
128次元へのエンコードの詳細がわかる。
0357デフォルトの名無しさん垢版2015/08/15(土) 21:01:36.75ID:tvqSf7Yn
>>356
実際に計算して確認する方法ですね。
ありがとうございます。
0358デフォルトの名無しさん垢版2015/08/16(日) 20:48:18.75ID:bybvfzPj
正面以外の顔も検出したかったから正面顔&ある程度横向いた顔の検出器自作したけどゴミすぎて笑えない
誰か俺の3週間返して
0364デフォルトの名無しさん垢版2015/08/19(水) 19:58:14.81ID:Q4Q4fM6M
俺の顔を顔として認識せずに何故か右肩と右耳を顔として認識してくるゴミ
あんまりふざけたことするなら削除すんぞ産業廃棄物
0369デフォルトの名無しさん垢版2015/08/25(火) 13:54:53.29ID:E0M/KWQv
さくらインターネットのスタンダードプランではOpenCVを動かすことは出来ないのでしょうか?

makeすると、下記のような意味不明なエラーがずらずら出てきます。
/home/xxxxx/local/src/opencv-2.4.9/modules/objdetect/src/datamatrix.cpp: In function 'std::deque<CvDataMatrixCode, std::allocator<CvDataMatrixCode> > cvFindDataMatrix(CvMat*)':
0371デフォルトの名無しさん垢版2015/08/26(水) 08:15:52.24ID:AtwE5MzM
>>370
0373デフォルトの名無しさん垢版2015/08/26(水) 08:20:59.28ID:AtwE5MzM
漏れ >>369 じゃないから
>>370 に同意のつもりで書いたんだが
0379デフォルトの名無しさん垢版2015/08/26(水) 21:14:27.61ID:EI12F+7n
つうか検索すりゃ一発目でOpenCVをビルドするブログが出てくるけどな
その上で出た結論が、お前には無理
0380デフォルトの名無しさん垢版2015/09/05(土) 16:15:47.65ID:ea0E012T
3.0でcontribを追加で展開してビルドしたらそこだけビルドエラー出たんだけど
通常のソース達と同じ場所に入れてあげないとだめなのかね?ビルド時に場所指定できるし、別の場所で問題ないと思ったんだが。
0381デフォルトの名無しさん垢版2015/09/06(日) 00:51:33.91ID:wfrbDpC5
3.0 で cvNamedWindow は何をリンクすれば使えるんだろう?

$ cd /c/opencv3.0/bin
$ nm *.dll | grep 'NamedWindow'

しても何も出ない…
0383デフォルトの名無しさん垢版2015/09/06(日) 08:28:10.77ID:wfrbDpC5
>>382
どうも cmake のオプションの組み合わせのせいで opencv_highgui300.dll が
作られない設定になっていたようです。

というわけで、cmake のオプションを見なおしてみます。

お騒がせしました。
0384デフォルトの名無しさん垢版2015/09/06(日) 08:41:50.38ID:tsoYjMlS
Cmake使ってるなら、リンクライブラリ名気にする必要ないじゃん。
プロジェクトのソリューションもCmakeで作ればだけど。
0385デフォルトの名無しさん垢版2015/09/06(日) 09:19:21.25ID:wfrbDpC5
>>384
説明不足でした。 cmake は opencv のビルド(の準備)にしかつかってません。

いずれにせよ CMakeCache.txt には

//Module opencv_highgui will not be built in current configuration
HAVE_opencv_highgui:INTERNAL=OFF

とありましたから、いろいろoffにしすぎて highguiのdll 自体そもそも作られていなかったわけです。
0387デフォルトの名無しさん垢版2015/09/08(火) 17:17:15.06ID:+eZnz3nO
opencv 3.00 5000x3000の画像をAKAZEで処理しようとするとエラーをはく
〜〜
Ptr<Feature2D> detector = AKAZE::create();
detector->detect(gray_image, keypoints);//ココでエラー
〜〜

Unhandled exception at 0x75A3C42D in opencv_test.exe: Microsoft C++ exception: cv::Exception at memory location 0x0018E504.

1250x750くらいまで1/4に縮小すれば通る
高画質でやってみたかったのだがダメか・・・
0390デフォルトの名無しさん垢版2015/09/26(土) 00:05:38.71ID:E4DrPgdJ
opencv 3.0
windows7
eclipse
言語 java

趣味でopencvを数日前から弄っています。顔認識を試してみたくて
https://blog.openshift.com/day-12-opencv-face-detection-for-java-developers/
ここのサイトを見ながらコツコツやっています。(情報が古いですが、探り探り)

で、ビルドしたら↓の行で例外が出ました。
CascadeClassifier faceDetector = new CascadeClassifier(FaceDetector.class.getResource("haarcascade_frontalface_alt.xml").getPath());

エラーメッセージ―――――――
Exception in thread "main" java.lang.NullPointerException
at opencv.FaceDetector.main(FaceDetector.java:17)
―――――――
haarcascade_frontalface_alt.xmlのパスが取得できなかったと思われるのですが、そもそも
haarcascade_frontalface_alt.xmlをどこに置いておくべきでしょうか?あと、認識用の画像も。

プロジェクト内ならどこでもおいてよいかと思っていたのですが…いろんなところに置き換えてみても例外が消えません。
対処法をご存知の方、お教えいただけたら幸いです。
0391390垢版2015/09/26(土) 00:06:24.36ID:E4DrPgdJ
ちなみにソースコードはこうです。

――――――ソース
package opencv;
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.MatOfRect;
import org.opencv.core.Point;
import org.opencv.core.Rect;
import org.opencv.core.Scalar;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.objdetect.CascadeClassifier;
import org.opencv.imgproc.Imgproc;

public class FaceDetector {
public static void main(String[] args){
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
System.out.println("Running FaceDetector");

CascadeClassifier faceDetector = new CascadeClassifier(FaceDetector.class.getResource("haarcascade_frontalface_alt.xml").getPath());
Mat image= Imgcodecs.imread(FaceDetector.class.getResource("mako.jpg").getPath());
MatOfRect faceDetections =new MatOfRect();
faceDetector.detectMultiScale(image, faceDetections);
System.out.println(String.format("Detected %s faces", faceDetections.toArray().length));
0392390垢版2015/09/26(土) 00:06:57.58ID:E4DrPgdJ
for(Rect rect :faceDetections.toArray()){
Imgproc.rectangle(image, new Point(rect.x, rect.y), new Point(rect.x + rect.width,rect.y + rect.height), new Scalar(0,255,0));
}
String filename="output.png";
System.out.println(String.format("Writing %s", filename));
Imgcodecs.imwrite(filename, image);
}
}

――――――ソース終わり
以上です。

よろしくお願いいたします。
0393デフォルトの名無しさん垢版2015/09/26(土) 00:34:05.26ID:EnjF3IZ6
>>390
そのxmlのあるところにクラスパス通してみた?
逆に、クラスパスで指定されたディレクトリにxmlを置いてみるとか。
0394390垢版2015/09/26(土) 22:13:06.51ID:E4DrPgdJ
>>393
おお!
その手がありました。
やってみます。ありがとうございます!
0395390垢版2015/10/04(日) 22:38:34.32ID:geWtxUX+
時間がかかりましたが、何とか顔の検出ができました!
結構面白いものですね。これ。

さすがにちょっとでも顔が他人とかぶってたりすると検出できないようですが、オープンソースでここまでできるなんて。

テキストを表示させたいと思い、調べてみたら日本語は無理のようで。
アルファベットでいいから表示したいなーと思い
http://opencv.blog.jp/java/text

CoreクラスにputTextなるものがあることを知りました…が、
エクリプスがCoreクラスにそんなもんはない!と怒っています。
―――
メソッド putText(Mat, Point, int, float, Scalar) は型 Core で未定義です
―――

https://github.com/tanaka0079/java/blob/master/opencv/DrawText.java
この辺りの情報は古いのでしょうか?
Opencvのバージョンは3を使っています。
そもそも、highguiのようなクラスも置き換わっているようで。
ご存知の方、お教えいただけたら…と思います。
0396390垢版2015/10/04(日) 22:40:16.79ID:geWtxUX+
コードはまんまコピペでこうです。

Core.putText(im, "Earth", new Point(rect.x, rect.y), Core.FONT_HERSHEY_SIMPLEX, 1.6f, new Scalar(20, 0, 200), 3);

もちろん、import org.opencv.core.Core;は記載してるのでインポートはできています。
0397デフォルトの名無しさん垢版2015/10/07(水) 23:27:44.59ID:3xP4zZH8
OpenCV3.0.0のjarを作ってみて見たけど、確かにそういうメソッドは無いね。
org.opencv.imgproc.Imgprocクラスに移ってるみたい。

こういう、元々がC++のライブラリを他の言語にバインディングしてるような奴は、ドキュメントが充実してないのがきついね。
C++のヘッダからメソッドを探してクラスを見つけるというようなことを今はした。
0398デフォルトの名無しさん垢版2015/10/08(木) 21:38:16.20ID:FbiyaKvV
>>397
おお!
ありがとうございます。
org.opencv.imgproc.Imgprocですね。

そうなんです。ドキュメントが少なめです。
javaに対応したのもごく最近なんですね。

でも、Opencv自体をjavaで使えるだけでもありがたいものです(^^
0399デフォルトの名無しさん垢版2015/10/09(金) 15:21:16.46ID:mKqsGtD+
画像の特徴量っての求めてみようと、
はじめてopencvをインストールしました。
なかなか動かないっす。

imreadまでは動きましたが
SIFTやSURF、ORBなどが
動きません。
ないっていわれますが、
一応、xfeature2dはmodulesに
コピーしてコンパイルしたのですけど。

次は、vs2013のNuGetは試してないのですが
やってみようと思います。
0401デフォルトの名無しさん垢版2015/10/09(金) 22:24:35.20ID:mKqsGtD+
馬鹿のチョンには文化も違うから
理解できないんだね!
日記じゃないのよクソチョンさん?
0403デフォルトの名無しさん垢版2015/10/10(土) 23:22:46.32ID:WtNCkOx7
とクズが申しております
0407デフォルトの名無しさん垢版2015/10/11(日) 10:51:00.23ID:ngi+Bnfd
馬鹿には無理
0408デフォルトの名無しさん垢版2015/10/12(月) 13:56:09.73ID:Ko0Nl7AL
以下のコードの
src_gray = src_gray > 127;
という箇所はどういった処理をしているのでしょうか?


Mat src, src_gray;
src = imread("sample.jpg);
cvtColor(src, src_gray, COLOR_BGR2GRAY);
src_gray = src_gray > 127;
0410デフォルトの名無しさん垢版2015/10/12(月) 14:15:03.90ID:Ko0Nl7AL
理解できました!ありがとうございます!
0411デフォルトの名無しさん垢版2015/10/18(日) 19:23:47.22ID:lOq7skww
Webカメラをcv::VideoCaptureで制御するとき、
grabや>>でフレームを取得すると新しいフレームが撮影されるまで待機するみたいだけど、
これってフレームが更新されていない場合は待機せずスキップするみたいなことはできないんだろうか?
カメラごとにスレッドを立ててそこで動かせば良いんだろうけど、
複数台のカメラを制御する場合とかちょっと不安だ
0412デフォルトの名無しさん垢版2015/10/22(木) 13:08:38.20ID:rGAFqWlD
角度の変化にも対応した顔検出器作ろうとちまちま3つほどやってみたけど全部ゴミでした
俺の4ヶ月分の暇な時間返してマジで
0414デフォルトの名無しさん垢版2015/10/22(木) 15:05:09.55ID:EVhgfJB8
>>411
フレームをスキップする時、スキップしたフレームの画像はどうするの?
多分コマ落ちをわかりやすくしたいんだろうけども、
やるとしたらタイマー設定して、フレームが取得されなかったら真っ黒の画像を挿入するとかでどう?
やったこと無いけどもw
0415デフォルトの名無しさん垢版2015/10/23(金) 01:21:10.92ID:/JJfrbj7
>>414
いやそうじゃなくて、新しいフレームを取得する間、30fpsのカメラなら最大1/30秒近くそのスレッドが止まるわけじゃん
例えばOpenGLを使っていてペイントの関数内でカメラからフレームを取得すれば画面がその間固まってしまう
こういう時新しいフレームがまだ撮影されてなければスキップできると便利だなと
0417デフォルトの名無しさん垢版2015/10/24(土) 00:23:25.53ID:tKlRKbw8
>>415
callback準備したasyncgraberなければ作れば良いのに

opencvはそんなのもなかった?
cでは自分でasyncつくってたからよくわからん
0418デフォルトの名無しさん垢版2015/10/24(土) 06:52:02.25ID:KgXfQA3V
Windowsでプレイする麻雀ゲームがあるのですが、
それを自動でプレイする麻雀AIを作りたいと思っています。
麻雀ゲームを操作する部分で画像認識とマウス操作を使いたいのですが、
その画像認識でOpenCVを使えないかと考えています。
OpenCVは全然知らないのですが、何か画像認識で参考になる書籍やWebサイトなどおすすめを教えてもらえないでしょうか?
0421418垢版2015/10/24(土) 10:10:25.71ID:KgXfQA3V
>>420
参考になるURLありがとうございます。
同じ方法というのはJAVAを使うということでしょうか?
艦名の認識で書かれているように簡略化するということでしょうか?
これまでWin32APIでアプリを作っていたもので、可能ならC言語でやりたいのですが、
同じようなことは簡単にできるのでしょうか?
あと麻雀牌に利用することはできても点数状況の認識などは結局OpenCVを使った方がいいのでしょうか?
たくさん質問してしまってすみません。
0423デフォルトの名無しさん垢版2015/10/24(土) 11:22:14.72ID:jc/5RlIu
>>421
定型的な画像しか入力されないんだから画像認識なんて必要ない。
スクリーンショット撮って特定の部分を調べるだけ。
どこに表示されるか決まってるんだから画像をバイナリ比較したらいい。
n 文字目から strcmp するのと大差ない。
次からは初心者質問スレか知恵袋でやれ。
0424デフォルトの名無しさん垢版2015/10/24(土) 12:20:20.14ID:niXzNvfm
>>421
pythonおすすめ
0427デフォルトの名無しさん垢版2015/10/24(土) 12:46:33.81ID:niXzNvfm
>点数状況の認識などは結局OpenCVを使った方がいい

画面に点数表示されてるなら
そのまま読み取った方が楽じゃね
0428418垢版2015/10/24(土) 13:06:38.99ID:KgXfQA3V
知識不足で色々すみません。

>>423
OpenCVなしでできそうですね。
ありがとうございます。

>>427
そのままって言うのはどういうことでしょうか?
OpenCVを使わずに423さんがおっしゃるやり方を点数にも適用する感じでしょうか?
0431デフォルトの名無しさん垢版2015/10/27(火) 15:39:17.36ID:cLWis84+
エッジ抽出した後に抽出したエッジを一定の大きさに分割する方法はありますか?
0433デフォルトの名無しさん垢版2015/10/28(水) 13:31:12.87ID:G/+JYzkK
あーはいはい、抽出した輪郭から隣接領域を再抽出したいって話ね
方法はあるけどここに書くにはフォーム欄が小さすぎて無理だな
0434デフォルトの名無しさん垢版2015/10/29(木) 09:31:47.69ID:Pwuvr73T
http://codepad.org/eoG65A9x

以下のプログラムのように(実際はエラーで動作しませんが)特定のアプリケーションのプロセスメモリを読み取ってそれを適時画像に文字として表示するプログラムを作りたいです。
どのようにすれば可能ですか?
0435デフォルトの名無しさん垢版2015/10/29(木) 09:44:30.62ID:Pwuvr73T
Sleep(1000)の代わりにwaitKey(10)などにしたところ無事いけました。
とあるゲームで敵のHPを画面表示するツールを作りたかったのですがいけそうですw
0436デフォルトの名無しさん垢版2015/10/31(土) 09:23:42.61ID:EpOvgfvE
opencv1.0に関しての質問です。
cvMatchTemplateでの結果を入れたIplImage構造体があって、cvMinMaxLocを使えばもっとも一致した点が求められるのは分かったのですが、
一定値以上の複数点を求めるにはどうすればよいでしょうか?
IplImage構造体の中にchar *imageDataというのがありますが、これをどうにかして調べるんでしょうか?
0438436垢版2015/10/31(土) 14:25:18.50ID:EpOvgfvE
>>437
配列ポインタは一応分かります
opencv1.0なのはbcc developerで開発してるのですが、ネットで1.0の組み込み方法だけ分かったからです
0441436垢版2015/10/31(土) 16:57:14.29ID:EpOvgfvE
>>440
レスありがとうございます。
知識不足で申し訳ありませんが、確認させてください。

IplImage result;
float result2;
cvMatchTemplate(image,templ,result,method);
result2 = (double *)result;

としておいてresult2のアドレスが指す値を見るということで合っていますか?
0442436垢版2015/10/31(土) 17:04:16.02ID:EpOvgfvE
あ、ごめんなさい。以下でしょうか。

IplImage result;
float *result2;
cvMatchTemplate(image,templ,result,method);
result2 = (double *)result;
0443デフォルトの名無しさん垢版2015/10/31(土) 17:31:04.37ID:ADar2buw
>>441-442
すまん、まちがえた。
float *result2 = (float *)result.imageData;
かな。これでresult2[0]〜result2[W-w+1×H-h+1]が結果のデータになってると思うけど。
試してないから間違ってるかも
0444デフォルトの名無しさん垢版2015/10/31(土) 17:35:39.94ID:ADar2buw
おせっかいだけど、どうも、見てる限りOpenCVでのIplImageの取り扱いに慣れてなさそうだから、まずはもっと簡単なところから始めてみたほうがいいかも。
例えば、256x256のIplImageを作って、左上が黒、右上が赤、左下が青、右下が紫になるようなグラデーション画像を作ってみるとか。
色違うけど、
http://www2.rgu.ac.uk/subj/ats/teachingweb/teaching/t16/Wk4-Colour/PhotoshopColourPicker.jpg
こんなやつね
0446436垢版2015/10/31(土) 18:14:50.38ID:EpOvgfvE
>>443
IplImage result;
float *result2;
cvMatchTemplate(image,templ,result,method);
result2 = (float *)result.imageData;

なぜか上記のようにすると
. または .* の左側に構造体が必要
というエラーが出てしまいます。
せっかく教えていただいたのに、うまくできずにすみません…
0448436垢版2015/10/31(土) 22:53:47.35ID:EpOvgfvE
>>447
IplImage *result;
float *result2;
cvMatchTemplate(image,templ,result,method);
result2 = (float *)result.imageData;

ごめんなさい。こうですね。
書き込みにする時に変数名を変えたので間違えていました。
結果は変わりません。
0450デフォルトの名無しさん垢版2015/11/03(火) 15:47:56.37ID:KpPfrqOo
ruby-opencvなんですが必要な色の領域だけ抽出した二値画像の重心はどのように計算すればいいのでしょうか
リファレンスガイドを読んでもよく分からなかったです
0451436垢版2015/11/04(水) 01:00:57.90ID:ZDJipCdK
>>449
やってます!それがいけないんですかね?
0453デフォルトの名無しさん垢版2015/11/04(水) 10:05:23.46ID:KsS1layI
>>451

・あなたは言葉で状況を説明しているが「言葉による状況描写」そのものが
誤った認識に基づいているならば情報量ゼロ

・あなたは周辺コードやエラーを「ノイズ」だと思って書かなかったのだろうが、
ここで助言をできる人たちにとってそれこそが情報
0455デフォルトの名無しさん垢版2015/11/05(木) 11:50:27.70ID:k1mCzttB
Google Maps API ならやってくれる
0456デフォルトの名無しさん垢版2015/11/26(木) 20:40:25.32ID:VrX6iLNo
Aの上半分をBにコピー
Bの上半分をCにコピー
これだけでエラー出てくるけど何なのこれ
0461456垢版2015/12/01(火) 10:41:38.02ID:WUdCKL/t
自己解決しました
僕の頭が悪いのが原因でした
0463デフォルトの名無しさん垢版2015/12/10(木) 10:21:49.27ID:qPm1t7ac
頭が悪かったから、ではなく

なにをどうしたらどうなるとおもっており、
それはそもそも単純にAしたらBになるという誤解の反映であり
そのような誤解を持った理由はOpenCVにおける設計が若干クソ
なのはさておき、二種類のコピーがある事、更には二種類のコピーが
用意されてる理由などを把握していなかったからでした。

これらのコピーはそれぞれ浅いコピー、深いコピーなどと呼ばれておりうんたらかんたら。

使いドコロとしては浅いコピーは(ここになんか書く)
一方深いコピーは(なんか書く)

注意しなければならないこととして Mat を operator= でアレしたときには(うんたらかんたら)

(ごにょごにょ)というわけで、何をほげしたい場合には浅いコピーで十分で具体的には
ほげほげで十分ですが今の場合にはほげげをすることが必要だったので
深いコピーが必要であり、そのためなんとかという構文で明示的にクローンする
必要がありました。

みたいに書く。そうやって書いておくとここ読んでる人にも有益で、おまえが
他人に教えるときにもテンプレにできるのでWin-Winだな。
0466デフォルトの名無しさん垢版2015/12/22(火) 09:12:30.04ID:llUOQANv
Cudaで高速計算したかったらopencv3使うしかないのかな
まだ2のままでいたいのだけぢ
0471デフォルトの名無しさん垢版2015/12/25(金) 20:13:24.97ID:0UODRZi4
>>470
0472デフォルトの名無しさん垢版2015/12/26(土) 10:23:44.42ID:PvF8tuZ2
>471
0473デフォルトの名無しさん垢版2016/01/14(木) 00:16:44.68ID:ejCwvGZw
OpenCV触り始めたんですけど、サンプル見てとりあえず、

IplImage *src_img = NULL ;
char imgfile[] =
0475デフォルトの名無しさん垢版2016/01/14(木) 19:19:23.47ID:MVoyv7BA
ポインタのポインタだろ
0476473垢版2016/01/14(木) 23:39:06.96ID:ejCwvGZw
あれ、すいません。
コピペで貼ったんですが切れてしまいました。
IplImageをcvCreateImageしてcvReleaseImageしただけでメモリリークしているようなのですが、
他に何か終了命令などはあるのでしょうか?
0478デフォルトの名無しさん垢版2016/01/16(土) 11:06:35.60ID:xOOUInQQ
OpenCVはただのゴミだからインストールしないのが吉。
パソコンプログラミングの超神クラスの俺でも100時間かかって動かせなかった。
はっきり言って時間の無駄。
すでに何百時間も費やして動かせるようになってる人にはとやかく言わないが、
導入を検討してる人はとにかくやめておけ。
0479デフォルトの名無しさん垢版2016/01/16(土) 18:01:01.85ID:KeKHWyn2
>>478
パソコンってことはWindowsかMacだろうけど、どっちも標準の
開発環境でやってればそんなに迷うようなことないんじゃない?

まあでもそうでもないか。Windows+VSでやってたとき、わりと
DLL関係のプロジェクト設定で躓いて先生に助けてもらったわ。
ああいう設定って一度知ってる人に聞かないとだめだね。
0480デフォルトの名無しさん垢版2016/01/16(土) 20:11:39.84ID:CPZavs1f
>>478
どうしてゴミだと思ったの?
どの辺が理解出来なかったか他人にうまく説明出来る?
本気でやる気があったらここで聞いてくれてもいいんだよ?
0484デフォルトの名無しさん垢版2016/01/17(日) 18:49:19.74ID:wzxdIUIG
cvMatが出来る前は普通に使われてたんじゃね
0485476垢版2016/01/18(月) 00:00:30.53ID:2kOEc2q5
>>479
環境書いていませんでしたがWindowsです。
今はMatなんですね。気がつきませんでした。
あとcvMatでも_CrtSetDbgFlagでフラグ立てておくと
メモリリーク出ますね〜。心臓に悪い。
0487デフォルトの名無しさん垢版2016/02/07(日) 11:02:53.61ID:AsHZ+KLf
試せば分かる
0488デフォルトの名無しさん垢版2016/02/07(日) 11:37:29.48ID:2wykn2ry
面倒無用
0490デフォルトの名無しさん垢版2016/02/19(金) 00:17:23.58ID:VbtCQrHN
VS2015 Win32コンソール
int main(){
 _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
 //_CrtSetBreakAlloc( 335 ); // リークの出力の{}内の数字に適宜変更して有効にすればブレーク
 cv::Mat search_img = cv::imread( "zbase.png", 1 );
}

new してる箇所
〜\opencv\sources\modules\core\src\matrix.cpp(241)
 CV_SINGLETON_LAZY_INIT(MatAllocator, new StdMatAllocator())


それを記憶する箇所
〜\opencv\sources\modules\core\src\matrix.cpp(231)
 g_matAllocator = getStdAllocator();


たったこれだけでリークしちまうのか
後始末してくれるメソッドの類はないっぽいし、
外側から無理矢理クリアするにも適切な方法がわからんし、どうしたもんかなぁコレ
C#やPhythonで使うにしてもアンマネージドな部分のリークに不安が残る
それとも識者は後始末かリークさせないようにアロケータ自前で設定してたりするのん?

おせーてエロい人
0491デフォルトの名無しさん垢版2016/02/19(金) 00:23:45.79ID:VbtCQrHN
追伸
目的はテンプレートマッチングなんだけど、
メモリリーク箇所全部追跡しようとしたら1回検索するコード実行しただけですんげぇログ吐き出してくれて
思わずハードディスク毎窓の外にブン投げてソースコード破棄したくなった
0492デフォルトの名無しさん垢版2016/02/22(月) 00:29:18.01ID:9rsZs1m0
何か気持ち悪い文体だけど自分面白いと思ってそう
質問するならそれなりの態度でお願いするべきだと思いますよ
0494デフォルトの名無しさん垢版2016/03/12(土) 16:26:17.52ID:gc0W1ZBa
質問があります。
cv::Mat depthMat;
depthMat=cv::Mat(depth->height,depth->width,CV_32FC1,depth->data)/4500.0f;
とあり、最後にcv::imshow("depth",depthMat);
で表示されているんですが、いままでCV_8UC1やC3,C4だったのでどうして表示できてるか
分かりません。
中身にどんな値が入っているかもわかりません。
8bitなら0~255で理解できたのですが、32bitだとデータに.atや.dataでアクセスしても変な数字しか出ません。
それに.atと.dataで値が違うのも気になります。
どなたか教えてください。
0495デフォルトの名無しさん垢版2016/03/13(日) 03:53:28.89ID:bBn3aLjI
depthMat.at<float>(x,y)とかで正しい値とれない?
dataの方は、((float *)depthMat.data)[i]とかしないと正しい値取れないと思うよ。
結局はバイナリデータのアクセスだから、キャストちゃんとしないとまともな数字が取れないと思う
0496デフォルトの名無しさん垢版2016/03/14(月) 11:04:11.85ID:CN8btJSR
494です。>>495さんの言う通りでした。ありがとうございます。
後、質問なんですがjetson tk1とかに関する質問ってどこの板が適切ですか?
ご存知の方がいらっしゃいましたら教えてください。
0499デフォルトの名無しさん垢版2016/03/29(火) 09:05:29.86ID:xWRz3Ukj
どっかのへっぽこ大学じゃなくてMITがドヤ顔で作ったライブラリなんですが
宣伝乙脳になるとこういう反応になるのか
0501デフォルトの名無しさん垢版2016/03/30(水) 13:41:10.07ID:WoRxWRoM
>>500
君が >498 でないなら釈明する必要はないし、>500 の言い分はごもっともだがその理屈から >498 が出てきたら失笑なことは変わらない。
0505デフォルトの名無しさん垢版2016/04/21(木) 10:02:38.01ID:0GSXCSV8
二重指数積分公式は最高性能の数値積分法であるにもかかわらず
「白人が作ったものではないから」という人種差別的な偏見によって二十年間世界から無視されていた。
0507デフォルトの名無しさん垢版2016/05/01(日) 15:40:06.85ID:tKi6j9CT
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています

言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?

Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al

ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw


The Covenant Project
概要

Covenantは、純粋P2Pのファイル共有ソフトです

目的

インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します

特徴

Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)

接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
0513デフォルトの名無しさん垢版2016/05/10(火) 17:07:30.48ID:CV1uo/Oi
Qtを組み込んだ時にnamedWindowするとデフォルトで出るコントロールパネルだけど、最前面に持ってくる方法はないのですか?
気を抜くとすぐ背面に隠れて、ウインドウ扱いされてないからタスクバーから復活できないし困ってます
0514デフォルトの名無しさん垢版2016/05/24(火) 11:39:22.00ID:oX5dcQm/
OpenCVとはちょっと違うというかOpenCVのテンプレートマッチングの原理の質問になってしまうのですが、
たとえば、DFTの変換結果をそのまま逆変換してもそのままでは元の画像にならず、
各ドットの値を面積で割らないと元の値にはなりません。
では、検索対象画像Sとテンプレート画像TのDFTの変換結果から、
R[y][x].実数 = S[y][x].実数 * T[y][x].実数 + S[y][x].虚数 * T[y][x].虚数
R[y][x].虚数 = -S[y][x]実数 * T[y][x].虚数 + S[y][x].虚数 * T[y][x].実数
の様な計算でRに畳み込み、Rを逆変換して出てきた値を
1.0(完全一致)〜0.0(完全不一致)や-1.0(完全逆位相)の値に正確に合わせるには
どの様な計算を行えば良いのでしょうか?

ttp://iphone.moo.jp/app/?p=630
(OpenCV3.1ではtemplatematch.cppの635行目、crossCorr関数となってもっと大きくなっていますが)
を言葉通りに受け取って相関係数を求めてみても1.0〜0.0の様な値にならず、
OpenCVのソースの理解を試みたものの、規模が大き過ぎて断念しました。

スーパーハカーな皆様、出てきた値の扱い方のご教授をお願いします。
0515デフォルトの名無しさん垢版2016/05/27(金) 01:40:43.75ID:G9GLGEnA
突然ですが
画像処理の雑音の例でよく、インパルス雑音が挙げられていますが、現在で実際にインパルス雑音の除去が必要な場面はどういう画像でしょうか?
特に高発生確率のインパルス雑音がのる場合はどんなときでしょうか?
0517デフォルトの名無しさん垢版2016/05/28(土) 07:57:15.22ID:gAXtc21H
OpenCVとGPUImageって、どっちを使うか何を基準に決めたらいいんでしょうか?
iOS/Android環境で動作するアプリです。
0519514垢版2016/05/28(土) 17:24:12.93ID:28o3XPep
自己解決しました
積和の場合、周波数空間で検索対象とテンプレートの位相と振幅を乗算して
元の空間でのドット毎の数値を極端に大きくする事によって、
明度に関係なく類似の度合いを検出しやすくしていると理解しました

しかし、書き込みには無かった本来の目的とは違っていたので、再度質問させて頂きます
ttp://opencv.jp/opencv-2svn/cpp/object_detection.html
CV_TM_SQDIFFの場合、検索対象画像Sとテンプレート画像TをそれぞれDFTで変換した後、
その変換結果である周波数空間にてどの様な演算を行っているのでしょうか?

>>514のCV_TM_CCORR又はCV_TM_CCOEFFの場合、
ttps://ja.wikipedia.org/wiki/%E9%9B%A2%E6%95%A3%E3%83%95%E3%83%BC%E3%83%AA%E3%82%A8%E5%A4%89%E6%8F%9B
の離散フーリエ変換表の「時間軸畳み込み、周波数軸積」を複素共役によって反転した式だった為、
簡単に理解できたのですが、元の空間での”検索対象とテンプレートの位相と振幅の差の2乗”の総和を
周波数空間(フーリエ変換後の2次元配列)にて求める場合、どの様な式になるかまでは理解できていません
プログラムのコードの提示、数学での式、どちらでも構いません、よろしくお願いします
0520デフォルトの名無しさん垢版2016/05/31(火) 18:18:23.45ID:oGkAGoLg
opencv3.1でcvCreateKDTreeをつかうにはどうすればよいのでしょうか。また、代替品などは存在しますか?
0521デフォルトの名無しさん垢版2016/06/19(日) 13:57:35.93ID:I+lgUoFF
質問させてください。

OpenCVSharpで画像表示させるとき
Cv.NamedWindow("window");
をいれても入れなくても
Cv.ShowImage("window",img);
で画像が表示できますが、あったほうがいいのでしょうか。

調べてみてもnamedwindowの必要性がわかりません。
0522デフォルトの名無しさん垢版2016/06/23(木) 10:09:32.60ID:tc69iVNd
>>521
namedwindow してなければ処理に応じて画像を書き換えるとかできないよね。
OpenCVでインタラクティブなプログラムを書くときには namedwindow しておいたほうが吉
0524デフォルトの名無しさん垢版2016/07/07(木) 16:27:38.11ID:kHm9gYtQ
Chain of Vitalik
0526デフォルトの名無しさん垢版2016/08/15(月) 18:27:27.06ID:vd5wuXvi
カメラで撮影した顔写真と予め撮っておいた顔写真を照合して
個人認証をするプログラムをつくっているのですが行き詰ってます

顔の特徴量を抽出する方法で作っていたのですが精度が悪い状態です
何か他によい方法はないでしょうか

撮影は常に顔の正面から行うつもりです
0530デフォルトの名無しさん垢版2016/11/16(水) 16:17:58.62ID:CyMhNzzi
opencvで顔認証したいのですがopencv3.1では口や鼻のxmlファイルがありません
素人なのですがどうすれば良いのでしょうか?
0531デフォルトの名無しさん垢版2016/11/24(木) 03:35:34.42ID:u2lnGSkh
自前で画像処理を行う関数を作った場合、
元の画像を受け取る引数はconst参照にするのと浅いコピーで受け取るのどちらが良いんだろうか?
最適化されるだろうからどちらも同じ?
0532デフォルトの名無しさん垢版2016/11/24(木) 06:04:11.15ID:dIXu87Uw
CVに関係あるインスタンスなのか、全く関係のないビットマップハンドルやラスタイメージなのかで
浅いコピーの量の事情は大分変わってくる
0533デフォルトの名無しさん垢版2016/11/24(木) 06:30:26.01ID:u2lnGSkh
肝心のこと書くの忘れてたcv::Matの話です。8UC3か8UC1で。
基本はopencvで処理するけどopencvにない処理なんかを実装した場合にconst参照にするかどうかで悩んでる。
0534デフォルトの名無しさん垢版2016/11/24(木) 06:48:47.51ID:dIXu87Uw
リファレンスのカウントとかしてっからその関数だけで全ての処理が完結するならconst参照でもええんでないかい?
不特定多数からアクセスされるリファレンスカウンタとか関わってるから最適化掛からないとおも
速度、大きさ、合理性だけで言えばconst参照が速くて小さくなって合理的

微々たるものだろうから呼び出し回数が大した事なくて、将来の仕様変更の対策とかIF揃えたいとかに拘るなら
まんまMat受け取って当面は暗黙のシャローコピーでも何でもお好きな感じでとしか
0535デフォルトの名無しさん垢版2016/11/27(日) 10:30:50.69ID:eANnkNNi
>>531
引数画像を変更するつもりがないなら const 参照でいいはず。
画像の shallow copy は、仕様通りならば実質的に const 参照と
同じことになるはずだが、WGの実装力を信頼してはいけない。
0536デフォルトの名無しさん垢版2016/11/29(火) 16:20:17.08ID:90pr09cr
opencv3.10では2.4シリーズのhaarcascade_mcs_mouth.xmlを使って口を検知することが出来ません
どのようにすれば良いのですか?
0537デフォルトの名無しさん垢版2016/11/29(火) 21:24:38.31ID:RwYrSiHB
OpenCVSharpで、getRotationMatrix2Dで取得したMat型の行列にアクセス(書き換え)をしたいのですが、
やり方が全くわかりません。
ある場所(例えば[1,2]の場所の値を書き換えたいときはどのように書けばよいのでしょうか。
0539デフォルトの名無しさん垢版2016/11/30(水) 09:07:49.74ID:n88rQVx5
>>538
ありがとうございます。助かりました。
mat.At<double>で変数に値を取得して、
それを書き換えた上でmat.Set<double>でセットするのですね。
0541デフォルトの名無しさん垢版2016/12/24(土) 01:04:41.92ID:MxNHTNh0
javaでHoughLinesPで直線検出しようとしていますが、
候補が複数あるはずなのですが、一本しか検出できません。
何か心当たりがあればご教授ください。
↓こんな感じで引数を渡しています。
Imgproc.HoughLinesP(CannyImage, Lines, 1, Math.PI/180, 50, 100, 50);
0542デフォルトの名無しさん垢版2016/12/24(土) 05:50:07.86ID:lImTu5dP
画像も貼らずに検出できませんとか言われてもな
thresholdかminLineLengthでも下げてみれば
0544デフォルトの名無しさん垢版2016/12/24(土) 10:36:10.51ID:MxNHTNh0
>>542
http://imgur.com/gD7exqZ.png
↑がcanny画像で、これにhoughかけても一本しか検出されなくて困っています。ご指摘いただいたパラメータも変更してもだめでした。

ちなみに一本というのはLines.cols.()が1を返してます。
0545デフォルトの名無しさん垢版2017/01/29(日) 16:06:48.53ID:NA8VBQUD
OpenCVSharp使っているんですが
ゆらゆら揺れる水面で、突然激しく揺れる部分が時々現れるという動画があるんですが。
その激しいタイミングと位置を探したいんですが、まったく画像処理の知識がなくて
できません。
どなたかわかる方いませんか?
0546デフォルトの名無しさん垢版2017/01/29(日) 17:02:11.63ID:Qwtgij15
RGBやHSB色で移動量見るとか、特徴点出して見るとか、ヒストグラムで調べるとか、
やり方は写ってるのに合わせて色々あるだろうけど、質問の仕方から察して作るの無理だと思うよ
0547デフォルトの名無しさん垢版2017/01/29(日) 17:32:41.22ID:NA8VBQUD
>>546
日本語むちゃくちゃですね
すみません

今のところグレースケール→2値化して
白いピクセル数の変化を見たりしてます。
本とかサイトでもなんでも教えていただけないでしょうか
0549デフォルトの名無しさん垢版2017/01/30(月) 16:14:04.10ID:sqLElGA6
ピクセルごとに時間軸方向に FFT かけたら。
0551デフォルトの名無しさん垢版2017/01/31(火) 04:34:23.36ID:QThkY3bX
最近のビデオカードはハードウェアで超解像できるそうだけど自分のmpegファイルをアップコンバートすることは出来ないのでしょうか
0553デフォルトの名無しさん垢版2017/02/02(木) 14:04:14.44ID:AOlHkhON
deblurringしたいんだけどうまくいかない
IBPとウィーナーフィルターでやってるんだけど
0556デフォルトの名無しさん垢版2017/02/20(月) 19:41:53.39ID:hhNdaF/Q
オプティカルフローで画像をつくると1分以上かかるのですが、高速化できますでしょうか。
1280x960の画像2枚を、sperres::createOptFlow_DualTV1()で、calcしています。
0558デフォルトの名無しさん垢版2017/02/23(木) 08:55:26.98ID:6GnqaZlC
昨日ググったら、自分でコンパイルするみたいです。
コンパイルしようとしたら、ターゲットの装置にGPUが無かた。。。

後、オプティカルフローに速いもの遅いものがあるみたいで、
奇麗なのは遅いもの。。。
0559デフォルトの名無しさん垢版2017/02/25(土) 18:45:23.48ID:gXLTmYDH
ソース画像の中から特定の画像を検出する方法としてMatchTemplate(テンプレートマッチング)と言う物がありますが、他に高速な方法はないでしょうか?
ゲームの自動操作が目的のため、検出したい画像は固定(サイズ傾き明るさは変わらない)と言う条件です。
0561559垢版2017/02/25(土) 23:56:17.89ID:gXLTmYDH
テンプレートマッチング以外の画像検出にはどの関数を使用すればいいのでしょうか?
0564デフォルトの名無しさん垢版2017/03/05(日) 02:28:44.21ID:Coy+w1qj
USBカメラのfpsが安定しません
30fpsの物を使っていて、9割は33msで処理をしてくれますが残りは100msを超えたりします
安定させる方法を探しています
0565デフォルトの名無しさん垢版2017/03/05(日) 06:32:02.39ID:wDws2FJs
カメラの機種もどういう処理してんのかも分かんないからエスパーしかできんが
暗いときとかにカメラがフレームレートを変えて露光時間を調整してるってことがよくあるかなあ
この場合カメラの設定で露出とかホワイトバランスのオート設定をオフにすると解消される
0569デフォルトの名無しさん垢版2017/03/15(水) 18:24:28.23ID:O7NQyo3u
waitkeyってどんな役割ですか?
フレームレート30なら33msにしろって書いてあったんだけど、例えば画像処理するとして、1ループ全体で33msなのか、1ループを処理時間+wait33msなのかどっちなんだ、もっと違う考え方?
0571デフォルトの名無しさん垢版2017/03/15(水) 21:56:03.22ID:O7NQyo3u
>>570
2010の参考書に書いてあった
とりあえず33msでいいでしょうみたいな
普通ならそれでいいんだろうけど、都合上ループの処理速度だけはシビアにしたい
0572デフォルトの名無しさん垢版2017/03/15(水) 22:20:14.38ID:PWzId4/U
webカメラの話で良いのかな?
FPSの設定は VideoCapture::setかなんかでやるはずなのでwaitkey関係ない
waitkeyはキー入力の為の待機なのでキー入力しないならそもそも不要
そこで33msも待機させたら同じループ内の他の処理で1msとか時間かかった時フレームレート落ちる予感
0573デフォルトの名無しさん垢版2017/03/15(水) 23:28:43.20ID:eMQeLKBC
それFPSの設定知らずに最速再生の状態で各フレームのウェイトを33.333...msにして
30FPSの速度にしてる、とかじゃね?(1000ms/30FPS)
0575デフォルトの名無しさん垢版2017/03/15(水) 23:50:57.05ID:hRu8oYsz
>>572
やっぱりset使うんだよね
自分も落ちそうだと思ってる
使ってた本にはwaitkeyないと動きませんって書いてあって、なくしたら動かなかった気もする
>>573
たぶん本はそんな感覚だと思う
自分はいらないと思ったからWait1msでやってたんだけど、フレームレート変えれるwebカメラ買ってもらって、いろいろ考えてたらwaitkeyってなんだ?ってなった
0576デフォルトの名無しさん垢版2017/03/16(木) 00:08:08.87ID:Xj2KwEen
確かにhighguiを使ってる場合waitkeyがないと表示されないとかあったかも。うろ覚えなので仕様見てくれ。
あと>>とかで新フレーム取得まで待機してる間はキー入力を受け付けないだろうから
キー入力が必要な場合そこで待機させるよりwaitkeyを多めに設定する方が良いかな
まあ本気で何か作るならこの辺の機能は使わないだろうけど
0577デフォルトの名無しさん垢版2017/03/16(木) 00:20:39.72ID:bGXqVYnt
>>576
確かにhighgui使ってます
使わないで出来るのね…
使ってないサンプルプログラム探してみる
ある程度計測したら終了させる予定だから入らないかなぁ
waitkey不確定要素が多い気がしてならない
0578デフォルトの名無しさん垢版2017/03/16(木) 00:26:17.16ID:Xj2KwEen
>>577
言葉が足りなかったわopencv単独で表示するには他に方法はないと思う
opencvはあくまで画像処理とかのライブラリでGUIはちょっとした確認や処理のためのおまけみたいなもん
本気で動画やカメラを使うアプリケーションを作るならGUIは別のフレームワーク使うだろうということ
0579デフォルトの名無しさん垢版2017/03/16(木) 00:38:06.22ID:bGXqVYnt
>>578
つまりopencvはwebカメラの画像取得および出力に関してはあんまり機能がなくて、取得された画像を処理することに長けていると言うこと?
初心者過ぎてすまん
画像処理としては二値化で物体検出、重心を求めるぐらいしかさせてない…
0580デフォルトの名無しさん垢版2017/03/16(木) 10:51:13.27ID:q9y/P6va
そもそもOpenCVに直接カメラのハードウェア設定をいじらせようってのが無理な話なのでは?
あくまで画像処理ライブラリだし。
FPSを変更出来るカメラなら、仕様書なり取説なりあるかと。
シビアに計算したいのならFPSだけじゃなく、露光時間や転送時間も計算しないとダメだし。
いくら30fpsに設定しても、他の時間で100msかかってたら無意味。
0581デフォルトの名無しさん垢版2017/03/16(木) 12:25:54.90ID:Xj2KwEen
>>579
そういうこと
色々言ったけど勉強したりちょっとしたことやるには十分だしwaitkey(1)で良いと思う
0582デフォルトの名無しさん垢版2017/03/17(金) 03:02:10.63ID:Ne1jreLa
set用いてfps60に設定したのに全く変化なし…
じゃあ解像度変えてfpsあげようと思ったけど変える方法がなさそう
使ってるカメラの仕様には解像度1080pで30,720pで60と書いてあるのに…
0583デフォルトの名無しさん垢版2017/03/17(金) 03:24:23.39ID:1Ef8W1sh
ロジクールのやつで試した時は解像度640x480で60fpsいけたな
ドライバ側の設定でオート機能オフにして露出下げたらあるいは
0585デフォルトの名無しさん垢版2017/03/17(金) 08:49:45.72ID:SdZqx0Vp
setは動画ファイル読み込み限定でカメラ設定はいじれないっていう情報が調べたら出てきた
どこまで信憑性あるかわからんけど
とりあえず解像度いじったけど逆に重くなった…
0586デフォルトの名無しさん垢版2017/03/17(金) 08:53:58.79ID:SdZqx0Vp
>>585
とりあえず640試してみます
0587デフォルトの名無しさん垢版2017/03/17(金) 09:14:45.13ID:8bvhsZ+L
opencvの取り込み処理とかウインドウ表示とかはちょこっとopencv使いたいとき向けのでしょ
きちんと使いたいときは取り込み処理を別に用意したほうが・・・
0588デフォルトの名無しさん垢版2017/03/17(金) 09:48:03.86ID:SdZqx0Vp
>>587
そっちの方面も視野にいれてます
初心者過ぎるので、簡単なやつ希望です…
0589デフォルトの名無しさん垢版2017/03/17(金) 11:09:35.47ID:SUVPLko4
だーかーらー、カメラ標準ソフトを使うとか、
せめて取説や仕様書を読めと
作る側は「簡単な物」ほど作るのは難しいってことを理解しとけ
0590デフォルトの名無しさん垢版2017/03/17(金) 11:11:46.60ID:SUVPLko4
あと、ハードウェアに出来ないことはソフトウェアには出来んからな
解像度やFPSの仕様以上のことをやらせようとしたら、
超解像とかハードルが一気に高くなる上に、あくまで「作られた画像で補完」になる
0591デフォルトの名無しさん垢版2017/03/17(金) 12:11:55.75ID:ol/nseXL
>ハードウェアに出来ないことはソフトウェアには出来ん

日本語の使い方が正しくない
0592デフォルトの名無しさん垢版2017/03/17(金) 12:22:39.49ID:SdZqx0Vp
>>589
カメラ標準ソフトか…
ロジクール製品なんだけど、取説とか仕様書はないに等しかった
>>590
スペック通りに動かしたいだけなんだ
とくに解像度はどうでもいい
0593デフォルトの名無しさん垢版2017/03/17(金) 12:56:05.45ID:mRKEvJ0A
>>591
理解が正しくないよ
>>590が言ってるのは30fpsまでしか対応してないカメラで100fpsの映像を造りだすみたいな話

>>592
webカメラの製品独自の仕様はそれであるけど、探すだけ無駄。ほとんど非公開だろ
汎用的にwebカメラを制御する仕様はほぼ統一されてるしぐぐりゃ星の数ほど出るからそれ見ろ。それすら探せないってなら諦めろ
0594デフォルトの名無しさん垢版2017/03/17(金) 13:09:25.79ID:ol/nseXL
>理解が正しくないよ
> >>590が言ってるのは30fpsまでしか対応してないカメラで100fpsの映像を造りだすみたいな話

この意味なら漏れの理解したまんまだな
0595デフォルトの名無しさん垢版2017/03/17(金) 14:55:16.33ID:1Ef8W1sh
今してるのはハードウェアでもOpenCVでもできることの話だろ
なぜまずOpenCVのマニュアルを確認しないのかは知らないが
0596デフォルトの名無しさん垢版2017/03/18(土) 00:30:42.66ID:+usu446B
オートフォーカスとか露光の自動調整は本格的な画像処理するときにまずつまずく部分
0597デフォルトの名無しさん垢版2017/03/21(火) 14:26:08.25ID:jINUaUr9
<オートフォーカスや露光調整くらいは画像処理でやって
<リアルタイム60fpsで、画面解像度はFUHDで、分解能も8bitじゃなく16bitでやってね
<民生品でやってるから、そのくらい簡単に出来るでしょ?
0603デフォルトの名無しさん垢版2017/03/22(水) 21:29:57.62ID:5RpsXBhr
よく分からないのでそこをなんとかお願いします。
マウス座標が取得できなくて大変困っております。
0606デフォルトの名無しさん垢版2017/05/09(火) 12:58:13.16ID:l4i4sD4Y
opencv3.1で
connectedComponentsWithStats使ってラベリングしたんだが
指定した面積以下はラベリング除外ってできる?
0610デフォルトの名無しさん垢版2017/05/14(日) 12:58:05.16ID:RW4x4SJY
>>609
指定面積以下にはラベル付けをしない

今は無理やりラベリングした結果の面積をif文で無理やり指定面積以下のラベルを表示しないようにしてる

だからラベル番号表示すると飛び飛びなんだよね

最終的にはラベル番号がちゃんと連番かつ面積以下を除去できるようにしたいわ
0611デフォルトの名無しさん垢版2017/05/14(日) 13:04:18.40ID:RW4x4SJY
あとラベリングした輪郭が途切れたりしてるからラベリング統合みたいなのできたらいいなって今考えてる
0612デフォルトの名無しさん垢版2017/05/14(日) 13:12:28.18ID:Eay2zfQC
変数作って指定面積以下ならラベリング結果を格納するようにして採番したらいいだけでは
0615デフォルトの名無しさん垢版2017/05/18(木) 17:02:45.98ID:ZPY3GgIW
ラベリングで物体ごとにラベリングできないから領域統合してうまくラベル付けできるようにしようとした

watershedで出来ないかやってみたらラベル付けができなくなっちゃった

なんかいい方法ない?
0618デフォルトの名無しさん垢版2017/05/19(金) 12:52:27.14ID:hTRs5dEo
>>617
複雑な形かつ輪郭が繋がってる部分もあるから
一つずつラベリングしたいけど二つまとめてとかになってしまう
0622デフォルトの名無しさん垢版2017/06/27(火) 09:09:26.10ID:WuBzCuMJ
質問です。

cv::Matに画像ファイルを入れる場合は、cv::imreadなのはわかりました。

unsigned char Gray[Y][X]のようなバッファを、cv::Matに代入するには、どうするのでしょうか。
0623デフォルトの名無しさん垢版2017/06/27(火) 12:34:28.92ID:u30jKple
for文をネストして多次元配列の中身を一つひとつ丁寧にdataメソッドでMatクラスに移植する
0628デフォルトの名無しさん垢版2017/06/29(木) 21:45:32.05ID:yY3IPXDE
赤青のLEDを別々に認識させたいんですが、RGBの閾値よりHSVのほうがうまく認識させられますかね?
0629デフォルトの名無しさん垢版2017/06/29(木) 21:52:54.97ID:yY3IPXDE
あとカメラのオートフォーカスや露光調節をしたいんですが、highguiでは無理ですか?
0631デフォルトの名無しさん垢版2017/06/29(木) 22:44:13.36ID:yY3IPXDE
>>630
opencvでは無理なんですね…
プログラミング全然できない自分にとっては敷居が高そうです
0632デフォルトの名無しさん垢版2017/06/30(金) 01:43:05.65ID:KO2sHkgv
ステレオマッチングでなんかやろうとおもってggったんだが、ネットに落ちてるサンプルコード的なのがまったくうごかん助けてくれ…
Xcodeで動かしてるんだけど、なんとか修正しようとしてもcvLoadImageがNULLしか返さん
0634デフォルトの名無しさん垢版2017/06/30(金) 09:36:32.42ID:sEv9UkGQ
>>630
>色空間

一般的にどんなのがあるのでしょう。

次元が多いもの、付加情報足せるものとか、あるのでしょうか。
0635デフォルトの名無しさん垢版2017/06/30(金) 09:40:09.91ID:arYqdS+0
>>631
カメラ制御はカメラのライブラリを使え。
OpenCVにあるのは基本的にwebカメラを最低限に動かす程度、ってか全てのカメラを制御するコマンドなんてエスパーじゃないと作れん。
カメラ制御コマンドに共通規格がある訳じゃないし。
0636デフォルトの名無しさん垢版2017/06/30(金) 11:57:24.36ID:msOIpcgS
cv::imread使えよ>>632
そんな化石みたいな関数使ってもいいことない
とはいえどうせ画像パスがサンプルコードのままとかいうオチだろうけど
0638デフォルトの名無しさん垢版2017/06/30(金) 17:53:01.15ID:aYaCN+Zi
>>635
教授にUSBカメラのデバイス設定で露出とかそういうの変えられるでしょ?みたいに言われたんですが、制御、設定するプログラミングを別で組まない無理ですよね?
0639デフォルトの名無しさん垢版2017/06/30(金) 18:17:42.49ID:da6qsFRC
何したいのか知らんけどガンマ補正かけたりして補正するんじゃだめなんかい
せっかくのopencvだからそういう使い方しようよ
あくまでソフトだから、基本的にハードの制御は他でやるべき
0640デフォルトの名無しさん垢版2017/06/30(金) 18:35:58.87ID:hhb/IL1e
「USBカメラのデバイス設定」はopencvじゃないでしょ
USBカメラのデバイス設定では変えれるし、例えばwindowsなら汎用の設定方法が用意されてるからそれ使えばプログラム上から設定できる
0641デフォルトの名無しさん垢版2017/06/30(金) 19:51:51.32ID:AWyPN87J
>>636
レスありがとう
パスは変えてるよ、流石に
cv::Mat使ってみたんだけど俺の理解力不足なのかまったく使い物にならん

http://daily-tech.hatenablog.com/entry/2016/06/25/233203
このブログの3個目のプログラムなんだが、CVStereoGC〜ってやつはぜんぶGC→BMって変更加えるってことしかわからんかった

誰か詳しく教えてエロい人
0642デフォルトの名無しさん垢版2017/06/30(金) 20:33:12.86ID:X7AokIbD
何で2016年にIplimageとか使ってんだよ・・・w
matに書き換えるのきついならとりあえずデバッグしてみーよ
そもそもエラーメッセージは何?
0643デフォルトの名無しさん垢版2017/06/30(金) 23:32:35.26ID:X7AokIbD
ちょっと調べてみたら
StereoGCちゃんは3.系になったときにリストラされてるねwドマーイ
0646デフォルトの名無しさん垢版2017/07/01(土) 02:49:09.69ID:PHrzZsba
>>632 です

>>643
まじすか、2.4.13.2でもないっぽいんでGC系は削除されてるんすね…

>>644
はビルド通ったけど実行したら怒られましたね

>>641
の修正したけどエラー出るソース乗っけた方がいいですか?長いしクソコードです
0648デフォルトの名無しさん垢版2017/07/01(土) 07:28:05.90ID:JzB6kPFv
ステレオマッチングなんてそこら中にすぐ動くソースあるんじゃねえの
めんどくせえからキネクト買え
0651デフォルトの名無しさん垢版2017/07/01(土) 20:29:53.52ID:XI3Ts6Pa
>>649
バリバリに動くよ

もちょい調べたら
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11160807996
のソースで動いた
は 書いてること同じのような気がするんだが何が違うのか…
一同ありがとう
IplImageじゃないと動かないみたいだし, Matからの変換も上手くいかないし大人しく化石つかうわ

IplImageってOpenCV界隈じゃもうクソ規格なのかい?
0652デフォルトの名無しさん垢版2017/07/01(土) 21:15:51.07ID:g4C1aejJ
opencvのバージョン何?

クソ規格というか、もはや使われていない
過去の遺産的に一応残っているだけ状態
0653デフォルトの名無しさん垢版2017/07/01(土) 21:36:43.80ID:XI3Ts6Pa
>>652
上にも書いてる通りに2.4.13.2だよ
3.x系が最新で遺産が多い2.4.x系がメンテ程度に更新されてるって認識でいいのかい?
最近触ったばっかだからまったくわからん
0654デフォルトの名無しさん垢版2017/07/01(土) 22:11:02.32ID:g4C1aejJ
少し違う
3系でもまだ一応遺産は残ってる
ただ新しい関数ではもちろん使われないし、
StereoGCちゃんのように随時削除されていったりする
0655デフォルトの名無しさん垢版2017/07/01(土) 22:12:56.09ID:g4C1aejJ
だからどうしてもStereoGCちゃん使いたいから旧版使わないといけない!
とかいう場合を除いて基本的に最初に入れる時は最新版の導入がよいよ
0656デフォルトの名無しさん垢版2017/07/02(日) 02:20:04.60ID:2KVVeWR1
>>655
できればStereoGC使いたかったんだけど、これ以上頭混乱したくないし大人しくStereoBMで我慢しとく
丁寧な説明トンクス またわかんないことあったら来るよ
0657デフォルトの名無しさん垢版2017/07/03(月) 13:20:20.57ID:3bAoRzZo
Iplimageって過去の遺産なのか…
カメラから画像取得でずっとIplimage使ってたわ
2.4.9です
0659デフォルトの名無しさん垢版2017/07/03(月) 14:15:23.22ID:3bAoRzZo
質問です
画像を二値化したとき、白の集団が二つあり、それぞれで認識させるってことは可能なのでしょうか?
0665デフォルトの名無しさん垢版2017/07/10(月) 05:08:46.49ID:ImHRmJ7/
opencv超初心者なんですけど、カメラによるリアルタイムの映像にping画像を透過することって出来ますか?
0668デフォルトの名無しさん垢版2017/07/19(水) 00:43:07.30ID:nwQCI0l5
誤差拡散(たとえばFloyd-Steinberg)で二値化したい場合ってバカ正直に1ピクセルずつ読んで散らしていくしかないのか?
特にインタプリタだと処理時間がバカにならないんでOpenCVの機能を使って速く計算出来ないのかな
OpenCVで計算できないのであればMatのピクセル値とインタプリタの配列を高速に相互変換出来る方法でも良い
ruby-opencvでやっているけどRubyがピクセル値を計算している時間よりMatを読み書きしている時間の方が長いw
0670デフォルトの名無しさん垢版2017/07/19(水) 11:33:49.64ID:+fK80sDM
そこでFPGAですよ
0672デフォルトの名無しさん垢版2017/07/20(木) 06:48:41.03ID:m+4agcCu
コンピューターの画面は左上が原点になるよう設計されてるからな
タイムマシン発明して変えてこい
0674デフォルトの名無しさん垢版2017/07/20(木) 08:39:38.64ID:0b9xdtC8
Mat::atと原点位置は関係ないと思うが。低い次元(x)が後の引数なのが違和感あるってことだろ?
Rとかだとxを省略したら行ベクトルを意味するとか合理性はあるんだが、OpenCVのatは
1引数で呼んだ時の動作はなんか適当だね。
0677デフォルトの名無しさん垢版2017/07/22(土) 18:01:04.81ID:Zmb5Pcwv
CからCvMat@OpenCV2.4のピクセル値を読み書きしたいのですがどのようにしたらいいですか?
ググってもC++からやっている事例ばかり引っかかってCから操作している例を見つけられませんでした
dataあたりから出来そうな気もするのですが・・・
0678デフォルトの名無しさん垢版2017/07/23(日) 16:50:41.03ID:izG3yijY
その通り
0679デフォルトの名無しさん垢版2017/08/07(月) 11:59:39.60ID:w0+OBzVI
cv:Mat


平行移動サンプルコード
くださいorz
0682679垢版2017/08/08(火) 08:52:07.91ID:OvVzYAy2
Mat frame = cv::imread

とかやって、

frameの画像を下方向に1ピクセル移動、右方向に2ピクセル移動、
は、コーディングはどうなりますでしょうか。
0683デフォルトの名無しさん垢版2017/08/08(火) 11:55:52.86ID:yWPGhfQU
いや、補完の処理をどうすんのかって話
はみ出た部分は消滅させるのか、移動した分だけ画像サイズがでかくなるのか
動いた穴の部分は黒塗りでいいのか
とか
0684682垢版2017/08/08(火) 12:04:02.43ID:OvVzYAy2
同じ大きさが良いです
はみ出た部分は消失です。
動いた部分、黒塗りしたいです。
0685デフォルトの名無しさん垢版2017/08/08(火) 13:23:12.83ID:yWPGhfQU
void hoge(Mat src, Mat &dst, int dx, int dy) {
Rect rect(max(0, -dx), max(0, -dy), src.cols-abs(dx), src.rows-abs(dy));
Mat sub = Mat(src, rect).clone();
dst = Mat::zeros(src.rows, src.cols, CV_8UC3);
Mat roi(dst, Rect(max(0, dx), max(0, dy), dst.cols-abs(dx), dst.rows-abs(dy)));
sub.copyTo(roi);
}

dxとdyが移動量、それぞれ画像の右方向、下方向が正ね
0686デフォルトの名無しさん垢版2017/08/08(火) 13:27:02.96ID:yWPGhfQU
あ、CV_8UC3はsrc.type()の方がよかったね
まあエラーとかも含めてその辺適当に。。

要するに、生き残る範囲を選択した後、黒塗りの画像上の移動先に貼り付けるだけ。
0687682垢版2017/08/08(火) 13:53:46.34ID:OvVzYAy2
上手くいきましたorz
0688682垢版2017/08/08(火) 14:48:58.13ID:OvVzYAy2
意外だったのは、
>Matなんだから→行列計算で移動のアフィン変換
だと思っていたのに、
Rectで解決なんですね。
基本的な考え方がわかったような気がします。

次には、回転を自分で作る、もしくは、ネットから拾ってくる予定です。
0689デフォルトの名無しさん垢版2017/08/08(火) 15:30:02.27ID:yWPGhfQU
なんだよ実装の勉強じゃないのかよ!
それならopencv 平行移動 とかで何ぼでも出てくる気がする
てか回転まで必要なら最初からアフィン変換使えって話になってくるだろうしw
まあ頑張ってー
0690684垢版2017/08/08(火) 17:00:34.40ID:OvVzYAy2
>それならopencv 平行移動 とかで何ぼでも
出てこないです。
>アフィン変換使えって話
平行移動は、Rect処理にします。

void rot(Mat src, Mat &dst, double degree)
{
cv::Point2f center = cv::Point2f(
static_cast<float>(src.cols / 2),
static_cast<float>(src.rows / 2));

double scale = 1.0; // 拡大率

// アフィン変換行列
cv::Mat affine;
cv::getRotationMatrix2D(center, degree, scale).copyTo(affine);
cv::warpAffine(src, dst, affine, src.size(), cv::INTER_CUBIC);
}

回転が、反時計回転になるのが不思議ですね。
あと、degreeはラジアンじゃなくて、シータなんですね。
0691684垢版2017/08/08(火) 17:41:38.99ID:OvVzYAy2
反時計回転になる原因わかりました。

>GetRotationMatrix2D
>正の値は,反時計回りの回転を意味します

不思議な流儀ですね。

ラップする関数でも、
この流儀に従った方がよいのか、
関数内でマイナスするか、、、

一応、自分の書きたかったことはこれで終了ですが、レスは延々と読み続けます。
0692デフォルトの名無しさん垢版2017/08/09(水) 00:23:06.07ID:XzB0Bln2
>>691
高校で三角関数やらなかった?数学では0度がx軸右方向で反時計回りに回ってって90度がy軸上方向ってのが一般的じゃない?
もちろん、なぜx軸を上方向にとってy軸を右方向にとったり、x軸を右方向にとってy軸を下方向にとらなかったのか?ということを言い出したら「不思議な流儀」になるかもしれないが
0693デフォルトの名無しさん垢版2017/08/09(水) 03:53:55.23ID:GMdirX6E
滅茶苦茶初歩的な質問で申し訳ないんですが
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
をインクルードしてるのにcv::circle()が無いと言われるのはなぜでしょうか
imshow()やwaitkey()は使えます
OpenCVのバージョンは3.3.0です
0694デフォルトの名無しさん垢版2017/08/09(水) 07:38:06.13ID:wpOQdQY0
>>693
エラーメッセージを全部入れてくれないとなんともいいようがないが
インクルードしてるのに関数が見つからない場合は -lopencv_core とか
そんなのを指定し忘れてるとかかなぁ
0695デフォルトの名無しさん垢版2017/08/09(水) 10:03:31.22ID:Nar8iR46
#include <opencv2/opencv.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>

何するか知らんが、チュートリアルレベルならだいたいこの3つで事足りる。
0696デフォルトの名無しさん垢版2017/08/09(水) 13:24:55.64ID:LtfCN5pR
再生動画(といっても、静止画の配列)のブレ補正処理は、
どういったメソッドでやられてますでしょうか?
0697デフォルトの名無しさん垢版2017/08/10(木) 09:01:05.14ID:xLSenUHW
cv::Matの大きさを変える場合には、
>mt = cv::Mat(height, width, CV_8U).clone();
といった書き方でよいのでしょうか?
0698デフォルトの名無しさん垢版2017/08/10(木) 09:05:14.19ID:pkwCcRJu
大きさを変えるとは?
元画像があって、指定した大きさに拡大・縮小したいという意味?
0699デフォルトの名無しさん垢版2017/08/10(木) 09:31:23.08ID:xLSenUHW
バッファの大きさを変えるだけです。
cv::Mat mt(height, width, CV_8U);
と宣言時に大きさかけますけど、
宣言後にバッファサイズを変える方法が分からなくて。
0700デフォルトの名無しさん垢版2017/08/10(木) 13:26:58.12ID:Sraj3Va7
大きさ変えるってのがうーん
今のデータを残しつつ新しい部分を追加するってこと?
0702デフォルトの名無しさん垢版2017/08/10(木) 14:21:25.23ID:xLSenUHW
え、
>.clone
要らないんですね。
左辺と右辺でバッファの実態が共有されるのに、
次の行でメモリ解放されないんでしょうか。
0703デフォルトの名無しさん垢版2017/08/11(金) 10:54:58.16ID:MAQPQwLn
新しい変数を使うのじゃダメなの??
既存の変数のサイズを変えないといけない場面が分からないんだけど
0705デフォルトの名無しさん垢版2017/08/11(金) 15:26:52.99ID:Rv0iJ0O8
>>702
vector<int> vec(10);
vec = vector<int>(20);
というコードを書いたときに変数とオブジェクトの関係はどうなっているか、というレベルの話なので、C++をまずは勉強したほうがいい。
0706デフォルトの名無しさん垢版2017/08/16(水) 10:23:21.36ID:GzC89dk5
C++の勉強では、newと書くことになってるでしょ?
いやだから、どうなっているか教えて?
0708デフォルトの名無しさん垢版2017/08/17(木) 01:06:40.35ID:e+gexvbV
>>706
newと書くことが必ずしも必要なわけではない。そして、コピーしたいときに=で済むか、cloneメソッド的なものを呼ばないといけないかは、クラスの作りによる。
続けるとスレチになるし、おそらく現状の理解からvectorの例までを理解するのにはそれなりにやりとりが必要になるような気がするので、詳しくはC/C++初心者スレッドみたいなところで質問してほしい。
0710デフォルトの名無しさん垢版2017/08/17(木) 08:27:33.84ID:uDwfQQpB
>>708

おまえ馬鹿じゃね?

おまえの書いてる時点で、vectorとのメモリ管理が違うことが明確になってるだろ。

それが分からないなんて、知能がたりない。
0712デフォルトの名無しさん垢版2017/08/17(木) 08:58:46.16ID:uDwfQQpB
知能がたりないかどうかは、一旦保留にしておいて、、、

vectorのメモリ管理とMatのメモリ管理が明確に違うんだから、
cloneいるかいらないか、の判断の道筋を明確にして欲しいです。


>mt = cv::Mat(height*2, width, CV_8U);
みたいな書き方をvectorでやると、
スコープ抜けると、実態が吹っ飛ぶと思うんですが。

Matは参照カウントか何か細工してますか?
0714デフォルトの名無しさん垢版2017/08/17(木) 10:37:36.74ID:Rjw/N7cG
> mt = cv::Mat(height, width, CV_8U).clone()
これを分かりやすく展開したらこんな風に二度newした挙句memcpyまでするだろ
tmp = new byte[height*width*CV_8U];
ZeroMemory(tmp, sizeof(tmp));
mt = new byte[sizeof(tmp)];
memcpy(mt, tmp, sizeof(tmp);
メモリ管理連呼してるくせにメモリ管理まったくわかってないんじゃないか
0715デフォルトの名無しさん垢版2017/08/17(木) 10:51:32.35ID:uDwfQQpB
あ、そうなの?

.cloneしなかったら、
右辺はnewしないので、
スコープ抜けたら右辺の実態は消えるということ?

なら、.clone必要になるんですが。
0716デフォルトの名無しさん垢版2017/08/17(木) 10:58:32.69ID:LViMArV/
Mat mt(height, width, CV_8U);
Mat new_mt(new_height, new_width, CV_8U);
mt = new_mt.clone();

これじゃダメなの??
0718デフォルトの名無しさん垢版2017/08/17(木) 11:20:36.76ID:uDwfQQpB
クラス変数: Mat mt(height, width, CV_8U);

としたとき、

Mat new_mt(new_height, new_width, CV_8U);
mt = new_mt.clone();

で、cloneの有る無しで、メモリ管理は、どうなりますでしょうか。
0720デフォルトの名無しさん垢版2017/08/17(木) 11:25:00.41ID:JrjUJCSV
>>718


Mat mat(h, w, CV_8U);

mat2 = mat; //mat2.data は mat.data と共有されてるので mat2 を変更すると mat も変更される

mat3 = mat.clone(); //この時点でmat3の内容は mat と全く同じだがmat3はmat から独立してるので
             //mat3 に何をしてもmat には反映されない
0721デフォルトの名無しさん垢版2017/08/17(木) 11:38:41.34ID:e+gexvbV
>>710
vectorがどうしてcloneを呼ばなくていいか、Matでcloneを呼ばなきゃいけないときはどういうときか、そういうのを把握するためにC++のクラスの基礎的な理解が必要だって言ってるんだけど。
vectorがどうして呼ばなくていいか(どういう処理が実際に行われてるか)わかるようになればMatでどうすればいいかはソース読むか簡単な実験すればわかる
別に馬鹿にしてるわけでもないのに馬鹿だの知能が足りないだの短気なやつだな。
0723デフォルトの名無しさん垢版2017/08/17(木) 12:02:48.59ID:uDwfQQpB
>>722

おま、頭悪いなー。

vectorだと内容をコピー、
Matだと内容を共有。

動作の違いだと、なんどいったら、小一時間、、、
0724デフォルトの名無しさん垢版2017/08/17(木) 12:17:18.50ID:QOcYPa3W
>>723
リファレンスやソース読めばその動作の違いはわかるよ
もちろん問題なく使い分け出来てるけど、それが出来ないのは頭が悪いからなのでは?w
0728デフォルトの名無しさん垢版2017/08/17(木) 14:29:50.95ID:uDwfQQpB
>mat2 = mat; //mat2.data は mat.data と共有されてるので mat2 を変更すると mat も変更される

ここで、matがローカル変数で、mat2がクラス変数(つまり永続)のとき、
matがスコープ抜けた時って、
共有されているので、mat2の中身も変更(この場合、実態が破棄)されるということでしょうか。

それとも、そうならないようにOpenCVの中で工夫してくれているので、考えなくて良いのでしょうか。
0729デフォルトの名無しさん垢版2017/08/17(木) 16:55:00.33ID:JrjUJCSV
>>728
内部実装で参照カウンティングが使われていてれば問題なく mat2 を
使い続けられるだろうけどウィロウガレージの中の奴らを信頼するべきじゃない
(基本ゴミ)なので危なそうな使い方は最初から避けるのが無難
0730デフォルトの名無しさん垢版2017/08/17(木) 17:02:48.62ID:uDwfQQpB
了解です。
無駄なステートメントになったとしても、.cloneを使うことにします。

参照カウンティング〜ということは、OpenCVのベース部分にガベコレが何らか実装されているということですね。
0731デフォルトの名無しさん垢版2017/08/17(木) 21:16:47.77ID:vpgYUhkf
だから最初から大人しくclone使えばいいって言ったやんけ
少しくらい量が多くなっても大して変わらん、メモリ管理ガーとか言ってる時間の方が無駄
0733デフォルトの名無しさん垢版2017/08/18(金) 15:39:27.28ID:EZSlBiH3
いや、そのりくつはおかしい。

動作が分かったうえで、
余分な処理を明示的に書くのならおkですが、
そうでなければ、
メモリリークだらけ!!!
で、かつ原因不明!!!!!
調べようもない。
0734デフォルトの名無しさん垢版2017/08/18(金) 19:18:01.96ID:/zjZyZlS
基本的なことを押さえようとしないで最終的な方法だけショートカットして知ろうとしてるみたいだし、とりあえず1発なんとなく動けばいいレベルのプログラムが出来ればいいって考え方なんじゃないのかな

そういうことが必要な状況もあるだろうから、否定はしないが
0736デフォルトの名無しさん垢版2017/09/02(土) 01:09:37.90ID:/3mdn3Bp
初心者です。
今png画像からHoughCirclesで円を検出しているのですが、png画像で検出出来なくてもjpg画像にすると円を検出出来ることが度々あるのですが理由など分かりますか?

画像処理で精度求めるなら可逆圧縮のpngなど使うのが良いと思ってたので混乱してます。
0737デフォルトの名無しさん垢版2017/09/02(土) 18:51:13.79ID:AmWVvi8J
>>736
それぞれのファイル形式でimreadしたときに、どんなMatが出てきてるか確認してる?同じようなものならHough変換の結果もそんなに変わらないはず。
0740デフォルトの名無しさん垢版2017/09/06(水) 18:11:42.76ID:gNGLiUGh
>>736
超能力でアレすると,アルファチャンネル付きのpngを扱ってるのが原因かも
OpenCVはアルファチャンネルの画像の扱いがおかしい(ことがある)。
0741デフォルトの名無しさん垢版2017/09/21(木) 11:43:21.80ID:YvwuVHPl
ttp://rad-base.com/wp-content/uploads/2015/08/005_ph04.jpg
こういった感じで、ある範囲のピクセル値を持つ領域を、
外側(青)と内側(赤)に自動で分けたいのだけど、
OpenCVとか使うとできるものですか?
0745デフォルトの名無しさん垢版2017/09/21(木) 13:15:37.25ID:YvwuVHPl
>>742-744
ありがとうございます。

ttp://www.hatchobori.jp/asset/naizoushibou.gif
説明不足でしたが、要はこういうことをしたいわけで。
(内側と外側は、同じ範囲のピクセル値)

adaptiveThresholdという関数もありがとうございます。
OpenCVを調べてみようかと思います。
0746デフォルトの名無しさん垢版2017/09/21(木) 15:10:39.94ID:pZ67HTqZ
Xcode で openCV動かしの民なんだか
今回のアプデでOpenCV動かんくなった もちソースに変更なし
解決方法しってる博識おらんか?
0747デフォルトの名無しさん垢版2017/09/21(木) 15:12:39.22ID:Rn57IsrY
だいたい医療画像って確か周波数領域で扱うもんだったでしょ?
フーリエ変換してフィルタかけるとかの方がいいんじゃね?知らんけど
0748デフォルトの名無しさん垢版2017/09/21(木) 15:14:22.21ID:Rn57IsrY
>>746
1.前ソースに戻す
2.動けば解決で修正とかパッチなり待てばよい
3.動かなければアプデのせいじゃないのでドンマイ
0750デフォルトの名無しさん垢版2017/09/21(木) 15:45:53.27ID:0Ii6MUxg
>>749
そ〜すってOpenCV自体のソースのことじゃ無いの?
OpenCVを以前のバージョンに戻してみるって話でしょ。
0751デフォルトの名無しさん垢版2017/09/21(木) 16:03:20.26ID:Rn57IsrY
それ
ついでに、望みはそんなにないけどまあヒントくらいはもしかしたら与えてやれるかも知れないから具体的にどう動かないのか教えてみて。
0752デフォルトの名無しさん垢版2017/09/21(木) 18:17:31.79ID:gMObALxl
本探してもC++で解説してるやつばっかりやな pythonで解説書いてるやつで初心者にも分かりやすいやつ教えてくれ
0753デフォルトの名無しさん垢版2017/09/21(木) 19:11:25.47ID:vYu+noTX
割りとまじめに先にgoogleの使い方覚えたほうがいいと思うよ
覚えたら本買う気なんてなくなるから
0754デフォルトの名無しさん垢版2017/09/21(木) 20:49:19.64ID:djJph1z5
>>751
OpenCVのバージョンも何も、変わらず
ついこないだまでやってたXcodeプロジェクトをXcode 9.0にしたらエラー吐くようになったの
画像どこにうpすればいいかわからんからこれで勘弁して
https://drive.google.com/open?id=0B1gQp0SqZRp6UnZoVlVxcGZKYlU
ちょっとググったらシンボリックリンク貼り直せだの(やったけど治らん)
brew doctorしたら pruneしろだの 言われて打ったけど動かない…
学生なんでこれ使えないと割と困るんでヘルプお願いします…><
0756デフォルトの名無しさん垢版2017/09/21(木) 21:40:35.95ID:Rn57IsrY
卒研かーい
そして、プログラム君がimage not foundって思いっきり訴えてきてるけど?
0757デフォルトの名無しさん垢版2017/09/21(木) 21:41:56.41ID:Rn57IsrY
>>752
基本的には何も変わらないよ
あるとしたら、numpyの知識が若干欲しいくらい、それさえ覚えれば大体のことはどうとでもなる
0763デフォルトの名無しさん垢版2017/09/23(土) 08:35:19.56ID:5Hpz6Jfl
spyder使ってるんだけどwebカメラ起動するコード書いて実行するとフリーズするんだけど軽くする方法教えて
0768デフォルトの名無しさん垢版2017/09/24(日) 15:16:29.64ID:EP+fvRXu
何回かやったらカメラは起動できたけど顔は認識されないしグレースケールにもなってない、、
0771デフォルトの名無しさん垢版2017/09/25(月) 11:23:45.06ID:8qLoQ9vT
カメラのfps内でsleep入れた方がいいよな
画像取得するまでひたすら無限ループをブン回すのは暴走の元
0773デフォルトの名無しさん垢版2017/09/25(月) 15:57:29.86ID:DS9STyAc
ウェイトを入れないのもどうかと思うけど、
イベント通知やら何やらの仕組みが無いのも問題っちゃー問題ではあるんだよな
0776デフォルトの名無しさん垢版2017/10/07(土) 21:15:49.05ID:taSaJaQU
画像内に写る要素の微小領域を統合したい
どうすれば統合できるかな?

今はラベリングでやろうとしてるけどそれ以外の方法もあるのかな?
0777デフォルトの名無しさん垢版2017/10/07(土) 21:44:58.48ID:VGyrO9v6
>>776
バラバラに散らばった領域を太らせて一個の領域にするということ??
言ってることがよくわからないな
0780デフォルトの名無しさん垢版2017/10/08(日) 09:18:49.15ID:00HukpVD
こういう緑の線みたいな感じで領域統合して大まかなラベルつけたい

なんかないかな
0783デフォルトの名無しさん垢版2017/10/08(日) 19:10:35.72ID:mjOcXoyF
特徴を決める尺度により過ぎるとしか。
画像みたいに近いものでまとめるなら物体毎の重心点でk平均取るとかでいいやろうけど。
0790デフォルトの名無しさん垢版2017/10/10(火) 13:25:12.71ID:seBlNaJU
ネットワークカメラの映像を流す(ストリーミング)Windowsフォームを作りたいです。

この分野は全くの初心者でざっと調べてみたらOpenCVを使うのがよさげなのでこちらで質問させてください。
そもそも、上記目的にはOpenCVが最適なのでしょうか?
取得した動画や画像で何かを処理するとかはないのでオーバースペックのような気もしています。

開発言語はVS2013のC#を考えています。
0792デフォルトの名無しさん垢版2017/10/10(火) 14:17:41.70ID:IAzrS1Nq
>>790
まずネットワークカメラの機種が固定でライブラリが有るかどうか
あればライブラリとC#だけで出来る
汎用のWebカメラとかだったら、Directshowをラップしたり、OpenCVSharpを使うが、最初が意外と面倒
OpenCVは画像処理がメインだけども、C#のWinFormにWebカメラライブラリが無い
0793デフォルトの名無しさん垢版2017/10/10(火) 14:41:23.40ID:seBlNaJU
>>792

レスありがとうございます。

AXIS社製のカメラなのですが、ライブラリがなさそうな気がします。

> OpenCVは画像処理がメインだけども、C#のWinFormにWebカメラライブラリが無い

OpenCVで画像(動画)を取得してもWinFormでは扱えないということでしょうか?
0794デフォルトの名無しさん垢版2017/10/10(火) 14:57:31.39ID:IAzrS1Nq
>>793
言葉足らずですいません、
OpenCVで画像を取得すれば、C#のWinFormで画像を扱えます
WinFormにはWebカメラのライブラリが無いので、何らかの外部ライブラリ(OpenCV等)が必要ってことです
0795デフォルトの名無しさん垢版2017/10/10(火) 14:57:36.08ID:IAzrS1Nq
>>793
言葉足らずですいません、
OpenCVで画像を取得すれば、C#のWinFormで画像を扱えます
WinFormにはWebカメラのライブラリが無いので、何らかの外部ライブラリ(OpenCV等)が必要ってことです
0796デフォルトの名無しさん垢版2017/10/11(水) 00:17:39.63ID:nDtE4t5M
>>795
ネットワークカメラと通信して画像データを取り出すところは、OpenCVの範囲ではないような気がするな
AXISのVAPIXってAPIか、libvlcとか、gstreamerとか、Windows詳しくないんでよくわからないけどDirectShowとかWMFとか、その辺を触らないといけないと思う
ごく標準的なWebカメラであれば、OpenCVのVideoCaptureで開けたと思うけど、Skypeとかのカメラ一覧に出てくる範囲とかそのレベルが選べるだけだと思う。
0799デフォルトの名無しさん垢版2017/10/21(土) 19:29:48.36ID:pUWAFaS6
手持ちのVC++2010でOpenCV導入しようと思ったのに
いくらプロジェクトの設定いじっても「外部参照が未解決です」みたいなエラーが出まくって
1週間くらい苦しんだ挙句VS2017をインスコして同じようにプロジェクト作り直したらあっさりエラー消えた
マジファック
0800デフォルトの名無しさん垢版2017/11/05(日) 22:58:47.69ID:usqcDD8H
失礼します。OpenCV(c++)を始めようとしているものですが早速詰まりました。
1.「brew install opencv3」で入れる
2. サンプルコードを丸コピ。`pkg-config --cflags opencv` `pkg-config --libs opencv`をつけてコンパイル。
3. すると「ld: library not found for -llibopencv_stitching.3.3.1.dylib」という文章が
4. pkg-config --libs opencvで調べたが確かにそこにlibopencv_stitching.3.3.1.dylibはある。どちてnot found?

こういった感じです。ネットで調べても有力な情報が見つからなかったのでわかる方いればよろしくお願いします
0802デフォルトの名無しさん垢版2017/11/06(月) 10:23:29.78ID:RyIEypXM
ぼくのOpenCV日記の始まりです
0803デフォルトの名無しさん垢版2017/11/06(月) 16:11:15.68ID:6e1Qi6xs
>>801
export LD_LIBRARY_PATH=/use/local/Cellar/opencv/3.3.1_1/lib
で試したのですが何も変わりませんでした。
ちなみにこのパスは>>800の4で出てきたやつです。
0805デフォルトの名無しさん垢版2017/11/06(月) 21:09:38.78ID:opoHmSqm
入れるだけなら楽なんですけどね・・・
ライブラリがnot foundのせいでネットにある導入方法が通用しなくて困る。特に変なことした覚えないのになぁ
0807デフォルトの名無しさん垢版2017/11/07(火) 20:30:57.86ID:JC+Xd9TU
detectorでcomputeした際のdescriptが空の時(多分特徴点が見つからない時)、bfmatcherでマッチングするとエラーになるのですが、これを回避する方法はなんかいい案ありませんか?
カメラから連続フレームで処理してると特徴点がない時に止まります。
簡単な回避法としてcatchとかtry-except系で例外を捕まえるのは、こちらの都合的にあまり望ましくないので、出来ればアルゴリズムで何とかしたいのですが。
0811デフォルトの名無しさん垢版2017/11/10(金) 15:31:11.19ID:R4AIGq6h
ver2.4だけどデフォルトで特定の色をラベリングする方法ない?
0812デフォルトの名無しさん垢版2017/11/10(金) 16:49:51.40ID:5Db1u5mc
デフォルトの意味が分からんけど1つの関数でってこと?
素直に色検出とラベリングに分けたらいいのに
0813デフォルトの名無しさん垢版2017/11/27(月) 12:22:21.40ID:Wz99dXP5
顔認識ではなくて図形の認識を行いたいのですがどんな方法があるでしょうか?
認識する図形は形は同じで大きさが異なるものです。
0815デフォルトの名無しさん垢版2017/11/28(火) 19:26:07.57ID:/eBPJ/C2
Webカメラで顔を認識してそれをそのまま画像に保存するって言うのはopencvでは難しいですか? その辺に強いライブラリあったら教えてください
0821デフォルトの名無しさん垢版2017/11/30(木) 09:04:50.64ID:pAiE6DGc
まあ顔認識のワードが先行してるしトーシロちゃんが間違うのも無理ないか
簡単に言うと顔がどこにあるのか見つけるのが検出、その顔が誰のものかが分かるのが認識
0822デフォルトの名無しさん垢版2017/11/30(木) 09:17:26.73ID:pAiE6DGc
それとも何だ?一般物体認識としての顔認識の分類モデルがデフォで存在するんか?
まあそうだとしてもこのタスクの場合は検出とやってるレベル同じだけど
0824デフォルトの名無しさん垢版2017/11/30(木) 09:37:28.63ID:pAiE6DGc
haarlikeでやってるのは顔検出なんだよってに
カメラとかで顔のとこに四角形が出るのがそれ
顔の場所だけを見つけるのが検出
認識つったら文字認識とか言うみたいに何の文字かまで、顔で言えば誰の顔なのかまで言い当てないと認識にはならない
0825デフォルトの名無しさん垢版2017/11/30(木) 09:39:53.35ID:pAiE6DGc
まあこうやって講釈たれても実際一般人には顔検出のことを顔認識で通ってしまうから何も言えねえなのが辛いところ
まあでもせめてこういうスレくらいでは、ね?
0828デフォルトの名無しさん垢版2017/12/01(金) 00:25:06.80ID:mKjNhYqE
誰の顔かってのは認識じゃなくて認証だと思ってたけど
0829デフォルトの名無しさん垢版2017/12/01(金) 00:38:38.21ID:MbMxE9OK
認証ってのは、単に誰かじゃなくて、
「本人確認」して、さらに権限の認可とかにつなげることでしょ。
認識してもただ行動追跡するだけみたいなのは認証じゃない。
0830デフォルトの名無しさん垢版2017/12/01(金) 20:54:59.49ID:Y4Yq7bhT
日本の歯医者は途上国以下の水準。
0831デフォルトの名無しさん垢版2017/12/02(土) 13:52:20.06ID:XRYOyseR
それな
0832デフォルトの名無しさん垢版2017/12/02(土) 15:51:35.82ID:WBDDDTAk
特に駅前の○○の指定(私鉄の沿線で鉄道会社の指定とかな)だとか何とか書いてあるとことか、
わざと一定期間でダメになったり、隣の歯の治療で穴が開通する様に細工するのが上手いからな
国民の金を回させる為に水道にフッ素入れない様にとか、おかしな国だよ
0833デフォルトの名無しさん垢版2017/12/21(木) 18:52:39.90ID:oHjju0ec
カメラで物体を撮影して正確に物体の座標を特定したいです
今は物体にLEDを取り付けて閾値を用いて特定していますがより良い方法はありますか?
正確な座標と誤認識の少なさを両立させたいです
0834デフォルトの名無しさん垢版2017/12/21(木) 19:13:42.11ID:RmyYVKbd
そういうのは撮影環境や物体の動きとかの条件次第だからなんとも言えない

グリーンバックにして環境光も変えてってできるならそうすればいいし、
物体にLEDをつけれるほどならカメラにこだわらずレーザー測距視野に入れちゃってもいいと思う
0835デフォルトの名無しさん垢版2017/12/21(木) 19:33:17.15ID:oHjju0ec
>>834
撮影中動く物は検出したい物体のみです
環境はどんな部屋でも特定できるようにしたいのでグリーンバックなどは厳しいです
0837デフォルトの名無しさん垢版2017/12/21(木) 21:09:06.24ID:oHjju0ec
>>836
フレームの差分とるだけだと動く前と動いた後両方検出してしまう気がします
動く前を除けたら最高なんですが
0838デフォルトの名無しさん垢版2017/12/21(木) 21:29:27.49ID:RmyYVKbd
なんかもう無理そうな気がしてきた。今のLEDを輝度下げるとか小さいのにするとかそんなんで誤差小さくしたら?
0840デフォルトの名無しさん垢版2017/12/22(金) 21:59:17.04ID:FB9Qy9HR
>>839
なぜか盲点でした
最初のフレームは背景だけでそれと差分取れば常に物体だけ追従できそうですね
LEDの閾値と組み合わせれば誤認識少なくなりそうです
0841デフォルトの名無しさん垢版2017/12/23(土) 09:41:48.24ID:4NINcBhk
>>840
背景差分ってやつだな。実際には照明の大域/局所的
変動や熱などから生じる不規則ノイズがあるので何も考えずに
差分を取るとドッタンバッタン大騒ぎになる。

というわけでロバスト背景差分が必要になるわけ。
0842デフォルトの名無しさん垢版2018/01/24(水) 05:55:28.59ID:WIw3jn1Q
顕微鏡で取得した画像に対して、OpenCVでデータ処理をしようと思っています。
まずは、フォーカス合成をした全焦点画像を作ろうと思いますが、
OpenCVにはそれに向いている関数がありますか?
ご存知の方がいましたら、教えてください。
0843デフォルトの名無しさん垢版2018/01/24(水) 14:17:06.04ID:WbhmIxQ2
>>842
多数の画像があってある画像では右隅にピントが合ってるが
別の画像では真ん中にピントがあっていて…みたいのを全部
がっちゃんこして「ピントが合った部分」だけで新しい画像を作る
ということでしょうか
0844デフォルトの名無しさん垢版2018/01/24(水) 15:27:25.48ID:9/LCTUcH
そういうことだろ。標準機能じゃできなさそうだな
それだけやりたいってなら俺ならphotoshopに突っ込んで自動処理するツールつくるな。そっちの方が簡単かつ生成画像の品質もいい
0846デフォルトの名無しさん垢版2018/02/01(木) 23:11:15.72ID:Z+9xQhMd
>>842
じゃないんだけど画像にフォーカスが合っているかとうかなんて判定出来るのかな。
特徴点検出を掛けて多い方がシャープさが高いとか?少なくとも同じ視点で撮影していることが保証されてないと厳しそう。
あとPhotoshopだと出来ると書いた人の理論も聞いてみたい
0848デフォルトの名無しさん垢版2018/02/02(金) 07:38:27.25ID:sggyuymU
>画像にフォーカスが合っているかとうかなんて判定

出来る
0849デフォルトの名無しさん垢版2018/02/02(金) 13:27:46.46ID:A0N74Rg+
ググりました。
2014年にPhotoshopに「焦点領域」という機能が追加されてるんですね。
なるほど、複数の画像に焦点領域で取得した画像を重ね合わせれば作れるという事だったんですね。納得です。
0853デフォルトの名無しさん垢版2018/02/03(土) 11:32:16.09ID:jcEuZ+bz
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軸の分解能で再現できなくなるまで行えば、
ピントのあう画像となります。

問題点としては、縞模様などの場合、ベルカーブにある種の振動波のようなものが観測でき、
正確に合わせられないことがあるということ。
また、ピントの追い込み方が原始的で時間がかかることなどがあげられます。
0854デフォルトの名無しさん垢版2018/02/03(土) 11:55:31.95ID:FhluCmMv
どの画像がいちばんフォーカスあってそうかってのはすぐ求まるけど
1枚の画像に合成するとこで俺がやったら汚いモザイク絵になっちまうだろうなw
(ひと昔前の使えないパノラマ合成をさらに酷くした状態)
0856デフォルトの名無しさん垢版2018/02/10(土) 16:01:24.44ID:nWdR2ssV
>>842
それやるなら超解像顕微鏡を使った方がいいと思う
0858デフォルトの名無しさん垢版2018/02/10(土) 16:25:17.78ID:nWdR2ssV
>>857
電子顕微鏡は画像のフォーカスがあってる部分の合成をやってないけど超解像顕微鏡はやってる
何で電子顕微鏡が出てきたのか分からん
0861デフォルトの名無しさん垢版2018/02/15(木) 21:16:24.20ID:VhZncE5y
質問失礼します。
カラー画像同士の差分を取るには、3原色に分けてから差分を取ればいいのでしょうか?
0867デフォルトの名無しさん垢版2018/03/03(土) 11:57:54.05ID:U/tQdu7q
1.
python 3.6.3 で複数(20体ほど)の生物(オタマジャクシみたいに特徴が少ないもの)の追跡を差分法でやろうとしてるのですが、前のフレームの ある一つの動体と今のフレームの ある一つの動体が同じであるか求める方法ってありますか?
もしくは、他にいい追跡方法はありますか?
2.
追跡対象が方向転換するとき等、速度が落ちるときに認識が外れてしまうのですが、解決方法はありますか?

 プログラミングも動画処理も初めてで、動体の座標を求めてバウンディングボックスを描くところまで作りました
 自分で調べてみても、近くに別の動体が来たら認識がおかしくなるような方法しかなくて…
 ベクトルから推測するにも、やっぱり最初に判別出来ないと意味がないだろうし…
 5日くらい悩んでも分からなかったので、お願いします
0869デフォルトの名無しさん垢版2018/03/03(土) 13:05:53.25ID:Cp/R2Wou
>>867
フレーム間隔は?
サンプルの画像数枚貼れる?
0870デフォルトの名無しさん垢版2018/03/03(土) 14:30:35.23ID:lnxI/7eV
2回分の検出で物体が重なった面積が大きい方が同じものとしちゃう
動きが小さい&被写体が大きいなら簡単かつ効果的だよ
0871デフォルトの名無しさん垢版2018/03/03(土) 16:07:29.60ID:U/tQdu7q
返答ありがとうございます

>>869
フレーム間隔について、すみません、よく分からないので、やってる方法を書きます
cap.read()で3フレーム読み込んでグレースケールにしたあち、1フレーム目と2フレーム目、2フレーム目と3フレーム目の差の絶対値を取って、bitwise_andで白いところを抜き出してます

すみません、公表していいのか分からない画像なので、使いたい画像は乗せられないです…
一応それっぽい画像を挙げます
大きさもこんな感じで、真っ黒なやつが動きます
これを全部追跡します
https://i.imgur.com/km9auMT.jpg

>>870
そうしようと思って一度考えたのですが、画像みたいに移動した時、別の動体と重なってしまうと、別の動体同士が認識しあってしまうんです…
https://i.imgur.com/yra8iZt.jpg
0875デフォルトの名無しさん垢版2018/03/04(日) 10:57:07.58ID:+LBimNhC
募集してないのにうちによく作ってくれって依頼くるけど
1万2万で請け負ってもらえると思ってる奴が多すぎるw
0879デフォルトの名無しさん垢版2018/03/04(日) 17:13:02.33ID:9bUhlbFW
なんのためにってやっぱりタダが当たり前だと思ってんのか。readmeすら読んでないとかありえん。

https://opencv.org/

[Donate]をクリックして進め。おまえは馬鹿だからまず1万ドル払え。
0883デフォルトの名無しさん垢版2018/03/07(水) 08:42:49.07ID:3giPn1xI
カラー動画を0と255の2値動画に変換して出力たのですが、実際出力された動画の画素を分析すると2値になっておらず、中途半端な値がかなり混ざっています
これはどうしようもないことなのでしょうか
0886デフォルトの名無しさん垢版2018/03/07(水) 09:06:56.66ID:3giPn1xI
jpgというより、動画で出力しているのでmp4です
形式がまずいとかそういう事なのでしょうか
処理は間違っていない気がするのですが…(画素値には0と255以外入れていないので…)
0887デフォルトの名無しさん垢版2018/03/07(水) 10:07:44.62ID:kIj9vkCx
mp4はjpegと同じで劣化するだろ。フレーム単位で2値化なんかしたら、HDDいくつあっても足りんわ。
0889デフォルトの名無しさん垢版2018/03/07(水) 10:38:55.00ID:4T48SgsL
png
動画も可能
0893デフォルトの名無しさん垢版2018/03/08(木) 10:09:46.81ID:ue18PqKi
お帰り下さい
0894デフォルトの名無しさん垢版2018/03/09(金) 17:15:10.42ID:2PlJUe+0
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
と出力されてしまって…
0896デフォルトの名無しさん垢版2018/03/09(金) 18:24:10.54ID:2PlJUe+0
>>895
そう思って、一度動画ファイルの絶対パスを入れてやってみたんですが、それでもダメでした…
.pyとの違いって何や…エラーも出てないですし…
0897デフォルトの名無しさん垢版2018/03/09(金) 18:25:06.79ID:goWJjV3D
>>894
895が言ってる問題かどうか切り分けるために動画が置いてある場所に(動画じゃない)jpgとか
置いて開けるか試したら?
0898デフォルトの名無しさん垢版2018/03/09(金) 19:00:06.63ID:2PlJUe+0
>>897
.exeの方でやってみたら、cvrColorがエラーしてるって出ました。
.pyだと、cannnot read videoです。

cv2.videocaputureをcv2.imreadに変えたら.exeでも.pyでも表示されました
絶対パスじゃなくても、
ファイル名.jpg
だけでもどちらでも開けました

videocaputureに問題があるのかな…
0899デフォルトの名無しさん垢版2018/03/09(金) 23:17:54.44ID:CIfBOObq
exeなんて使わんから知らんけど.pyで動いてるのに.exeにしたら動かないならそのpyinstallerとやらが悪さしてるんだろ
0901デフォルトの名無しさん垢版2018/03/10(土) 00:03:20.98ID:Fc7JY5v5
>>899-900
ですかね…他のexe化モジュールも何かエラー吐きすぎて無理そうだったし、時間ももったいないから諦めます
python 入れてもらおう…

元々自分用に作ってて使ってたら、横で見てたプログラミングの知識の無い人が、それ欲しいといったから、配布しようとしたんですよね
プログラミングを知らない人って、あの文字列を見ただけで怯むから、アプリにして、後は数値やら動画ファイルだけを突っ込むだけにしようかと思ってまして
0902デフォルトの名無しさん垢版2018/03/10(土) 01:34:41.65ID:G7HWt9L5
opencvの動画周りってffmpeg使ってたと思うけど、pyinstallerではそのあたりのdllも一緒にまとめてくれるのかな。
0903デフォルトの名無しさん垢版2018/03/10(土) 12:33:23.68ID:fQg9dcpA
>>901
そういうの時間と労力のの無駄になるよ。
口に餌を運んであげたら、その猫の糞も始末する
責任が生じるんだ。
0904デフォルトの名無しさん垢版2018/03/10(土) 12:39:54.84ID:TTti/WSS
+1
0906デフォルトの名無しさん垢版2018/03/10(土) 13:41:12.50ID:ZHQZnt9p
普通にクラ側にpython環境入れるかc++で書くかの2択だろ
pyinstallerの中身調べるとかナンセンスすぎる
0908デフォルトの名無しさん垢版2018/03/10(土) 14:13:05.19ID:Fc7JY5v5
Python を入れて貰うことにしました
結構使えるプログラムだと思うから、これで我慢してもらおう

>>902
>>905
調べたらこれっぽいです…w
解決策もあったけど、opencvが何かマルウェアみたいでちょっと怖いですね…諦めたほうがいいみたいです

>>903
一応お世話になってるし、色々権力があるから媚び売りたい って言うのは内緒です

>>906
ですね…
最初、使い方を調べたら一瞬でできるみたいだったからやってみたはいいけど、opencv を入れたスクリプトには向いてないみたいです

他の同じような方の参考にもなれば
0909デフォルトの名無しさん垢版2018/03/10(土) 15:43:56.99ID:GkfRicR7
反面教師かよ
0910デフォルトの名無しさん垢版2018/03/10(土) 20:26:38.44ID:2uc/dzDb
つか業務でソフト開発して詰まったら5chで質問とか終わってるエンジニアだな
0912デフォルトの名無しさん垢版2018/03/11(日) 10:09:08.45ID:zWe+i43K
質問するだけで意外と解決するからな
0913デフォルトの名無しさん垢版2018/03/11(日) 10:28:55.93ID:wWFsao1Q
質問しようとするだけで思考がまとまるし、じっとしてるだけより何でも行動すべきでしょ
0914デフォルトの名無しさん垢版2018/03/11(日) 14:45:50.34ID:vNegY1zF
ネットで質問して回答通りにやってうまくいったからOK
みたいな開発者になると最悪だが、

得た回答を元に公式のドキュメント読み直すなり
再度情報を整理して、正しく理解できるならそれでいい
0915デフォルトの名無しさん垢版2018/03/11(日) 15:04:38.03ID:qC+CBm/n
5chなんて無能とキチガイしかいないからな
煽ったり無知装ったりなにしても情報とれりゃそれでいいんだよ
0917デフォルトの名無しさん垢版2018/03/11(日) 16:27:58.94ID:5zOh4BZk
まあ社会人として業務知識みたいなのをSNSで聞くのどうなんですかって話じゃないかな
0918デフォルトの名無しさん垢版2018/03/11(日) 16:55:03.93ID:qC+CBm/n
業務知識ってなんだよw
社外秘のデータや方法出してるわけでもあるまいしどうでもいいじゃん
0920デフォルトの名無しさん垢版2018/03/12(月) 18:09:21.49ID:IkK1NW+e
ゲェジ丸出し
0921デフォルトの名無しさん垢版2018/03/12(月) 21:43:43.45ID:yCds6qtp
opencv でPCの特定のウィンドウをビデオキャプチャすることはできますか?
普通にバンディカムの方がいいかな…
0922デフォルトの名無しさん垢版2018/03/13(火) 15:23:28.24ID:MHQfuTqc
できるよ
0923デフォルトの名無しさん垢版2018/03/24(土) 09:59:45.15ID:kRga3xpS
python版opencv で
I1 I2 I3
の3つの画像(全て.png)を一つのマルチTIFFファイルにしたいんですが、cv2.imwrite だと複数指定できなくて困ってます
何か方法はありませんか?
0928デフォルトの名無しさん垢版2018/03/24(土) 13:26:05.40ID:kRga3xpS
>>927
調べて見つからなかったから質問してるんです
どれもこれも読み込みのことしかなくて、マルチTIFFファイルとしての出力がないんです
0930デフォルトの名無しさん垢版2018/03/24(土) 14:12:32.27ID:vw8qMkfM
>>928
「マルチtiff 変換」でぐぐって一つ目のリンククリックして、開いたとこの先頭に
> (BMP,JPEG,JPEG2000,GIF,TIFF,PCX,FPX,PNG)からのダイレクト変換可
> 1つのファイルに複数の画像を収めることができるマルチページTIFFの一括作成に特化された
ってあるが、これ使ってもできないのか?
0933デフォルトの名無しさん垢版2018/03/24(土) 14:37:06.91ID:nKlKWZZe
>>926
コマンドラインでtiff変換するやつとか適当に使えばいいだろ
保存した3つのpngのパスは分かってるんだから
その3つを入力して適当にtiffで出力して終わり
コマンドライン操作?何それ?ってレベルならお勉強して下さいとしか・・
0934デフォルトの名無しさん垢版2018/03/24(土) 16:00:18.70ID:RN0GX0Rk
sox
0936デフォルトの名無しさん垢版2018/03/25(日) 22:45:30.51ID:TPJYUSzf
すいませんお教え願えませんでしょうか?

ガタガタのドッド絵画像の線をある程度直線で近似してなめらかな線にして
頂点位置の取得をしたいのですが
途中でつまずいてしまいました
やってみたのは
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で繋ぐ方法が分かりませんでした


この方法でいいのかもちょっとわからず・・・すいません、どうしたら良いのでしょうか?
0937デフォルトの名無しさん垢版2018/03/26(月) 00:05:18.20ID:W+zxXBoo
ちょっと意味が理解できなかった
なめらかな直線に近似したら頂点の座標なんて分からないと思うが
0938936垢版2018/03/26(月) 00:50:07.07ID:N7ZMfeIe
>>937
説明へたくそですいません
ttps://imgur.com/a/ImM2E
オーバーに描くとこんな感じです。
元画像の白と黒の境界のギザギザ部分は滑らかな線にして(cv2.LINE_AAでできた)
形自体は直線で近似するので頂点ができるので
その頂点の座標も知りたいという感じです。
0940デフォルトの名無しさん垢版2018/03/26(月) 05:10:27.60ID:OxsjGzhh
>>938
フーリエ変換だな
0944936垢版2018/03/27(火) 02:46:38.08ID:P1jBIf5/
教えていただいてありがとうございます
フーリエ見てみましたがまだちょっと理解が追い付かないです

>>941
最終的にはアウトラインの真ん中の線をつなげれる座標が欲しいです。
今のところこんな感じです
https://imgur.com/a/D1ZdN
findcontourについて・・・これもアウトラインで境界がとれているので
難しいです。

モナーの絵でいえばギザギザしたのをスムーズな線にしたら
センターラインもとれやすくなるのでは(なんの確信もないですが)
と思っています。
もうほんと説明がへたくそすぎてすいませんとしか言えなくてすいません・・・
0946936垢版2018/03/28(水) 02:36:20.70ID:Sxa9jDj9
>>944
ありがとうございます!!!
出来そうな気配が漂ってきました!!
https://imgur.com/XX9Efl8

センターラインを作った後に
findcontourを使ったので
輪郭線が二本になって頂点の座標の個数が二倍になってますが
まだよくわかんないですが入れ子になっているデータを
もうちょっとよく見たらなんとかなりそうな感じになりました。
ありがとうございます!!
0947デフォルトの名無しさん垢版2018/03/28(水) 13:09:04.55ID:YfKkqZvW
おめ
0948デフォルトの名無しさん垢版2018/05/23(水) 20:00:30.55ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

052IV
0950デフォルトの名無しさん垢版2018/05/30(水) 11:02:55.50ID:BsyMZVji
traincascadeを使ってるんだけどstage9くらいで落ちる。どうすればいいだろうか
ポジティブ画像が2000でネガテイブ画像が1000くらい
0951デフォルトの名無しさん垢版2018/06/01(金) 07:41:21.82ID:d3ipunzJ
>>950
-numPosを1750ぐらいにする
正しい枚数の九割いかないくらいの値

それでだめだったらnumNegを850かな

でどうだろうか
0952デフォルトの名無しさん垢版2018/06/02(土) 19:29:12.44ID:8tqIRmXi
スレチかもしれないんですが学校の課題でゼロ交差法のプログラムをかけというのがでているのですが、2次微分の正から負になっているところがゼロ交差というのはわかるんですが具体的にはどのようなアルゴリズムでやればいいのか教えて欲しいです。
0956デフォルトの名無しさん垢版2018/06/14(木) 09:48:19.63ID:b+x6hMO7
お前のソースを貼れ
0957デフォルトの名無しさん垢版2018/06/14(木) 10:19:53.65ID:a5dXYQcJ
初心者が丸コピで動かないとか知らんがな
サイトが間違ってるか、コピペで余計なことをしたのかどっちかだろ
0959デフォルトの名無しさん垢版2018/06/21(木) 00:35:49.56ID:sIIa5zwX
OpenCV:2.4.13.6
ビルド環境:Visual Studio 2010 Express
静的リンクで使用したいのですがOpenCVの各モジュールが使用しているライブラリの一覧とかどこかにないんでしょうか?
リンカがエラーを吐くたびに該当するライブラリを手動で探すのは結構大変です
0961デフォルトの名無しさん垢版2018/06/21(木) 21:39:01.48ID:sIIa5zwX
いったんDLLを作ってそれらがロードしているライブラリをDependencyWalkerで調べるって事?
やってみたけど静的リンクと動的リンクでリンクしなければならないライブラリファイルは違うしこの方法は上手くいかないようだ

というかこれ1個をリンクすれば一通りの機能が使えるみたいなライブラリファイルって作れないのかな
BUILD_opencv_world=ONはあり得ないファイルをリンクしようとしてビルドできないし
0964デフォルトの名無しさん垢版2018/06/22(金) 09:45:54.74ID:MYEvMa8B
馬鹿には無理
0966959垢版2018/06/23(土) 13:20:49.01ID:EBepUC4e
動的リンクにすると開発環境への依存が下がるのはどういう事なのだろうか
静的リンク
 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の導入は検討中ですがマシンの都合ですぐには無理です
0967デフォルトの名無しさん垢版2018/06/30(土) 02:34:26.04ID:C0FSF2MQ
Ubuntu上でWEBカメラを3個同時にimshowしたいのですが、うまくいかず困ってます・・・
単一だとうまくいくのですが、2個以上画面出そうとすると応答なしまたは数秒表示して画面が更新しなくなるという症状です
エラーの内容は実行するたびに代わります・・・
ちなみにWindows上では3個問題なく表示できてます(なぜLinuxだけできない??)
ライブラリは標準(windows固有のものは一切なし)+OpenCVのみです
それぞれインスタンス化しスレッドも分けて動作させているのですが・・・
環境はVS2017Community、OpenCV3.2、言語はC++、開発はWindows、動作はLinuxで行ってます。
初心的な質問だったらごめんなさい
0969デフォルトの名無しさん垢版2018/07/04(水) 22:01:42.86ID:gFgZc5FG
HHT
0971デフォルトの名無しさん垢版2018/07/12(木) 09:02:12.12ID:VokAYzSf
プログラミング初心者です
USBカメラから画像を取得して画像処理するプログラムを作っているんですが、カメラ制御はopencvでは詳細に設定できないそうですね
簡単なカメラ制御ライブラリはありませんか?
制御したい値は露出やフレームレートです
開発環境はvs2013Windowsで言語c ++、opencv2.4系です
0972デフォルトの名無しさん垢版2018/07/12(木) 09:40:47.68ID:x8Svnlzm
cvで可能
0973デフォルトの名無しさん垢版2018/07/12(木) 21:06:30.53ID:olz3FOgP
確かに詰めていくとOpenCVのカメラ制御じゃ不十分な点も出てくるがプログラム初心者に関係ある話じゃない
0974デフォルトの名無しさん垢版2018/07/13(金) 04:36:04.25ID:pzH6VB6G
>>973
つまり露出とフレームレートはopencvで制御可能ってことでしょうか?
0977デフォルトの名無しさん垢版2018/07/13(金) 08:15:06.32ID:Stfum8qu
WindowsならMediaFoundationでいいだろう。
もちろんカメラ製品によってできるできないはあるけど、専用アプリで露出等を
制御できる製品ならたいていMFでもいけるはず。
0978デフォルトの名無しさん垢版2018/07/13(金) 11:46:40.94ID:5yynDKDH
OpenCVのカメラ制御はあくまで汎用だからな
細かいカメラ制御が必要なら、仕様でカメラ制御のある専用カメラと専用ライブラリを使わないと
0979デフォルトの名無しさん垢版2018/07/13(金) 21:53:11.45ID:DB9qYhE3
必要なのは露出やFPS制御程度と言っていて画像処理ですでにOpenCV使ってるだろうに
わざわざ他のライブラリ勧めるやつは初心者以下のアホかなんかか?
0981デフォルトの名無しさん垢版2018/07/13(金) 22:19:17.70ID:pzH6VB6G
>>977
どうしても外部で制御するのは却下なんです
>>980
できないってことでいいんですよね?
2.4系じゃ反応しませんでした、3.0系ならできるんですかね
0982デフォルトの名無しさん垢版2018/07/13(金) 22:43:48.56ID:Stfum8qu
意味わからんな。

> カメラ制御はopencvでは詳細に設定できないそうですね
> 簡単なカメラ制御ライブラリはありませんか?

> どうしても外部で制御するのは却下なんです

何がしたいのん
0984デフォルトの名無しさん垢版2018/07/13(金) 23:51:11.03ID:pzH6VB6G
>>982
専用アプリで制御するのかと勘違いしてました
MediaFoundationちょっと調べてみます
0987デフォルトの名無しさん垢版2018/07/14(土) 11:49:31.79ID:v4Gtt50J
だな
0991デフォルトの名無しさん垢版2018/07/15(日) 16:08:03.64ID:z9dis41F
質問するなとはだれも言ってない
クレクレ君に教えることは何もない
どこまで自力でやって何が判らないのか誠意を見せろってこと
0994デフォルトの名無しさん垢版2018/07/16(月) 09:40:06.37ID:Tl1DHPio
教わる気が無いやつは来るな
1000デフォルトの名無しさん垢版2018/07/18(水) 16:37:05.58ID:r2tNZQmN
>>998
それな
10011001垢版Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1726日 23時間 8分 49秒
10021002垢版Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況