2ch勢いランキング アーカイブ

【Intel】OpenCV総合スレ 5画素目【画像処理】


[] 2013/10/25(金) 17:28:16.71
OpenCVはインテルが公開したオープンソースのコンピュータービジョンライブラリ。
現在はWillowGateが開発している。

本家
ttp://opencv.willowgarage.com/wiki/

日本語資料など
ttp://opencv.jp/


【Intel】OpenCV総合スレ 4画素目【画像処理】
ttp://toro.2ch.net/test/read.cgi/tech/1329040627/
[sage] 2013/10/25(金) 17:30:41.75
画像処理 その14
ttp://toro.2ch.net/test/read.cgi/tech/1370170263/



金出せば色々あるけど、とりあえず安い部類の画像処理ライブラリ。

TEO
ttp://teo.sourceforge.jp/

IPP
\26,250 ttp://www.xlsoft.com/jp/products/intel/perflib/ipp/index.html
$199 ttp://software.intel.com/en-us/articles/intel-integrated-performance-primitives-purchase/
[sage] 2013/10/25(金) 17:33:31.83
ttp://opencv.jp/

2.2 C++
ttp://opencv.jp/opencv-2svn/cpp/
ttp://opencv.jp/opencv-2svn/cpp/imgproc_miscellaneous_image_transformations.html
sample 2.1 or 2.0
ttp://opencv.jp/sample_code

1.1pre
ttp://opencv.jp/opencv-1.1.0/document/
1.0
ttp://opencv.jp/opencv-1.0.0/document/
sample 1.1pre or 1.0
ttp://opencv.jp/sample/
[sage] 2013/10/25(金) 17:34:12.59
OpenCV 2.4以降でMatと配列を相互変換したい。
Matは幅w、高さhのCV_32FC3型。
配列はw*h*3のfloat型3次元配列。
for文を使わずシンプルに書きたいんだけど、
いい方法ないかな?
[sage] 2013/10/25(金) 17:38:55.18
3Dとか動画も扱えますか?
[sage] 2013/10/25(金) 17:53:07.71
               ノ      ゚.ノヽ  , /}      ...
            ,,イ`"     、-'   `;_' '    ..::::::::::::::...
   ,-、  _.._   (        (,(~ヽ'~     ..:::::::::::::::::::::::
 )'~  レー'  〉   ヽ       i`'}       .:::::::::::::::::::::::
 ~つ     '-ー、  i       | i'     ...:::::::::::::::::::::::
 /       <  /     。/   !  ......:::::::::::::::::::::::::    これは乙じゃなくて
/         ~^#12288;    /},-'' ,●::::::::::::::::::::::::::::::::::::
i、        ,i' _,,...,-‐-、/    i  ::::::::  .:::::::::::::
..ゝ        <,,-==、   ,,-,/      .:::::::::::            放射能がうんたら
 )       {~''~>`v-''`ー゙`'~       ..:::::::::                          ........::.
 {        レ_ノ            ..::::::::.                         ......:::::::::
ノ         ''           ..:::::::                        ...::.:...:::::::::
                     .:::::::::                     ...:......:::::::::::: .
                    .:::::::::::.        .....      ..  ..::::::::::::::::::::::::   :::.
                    ::::::::::::::::.::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. ::  ::..
                    .:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::    ::.
                    ::::::::::::::::: :::::::::::::::::::::::::::::: :::::
                          .::    ::.  :::
[] 2013/10/25(金) 19:54:30.16
いちもつ
[sage] 2013/10/25(金) 19:59:26.24

for文を使いたくない理由による。
[] 2013/10/26(土) 10:46:42.66
ググったらできました!ありがとうございまいた
[] 2013/10/26(土) 10:51:15.28
916 57 [sage] 2013/10/25(金) 21:38:54.52 ID: Be:
openCV触ってみたが、cで扱った時よりか大分楽だな。
インストールからして凄く楽々
開発も楽々

ちっくら、惚れた
[] 2013/10/26(土) 11:10:57.43
一般人なら英語を読めて当然とは思わないけど、プログラマなら当然でしょ。
これだけ日進月歩の激しい分野でどこかの誰かの翻訳待ちとか頭悪すぎる。
[sage] 2013/10/26(土) 11:20:49.91
立てたのか
[sage] 2013/10/26(土) 11:37:11.83
プログラマは頭なんてよくないよ
一種のサバン症候群だから日本語は苦手
[sage] 2013/10/26(土) 11:45:47.82
画像処理15に合併申し込まないか?
[sage] 2013/10/26(土) 12:09:57.71
英語ならまだいいがnginxとか最初ロシア語でしたし
[sage] 2013/10/26(土) 14:50:31.23
ロシア語で考えるんだっ!!
[] 2013/10/27(日) 07:29:51.98
pythonで使っても速いっすか?
[sage] 2013/10/27(日) 10:28:21.15
中身は C だからな
下手なループとかを Python 側で書いてしまわなければ桶
[sage] 2013/10/27(日) 10:33:45.51
冗談抜きでプログラムさくさく書けるひと尊敬するわ
コミュ障が多いけど
[sage] 2013/10/27(日) 10:37:26.53
最近ずいぶん熱心にマルチポストしてるようだけど
医者に罹る気はないかい?
[] 2013/10/27(日) 10:39:53.41
2ちゃんにクロスポストの機能があればなぁ
[sage] 2013/10/27(日) 10:59:29.93
こういうライブラリこそJSで書けば速くなるのに
[sage] 2013/10/27(日) 11:02:46.97
全く根拠がないな
[sage] 2013/10/27(日) 11:05:32.10
WebGL がサクサク動く時代だからな
WebCV.js があっても驚かない自信はある
[sage] 2013/10/27(日) 11:06:27.15
実行時最適化のおかげで行列が速い速い
ES6からSIMDも入るしJSで書けば一足先に未来へ行ける
[sage] 2013/10/27(日) 11:20:25.29
ああ、馬鹿なんですね
[sage] 2013/10/27(日) 11:22:29.85
極一部のレアケース除いてJSがC/C++より速いわけねーだろ・・・。
と思ったけどJSと比べられてるのは文脈的にPythonか?それならそうだろうな。
[sage] 2013/10/27(日) 11:26:05.54
ひょっとしてブラウザじゃなくて
node.jsみたいなの想像したけど

に先越された
[sage] 2013/10/27(日) 11:39:32.94
そうでもない
JSの実行速度はかなり速い
ブラウザのおまけだった時代と違う
今や速度ではアセンブラがライバル
昔のイメージで見ると時代に乗り遅れる
[sage] 2013/10/27(日) 11:43:15.73
笑っていいよね。うぬぼれが過ぎて。
[sage] 2013/10/27(日) 11:44:34.38
Intel自身がOpenCVを書く言語を誤ったと認めているからね。
大量のデータに小さな命令を適用するにはVM方式のほうが速度面で有利らしい。
[sage] 2013/10/27(日) 11:45:34.29
ttp://www.techempower.com/benchmarks/#section=data-r6&hw=i7&test=db
ふーん
[sage] 2013/10/27(日) 11:46:57.54
はいはい。アセンブラと勝負しててね。
[sage] 2013/10/27(日) 11:49:37.06
こういうライブラリには実行時最適化が有利に働くね
[sage] 2013/10/27(日) 11:51:19.46
速度の話は門外漢だから触れないけど
ライブラリをC/C++で書くというのは、大抵の言語に存在するFFIを利用できることに他ならない
いちいちポーティングしなくても使用できる点において絶対的に優位だと思う
VMだとそうはいかないだろう
[sage] 2013/10/27(日) 11:52:07.44
実行時最適化って言葉を使いたいお年頃なのかな?ボク?
[sage] 2013/10/27(日) 11:58:32.12
技術板である以上、JSのほうが速いとわかったらJSで書き直す有志が
出てくると思う
OpenCVの倍以上速くなる
[sage] 2013/10/27(日) 12:00:16.34
この板ってのはさすがにないw
この板で生み出されたものがまずないもんw
[sage] 2013/10/27(日) 12:03:15.55
ライブラリが使用されるには実装に加えて保守が必要だからねー
JSでしか使えないライブラリでそんな人足が集まるだろうか?
[sage] 2013/10/27(日) 12:05:53.98
形になったら寄贈すればいいんだよ
GoogleとかApacheに
[sage] 2013/10/27(日) 12:07:03.33
言われて見るとム板発ってないな。
いい機会だからやってみたらいいんじゃね。
[sage] 2013/10/27(日) 12:07:32.20
ES7からexport入るし他の言語から呼び出される側になるだろうね
ライブラリは高速性を生かしてJSで書き
アプリは環境固有のネイティブで書く
[sage] 2013/10/27(日) 13:05:28.72
Javascript製のOSが出てきているのでJavascriptがネイティブ言語になる可能性もある
Javascriptはシステム記述言語としても成熟してきた
[sage] 2013/10/27(日) 13:51:11.02
>>38
せっかく作っても叩く香具師ばっかだからな
[sage] 2013/10/27(日) 13:52:42.83

思ったよりたくさんあるな
ttps://npmjs.org/search?q=openCV
[sage] 2013/10/27(日) 14:51:28.14
拾い物
ttp://www.youtube.com/watch?v=h9WDG_JRY0E
ttp://www.youtube.com/watch?v=wQx-tb-W5_k
[sage] 2013/10/28(月) 01:30:48.37
オライリーのopencv第2版が出るらしいけど
2.x系の説明は追加されるのかなぁ。
[sage] 2013/10/28(月) 13:18:32.13
ちくしょう買ったばかりなのに;;
まー追加分はwikiとか見てるけどさ・・・
[] 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.
と出てしまいます。なにがおかしいのでしょうか?
[sage] 2013/11/01(金) 08:48:22.44
おまえの頭
[sage] 2013/11/02(土) 00:43:19.46
バージョンが古いんじゃないかこれ
[] 2013/11/06(水) 19:41:00.92
Officeなどにゼロデイ脆弱性、Word用いた標的型攻撃も観測
米マイクロソフトは2013年11月5日、Microsoft Officeなどに未修正の脆弱性
(CVE-2013-3906)が存在することを明らかにし、注意を呼び掛けた。
ttp://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画像を開くと、攻撃者に権限を奪取され、リモートからコードを実行されてしまう恐れがある。
(後略)
[sage] 2013/11/07(木) 12:44:05.62
OpenCVに梱包されている目の検出器で検出された領域というのは、
どのくらい確からしいものなんだろう。

領域内のある程度決まった場所に目頭とか目尻って出てくるんだろうか。
[sage] 2013/11/08(金) 00:27:09.17

そこまでこだわるんならAAMとか使った方が良いんじゃない?
[] 2013/11/09(土) 18:04:08.77
opencvを用いて部分的にSURFを抽出する処理を書いています。
ですが、全体に対してSURF抽出をした場合と、部分的にした場合とでは
SURFの出力が異なってしまうのですが、原因がわかりません
以下画像です。
ちなみに2枚目の画像は、マスク画像で、これを使って部分的にSURF抽出してます。

ttp://uploda.cc/img/img527df9a52daa5.png
ttp://uploda.cc/img/img527dfa737a888.png
[sage] 2013/11/09(土) 21:02:43.07

"SURFの出力"を詳しく知りたい。
取れるkeypointが異なるのか、取れたkeypointの特徴量が異なるのか、マッチングの結果が異なるのか。
[] 2013/11/10(日) 00:09:21.39


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

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

部分的にSURF抽出すると
画像の黒いエッジ付近にやや、特徴点が抽出されてしまっているのをどうにかしたい。
この部分はマスクで処理しているので、決して画素値0として処理しているわけではないです。
[sage] 2013/11/10(日) 00:33:48.05

塗りつぶすのがいかんのじゃない?
塗りつぶすんじゃなくてちゃんとカットしたのと比べてみた?
[sage] 2013/11/10(日) 00:34:41.38
失礼。
マスクしてたのね。
[sage] 2013/11/10(日) 21:33:33.48
質問です。opencvsamples\cpp\peopledetect.cppのHOGの人認識プログラムの処理速度を改善する方法はありますか
動画中の人物を認識しようとしているのですが、自分の試した限りでは最速でも1フレームあたり0.7秒程度かかってしまいまいます
これをなんとか1フレームあたり0.2~0.3秒で処理したいのです
もし難しいようであれば他の手法やライブラリを紹介していただけるとありがたいです。高額でなければ有料のものでも構いません
[sage] 2013/11/10(日) 21:36:20.83
基本的に画像処理の速度というのは精度とトレードオフだから
[sage] 2013/11/10(日) 22:42:41.63
CUDA環境入れてgpu::HOGDescriptorを使う。
[sage] 2013/11/10(日) 22:45:53.83
CPUパワーを上げる
[sage] 2013/11/10(日) 23:38:37.31

マスクに関しては0として計算してしまう仕様なんだろうね。keypointの場所に関しては今のところわからない…

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

初歩的な質問だと思いますがよろしくお願い致します。
[sage] 2013/11/11(月) 09:28:12.82
え、Matって三次元に対応してるの?
[sage] 2013/11/11(月) 23:53:49.03
普通にカラー画像と同じアクセスの仕方でできるべ
[sage] 2013/11/12(火) 07:48:13.84

cv::Matは宣言の仕方でアクセス法が少し違うのでコードを貼ってもらえると話が早いです。
[] 2013/11/12(火) 17:46:48.29
オライリーの詳解opencv買っちまったから
IplImageとかのほうでいまだにやってるわ。
[sage] 2013/11/12(火) 19:17:03.04
IplImageに毎回変換するの面倒とか思ってたら
気がついたら動画の読み込みと作成だけOpenCVにやらせて、
画像処理は自力になった
[sage] 2013/11/12(火) 20:16:20.53
OpenCV 2.4.7 でたね。
次の 2.4.8 はいまのところバグ修正が9件あるだけ。
[sage] 2013/11/12(火) 20:34:46.62
貯金箱ってどこでも豚なんですね
ttp://opencv.org/wp-content/themes/opencv/images/donate.png
[sage] 2013/11/13(水) 02:26:37.01
Mat_の方が画素アクセスとかtemplateで関数宣言するのも楽じゃない?
[] 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個以上削除するとエラーが起きるのでしょうか??
[sage] 2013/11/15(金) 07:52:47.08
うしろから消してみたら?
[sage] 2013/11/15(金) 08:00:04.24

なるほど、削除すると同時に前へずれていくのを忘れてました。
[sage] 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;
[sage] 2013/11/18(月) 18:53:48.67
bgfg_segmのサンプルをビルドして実行してみたんだけども、何も設定した覚えがないのにブレークポイントが発生して最後まで動かない...。どうしてかわかる??やっぱりサンプルのコードにバグがあるのかな...。
[sage] 2013/11/18(月) 20:08:02.15
segmってくらいだからセグメンテーションフォールトでしょう(断言)
[sage] 2013/11/20(水) 15:40:09.21
前に3次元配列へのアクセスについて質問させて頂いた者です。
自主解決出来ました!
3次元用のatが定義されてたんですね。
反応してくださった方ありがとうございました!
[sage] 2013/11/25(月) 19:04:31.42
初心者です
opencv2.4.6を使っているんですが、以前使えていたcvAndの機能はcvクラスではどんな使い方(cv::?)にすれば良いのでしょうか?

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

よろしくお願いします
[sage] 2013/11/25(月) 21:45:27.38
リファレンスへのリンクはよ
[sage] 2013/11/25(月) 22:00:16.44
CvMatとMatのことで悩んでおります。
以下のCvMat型の表記をMat型に直すにはどうすればよいのでしょうか。
ご存知の方いらっしゃったらご教授下さい。

CvMat *cvMat;
CV_MAT_ELEM(*cvMat, int, x, y) = value;
[sage] 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が正しく初期化されていないとエラーが出てしまいます。
対策方法有りましたらご教授お願いします。
[sage] 2013/11/26(火) 01:34:13.43
何をやりたいか整理して話してください。
・使いたい型はuchar?float?
・チャンネル数は1?4?
・書き込みたい値の型はint?
いろいろ混ざりすぎて何やりたいかさっぱり
[sage] 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は正常な数値を示しています。
[sage] 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, ・・
のように浮動小数点で全く違う値が表記されてしまいます。
正確に表示させられるようにするにはどうすればよろしいでしょうか。
[sage] 2013/11/26(火) 18:45:15.35
cout << (int)d<< endl;
[sage] 2013/11/26(火) 19:01:57.22

よく分かってないけど、mat.at<int>って、doubleとintの間で数値を変換してるわけじゃなくて、
ポインタのキャストみたいに本来doubleの所に無理やりintの値を書き込んでるのでは?
[sage] 2013/11/27(水) 13:00:00.30

すいません、よく見たら2.4.3のリファレンスでした
[sage] 2013/11/27(水) 21:45:12.28

返信ありがとうございます。そのようですね…
Mat_ <int> で宣言することでintを扱うことが出来ました。
皆様有り難うございました。
[sage] 2013/12/01(日) 02:48:23.32
boost.gilを何で使わないの
[sage] 2013/12/01(日) 09:30:17.78
boostが嫌いだから
[sage] 2013/12/02(月) 00:58:13.62
ttp://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のままで行いたいです。お願いします
[sage] 2013/12/02(月) 02:28:21.80

詳しくは調べてないけど、flannのmatcherだとorbやfreakで落ちる。freakのサンプルみたいにBF matcherではいかんの?
[sage] 2013/12/02(月) 03:21:12.84

大量の画像とマッチングする予定なので「力づく」の探索はどうにも・・・

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

新たに検索してみたところ
ttp://opencv-users.1802565.n2.nabble.com/how-to-use-the-ORB-descriptor-td6606424.html
このページがそれに該当するようなのでもう少し見てみます
お騒がせして申し訳ありませんでした
[] 2013/12/08(日) 02:10:22.87
画像処理の論文は理想的な画像でやってるのばっかだから
[sage] 2013/12/08(日) 08:51:18.69
たくさんの画像セットで実験してみて一番良い結果が出るものを載せます
[sage] 2013/12/14(土) 17:26:45.78
kinectと組み合わせてプログラム書いてんだけど
CV_16UC1のcv::Matのdataにushort型の値を代入しようとしたらucharにキャストされる。
16UC1でメモリ確保してるんだしなにかうまい代入方法ってない?
[sage] 2013/12/14(土) 23:26:59.31

cv::Mat_<ushort>を使う
[sage] 2013/12/15(日) 01:51:12.29

.dataでアクセスしたら相変わらずucharじゃねえかって思ったら()でアクセスできるのか。
㌧クス
[sage] 2013/12/16(月) 15:21:08.36
static_cast<ushort *>(mat.data)[i]とかじゃない?
dataって一応uchar *の型が指定してあるだけの単なるポインタだよね。
[sage] 2013/12/16(月) 15:21:57.98
すまん間違えた、static_castじゃなくてreinterpret_castだった。
[sage] 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です。
[sage] 2013/12/18(水) 12:36:58.31
入力画像の先鋭度を測るプログラムはOpenCVで作れますか?
[sage] 2013/12/18(水) 14:06:23.74

すみません自己解決しました。
どうやらリンカの設定が甘かったようです。
ありがとございました。
[sage] 2013/12/18(水) 23:08:53.76

ver2.42以降を使う
[] 2013/12/20(金) 14:54:14.84
traincascadeから出力したxmlは、haartrainingから出力したxmlと中身というか書式が違いますよね?
[sage] 2013/12/21(土) 21:44:55.09
OpenCV 2.4以上、VS2010でOpenEXR対応の
64bitビルドを行いたいのですが、必要な
ライブラリとか手順とかの情報ってどこかに
まとまっていないでしょうか?
そもそも、このような構成でのビルドは可能ですか?
OpenCV単体のビルドは何度かやっているのですが、
外部ライブラリとの連携は未経験です。
[] 2014/01/01(水) 23:45:38.65
画像を回転させると角が切れちゃうんですが、バグですか?
[sage] 2014/01/02(木) 20:02:40.98
昔からあるバグだな諦めろ
今時、opencvなんて使うのはダサイ
[sage] 2014/01/02(木) 20:29:34.31
それのどこがバグなんだ
[sage] 2014/01/02(木) 20:47:44.38
OpenCVではそのような仕様です。
[sage] 2014/01/03(金) 01:10:20.29
額縁の中で絵を回転させたら角っこがはみ出るのと同じ。
額縁の大きさ(画像サイズ)を変えないと。
[sage] 2014/01/04(土) 14:47:26.55
今時OpenCVって・・・
オワコンじゃん
[sage] 2014/01/04(土) 14:56:27.13
115殿には是非今一番アツいCVライブラリを
御教示頂きたいものだ。

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

Halconは職場で使ってるけど、オープンじゃないのがね。


俺は99%Pythonからしか叩かないわ。
実行速度は課題だけど、C++特有のストレスから
解放されるだけでも十分使う価値あると思っている。
[] 2014/01/05(日) 23:51:23.11
c#のラッパー不便だわ
[sage] 2014/01/06(月) 11:45:26.63
OpenCV3.0から公式でC#対応だからそれ待とう
[sage] 2014/01/07(火) 22:43:16.45
cv::imreadで画像を読み込む場合、その画像が
カラーテーブルを持っているかどうかはどうやって判断するんですか?

気にせず読み込めますが、グレースケールの画像を読み込んだのに
グレースケールボタンが押せるのはおかしいので・・・
[sage] 2014/01/08(水) 05:07:41.61
Halconなんて工業製品のパターンマッチングとかで使われる高価なパッケージでしょ
そりゃフリーなら喜んで使うけどOpenCVスレで何言ってんの?って感じ
[sage] 2014/01/08(水) 13:44:04.71
お金なら払うからOpenCVの呪縛から逃れたい
[sage] 2014/01/08(水) 13:48:23.96

cv::Matのチャンネル数見るとかかな?
チャンネル数1ならグレースケール画像
チャンネル数3ならカラー画像
[sage] 2014/01/09(木) 00:14:07.27
最近は画像の入出力にしか使ってないや
読み込んだあとはEigenに変換してる
[sage] 2014/01/10(金) 03:15:52.96
Python版はNumpyに放り投げてるわけだし
C++版もcv::Matとかクソ扱いにくい仕様やめて
Eigenに放り投げるよう再設計すべきだよね、常々思うわ
[sage] 2014/01/10(金) 03:37:29.21
内部でEigen使ってなかったか
確かコンパイルに必要だったような
[sage] 2014/01/10(金) 07:00:59.79
確かにEigenは必須ライブラリだったはずだけど、
cv::Matは画素アクセスとか面倒だよね。
2月にはOpenCV3.0出るって言ってるけど、
使いやすくなってるのかな。
[sage] 2014/01/10(金) 18:58:18.52
新しいバグが皆様をお待ちしています
[sage] 2014/01/11(土) 09:26:40.10
どんな言語もフレームワークの善し悪しで流行る・流行らないが決まっちゃうほどだし
やっぱライブラリの使用が如何に簡潔で解り易いかってとても重要だと思うなー
逆にプロプライエタリなフレームワークが使い易かったことって一度もないけど
[sage] 2014/01/14(火) 23:39:42.24
画素アクセスをsrc(y,x,ch)みたいな仕様にしなかったのは何でだろうね
[sage] 2014/01/16(木) 19:30:45.40
Python版はその仕様だよ、みんなC++やJavaみたいなクソ言語は捨ててPythonを始めよう
[sage] 2014/01/16(木) 23:42:16.16
pythonは一度も触ったことないんだけど、MATLABみたいな感じ?OpenCVの関数は基本的に全部移植されてるの?
[sage] 2014/01/17(金) 01:00:01.15
俺もPython良く知らないんだが
Pythonの新しい企画には対応してないとかなかったっけ?
[sage] 2014/01/17(金) 17:49:43.20
OpenCVがpython3に対応したら、おれもpythonの勉強するんだ...
[sage] 2014/01/17(金) 23:00:57.70

基本的な機能は抑えてるけど新機能は対応してないことも多々あるね
例えばこのあいだの動画の超解像とか
個人的にはヘタするとMatlabより使いやすい


Python3には対応してないけど対応する予定はあるらしい
互換性はないけどPython2でも3でもたいして変わらない
[sage] 2014/01/21(火) 11:09:40.56
IplImage *pImg = cvCreateImage( ... );
{ cv::Mat M( pImg ); }

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

なにかよい方法はありませんか?
[sage] 2014/02/12(水) 21:21:09.67
まずテンプレートマッチングによるOCRを諦めよう
[sage] 2014/02/12(水) 21:44:08.93
切ない
[sage] 2014/02/13(木) 00:53:20.34
空白以外が検出できているなら文字間隔から空白があるか予測して補間すればええやろ
[sage] 2014/02/14(金) 20:04:07.02
[速報] STAP細胞に捏造の疑い
ttp://hayabusa3.2ch.net/test/read.cgi/news/1392271386/


画像処理の専門家の皆様
検証してください
[sage] 2014/02/17(月) 01:14:00.03
同じ細胞から作ったコピー細胞なら画像似てても仕方ない気がするが
[sage] 2014/02/19(水) 16:00:08.31
簡単に技術盗まれないように
肝心な部分はぼかしてるんだよ
[sage] 2014/02/23(日) 14:28:02.11
パンチルトカメラで顔を追いかけるプログラムって
どこかで公開してないでしょうか
[sage] 2014/02/23(日) 14:58:38.80
顔の座標とれるんだったら
一定時間でとり続けて差分でどっち動いたか判断してそっちにカメラ動かすだけだろボケが
自分でやれよ。
[sage] 2014/03/01(土) 10:06:44.01

IPカメラのIPアドレス指定してCvCaptureに動画をとりこむことは出来るけど
パンチルトカメラの首を動かす方法がカメラの種類によってコマンドが違うみたい
カメラの首を動かす方法はどうやって調べたらいいのでしょうか

ttp://robocv.blogspot.jp/2012/01/using-your-ip-camera-with-opencv.html
perl cgiでコントロールできるモジュールが
あるみたいな記述があちこちのサイトにあるけど
その肝心のソースコードがどこさがしてもない
[sage] 2014/03/01(土) 10:58:08.87
共通規格があるわけでもなし当たり前のような気がする
[sage] 2014/03/01(土) 11:14:43.25
ttp://www.openipcam.com/forum/index.php?topic=174.0
>yes you can control most of the functions from any language via http protocol as detailed in the IPcam CGI Manual

ttp://www.openipcam.com/files/Manuals/IPCAM%20CGI%20SDK%202.1.pdf
[] 2014/03/03(月) 01:19:53.97
OpenCV初心者です

現在OpenCV2.4.7を使用しています
かなり基礎的な質問で申し訳ありませんが、2.4.7内の関数の使い方を全部掲載しているサイトなどはありますか?
[sage] 2014/03/03(月) 06:52:13.31
2.4.7にこだわる必要は?
英語は読めるか?
[sage] 2014/03/03(月) 07:32:37.24
読めたらこんな肥溜めで聞かないっすよハハハご冗談を
[sage] 2014/03/03(月) 07:50:12.86
じゃ、中学英語からやり直しだな。
[] 2014/03/04(火) 04:07:36.16
英語は読めます
学生で、部活内で使われているものが2.4.7です

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

教えていただけると幸いです
よろしくお願いします
[sage] 2014/03/04(火) 05:41:42.38
じゃ内蔵か公式でいいだろ。
[] 2014/03/05(水) 00:57:21.51
公式→ ttp://docs.opencv.org/2.4.7/
まぁ本当に全部っていうとソース読めってなるんだけど
[] 2014/03/05(水) 03:30:21.82

ありがとうございます!
[sage] 2014/03/16(日) 11:42:13.20:jg6pkE2L
OpenCVのプログラムコードの一部だけ論文に転載するのって
著作権的にはOpenCVへのリファレンス書いてたら問題ないの?
[] 2014/03/22(土) 20:56:49.83:k2pZAvlI
opencvで手を検出する方法って無いかな?
[sage] 2014/03/22(土) 23:48:35.77:vWqdj/xE
手を学習させるしかない
[sage] 2014/03/22(土) 23:58:03.89:Nsic/UJL
このスライドでOpenCVでのおっぱい検出を紹介してる
ttp://www.slideshare.net/yusukebe/oppaidetect-3

おっぱい画像の代わりに手画像を使えばよし
[sage] 2014/03/23(日) 18:08:13.43:Zo8uS5e/
僕はおっぱいの方がいいです
[sage] 2014/03/24(月) 10:44:54.88:LYAKQKT8
OpenCVでジャンケン処理のがあったような
[] 2014/04/01(火) 00:11:48.63:+BzQu1X1
WindowsでMinGW版無くなっちゃったのか。
VC版はやたら充実してるけど。
[sage] 2014/04/08(火) 01:19:18.31:1cdjmKJQ
OpenCVの超解像度処理
ttp://whoopsidaisies.hatenablog.com/entry/2013/12/03/021133
と、この超解像度処理ってどっちが画質いいの?
速度は別に遅くていい
ttp://cas.eedept.kobe-u.ac.jp/WelcomeES1/OpenSoft/SRApplications/
ttp://loggialogic.blogspot.jp/2012/06/neurondoubler.html
[sage] 2014/04/08(火) 10:55:45.86:jqyPRMUU
画質良いの定義が難しいからなー
画像によって処理が合ってるかも変わるだろうし
自分でやってみて拡大してみるのが一番いいんじゃね
[sage] 2014/04/09(水) 05:28:50.56:kyXLUR/c

サンプルプログラム
opencv-2.4.8.2/samples/gpu/super_resolution.cpp
がコマンドラインから超解像動画を自動生成できるみたいなのですが
1分ぐらいの動画でも一晩ずっと動かしてもとまらなくて
生成した途中結果表示みてみると
最後まで行った後、まさ最初に戻って何度も同じ動画を処理してるみたいです
バグでしょうか?
main内のforループも終了条件ないですし
[sage] 2014/04/09(水) 05:35:53.50:kyXLUR/c

ttp://stackoverflow.com/questions/18151806/superresolution-nextframe-bug

同じエラーだと思うけど
見当違いな回答ついてた

どうやって無限ループ止めて、変換された動画を保存すればいいんだ
[sage] 2014/04/09(水) 10:32:57.88:+JqWH5tw
動画の補完限定なん?
静止画数枚でテスト出来ないんかな
[sage] 2014/04/10(木) 21:10:26.65:0LeWO1pv

>静止画数枚
の例らしきものも同じディレクトリにあった
[sage] 2014/04/16(水) 04:46:28.93:GTugkpJK
暗い部分だけ選んで明るくするというの
ttp://aska-sg.net/psegogo/pse007-20051207.html
Photshopでは出来るみたいだけど

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

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

vReavalという超解像のソフトがなくなってしまって
それが持ってる機能が欲しい
[sage] 2014/04/16(水) 04:56:22.60:GTugkpJK
ttps://groups.google.com/forum/#!topic/javacv/nU-RyyGV1Q0
grabber.setDeinterlace(true);
なんて機能があるんだな
[sage] 2014/04/16(水) 05:01:35.49:GTugkpJK
ttp://stackoverflow.com/questions/11176585/how-remove-shades-from-partially-shaded-image
影の除去はOpenCVの中にないみたいで
誰かの書いたプログラムを使うしかないみたいだ
[sage] 2014/05/01(木) 00:05:58.73:ZaFC896P
Javaで画像処理をしたいと思い、勉強してます。
JavaCVではなく、OpenCVのJavaライブラリを使ったプログラムを
勉強できるサイトなどありましたらご紹介いただけないでしょうか?

書籍は「Javaで始めるOpenCVプログラミング」を読んでいます。
[sage] 2014/05/02(金) 18:14:12.21:FavlRh/W
OpenCVのPythonインターフェイスが
次々と出来ては消えて行くのは
何故?
[sage] 2014/05/02(金) 19:06:28.99:3yVYO9UY
C#でOpenCVSharpのBitmapConverterってどうやって使うんですか?
名前空間OpenCvSharpには存在しませんでした
環境はVS2013でパッケージはNuGetを使ってOpenCvSharp x64を使ってます
[sage] 2014/05/03(土) 14:41:32.83:CxgHBGu5
画像認識に興味があり、OpenCVを勉強し始めました。

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

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

カメラで斜めから撮影した長方形の物体の縦横比を求める方法が知りたいです。
どうかよろしくお願いします。
[sage] 2014/05/03(土) 16:01:30.66:7aUixRL2
ピンホールカメラモデルを考えて式を立てればどういう計算で縦横比が求まるかと、どこまで条件を揃えてないといけないかがわかると思うけど、
そのための関数ってのは特にないんじゃないかな。
長方形の縦横比、カメラの回転並進で合わせて7つの自由度があるから、少なくともカメラの内部カメラパラメータがわかってれば
長方形の4点が認識できれば8つの拘束条件ができるから計算はできそうな気がする。
[sage] 2014/05/04(日) 17:21:39.74:fCcJcCq3

OpenCvSharpからOpenCvSharp.Extensionsに移ったみたいなので、
using OpenCvSharp.Extensions;
をソースに追加。
[sage] 2014/05/04(日) 21:14:46.83:r4KxBlfT

出来ました!
ありがとうございます
[sage] 2014/05/14(水) 17:05:02.60:rwJimwKG
>183
画像上での4頂点に対応するカメラ座標系でのレイ(無限直線) と ある平面 との交点を求めたときに
その4交点が長方形になってるような平面を求めればいいんだろうきっと.
4つの交点を結んだ四角形の四つ角が90度にならなければいかんぜよ という条件とかから
適当に目的関数でも立てて最小二乗法とかでやればいいんじゃないか?

なんとなくだが平面が通る点をどこかに適当に定めてしまって
平面の法線方向だけについて解けばいいような気がする
[sage] 2014/05/15(木) 06:22:41.08:Lu6xBiPe
まだこの話題続いてたんか。
つい最近トラ技だかInterfaceだかで車のナンバープレートを
矩形化する記事があったが、あれも確か縦横比使わないで
画像解析だけで何とかしてたはず。
[sage] 2014/05/15(木) 20:19:55.65:AHCN3ZxT
ナンバープレートで縦横比を使わない理由を知りたい
[sage] 2014/05/16(金) 16:38:03.76:s19zIB3X

だけど確かにその方法でいけるね。
最小二乗法を使うまでもなく代数的に解けるようなレベルのような気がする。
4点がそれぞれp1,p2,p3,p4だったら、レイ上のどこに来るかっていう適当なスケールパラメータs1,s2,s3,s4を考えて、
あとはs2p2-s1p1とs4p4-s1p1の内積が0かつs2p2-s3p3とs4p4-s3p3の内積が0になるようなs1~s4が求まればおしまいだから、
4元2次の連立方程式かな?
[sage] 2014/06/08(日) 15:21:16.86:Yfbf5viA
OSXでopencv2.4.9を自前ビルド、静的リンクしてc++プロジェクトで使ってます。

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

カメラはELECOMのLAN-NCW150/sという代物
EdimaxのOEMらしい
[sage] 2014/06/10(火) 00:28:26.09:l3mk+UpB
sureti
[sage] 2014/07/16(水) 18:10:38.18:KS0mSvxR

できるよcv::VideoCaptureにurl食わせてやればいいだけ
[sage] 2014/07/18(金) 09:12:29.83:6ptJYAb2
すまん勘違いした動画じゃなく画像か
の言うとおりだった
とにかくBitmapで取得して変換すればよい
[sage] 2014/07/28(月) 01:22:31.35:mYwHNxaR
OS XのCocoaでOpneCVが使いたいんですがStackOverFlowなど読んでもCommand Line Toolが前提っぽいんですがGUIで利用できないんでしょうか
こういう開発環境や導入見ても如何にWin+VSが優れてるかわかりますよね、Mac本当に面倒くさい・・・
[sage] 2014/07/28(月) 08:41:59.05:W479DJN1
>如何にWin+VSが優れてるかわかりますよね
>如何にWin+VSが優れてるかわかりますよね
>如何にWin+VSが優れてるかわかりますよね

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

おまけにちょっとググったらすぐ情報見つかった。
もう少しきちんと探してみることだな。
[sage] 2014/07/28(月) 09:01:49.48:4U744+ky
煽ったら何か出て来るだろうっていういつものことだな
自演でなければ
[sage] 2014/07/28(月) 10:08:36.22:6PTOiSTS
OpneCVって書いてる時点でネタじゃね?
[sage] 2014/07/28(月) 10:17:48.66:DZRfdeT4
Mac が面倒なのは同意
Mac 使ってるひとの理由の大半はタダの Linux で充分なことを求めてる
[sage] 2014/07/28(月) 14:58:49.09:HEMYcELC
Xcodeで使うのはWin+VSで使うのとそんなに変わらないんうじゃないの?
[sage] 2014/07/28(月) 15:49:46.27:+qczOS9S
まぁ普通に考えて釣りだろうな
[sage] 2014/07/29(火) 09:40:36.12:XqwAyXgE
そもそもサポート対象じゃないライブラリを無理矢理動かして使えないからダメって
そりゃそうだとしか言えんはw
[sage] 2014/07/29(火) 12:24:14.98:C4uRegUO
It has C++, C, Python, Java and MATLAB interfaces and supports Windows, Linux, Android and Mac OS.
[sage] 2014/07/29(火) 13:42:17.24:ufPt6u02
そりゃそうだ
[sage] 2014/07/29(火) 14:14:08.12:jphC97zf
がタコなだけ。XCode経由で開発可能。
[sage] 2014/07/29(火) 14:49:59.07:C4uRegUO
Windows版と違って公式にビルド済みのバイナリが置いてないから使えねえって言ってるのかな。
[sage] 2014/07/29(火) 16:17:37.43:XqwAyXgE
いつの間にかMacに対応してたんかw
[sage] 2014/07/29(火) 19:31:25.75:G5pzGNQD
とっくに対応してる。
CV系の学生はMacユーザ多い。
[sage] 2014/07/29(火) 20:11:21.32:wJysvYLW
へーすごいじゃん
[sage] 2014/07/30(水) 09:56:18.07:1/A7uemL
CV系の学生って何ぞ?w
自分で計算出来ないからライブラリにやってもらって
自分は何もわかりませんとか?
[sage] 2014/07/30(水) 10:38:09.10:a5Boy+67
あー言っちゃったね
マカーのプライド傷つけるとどうなるか、身を持って知るといいよ
[sage] 2014/07/30(水) 11:22:16.37:WJIQUzOh
最近は、GLSL触るだけで画像処理の専門家なんだそうで、
SPIDERもOpenCVも何それな専門家が増えているからなぁ
[sage] 2014/07/30(水) 11:29:05.41:uRtAxpuT

ま、別にライブラリ使ってもいいんじやない?
巨人の肩に乗ってる事を忘れなければ。
[sage] 2014/07/30(水) 17:52:05.16:o5oNS4FN
OpenCVに限らないが、入出力のような本質から外れる部分はライブラリを使ってどんどんすっ飛ばせばいいよ
[] 2014/08/05(火) 04:51:02.99:9rn9hAyi
opencvのSIFTを利用してCSIFTのプログラムを作成したいのですが、このアルゴリズムの詳細がわかる方いますかね?
[] 2014/08/05(火) 06:23:24.18:iLUP5Qqd
CV系の学生はMacが多い。
[sage] 2014/08/05(火) 08:04:29.38:g+jSehjL
要約すると、まずMacを買います
[sage] 2014/08/05(火) 09:32:53.42:b7WOmae8
Windows版に慣れてからMacに移植した方が覚えやすくね?
[sage] 2014/08/05(火) 10:47:04.82:g+jSehjL
御託を並べて抵抗するな
はやくアップルストアに行け
[sage] 2014/08/05(火) 10:58:04.20:b7WOmae8
Mac版のメリットってあるの?
Windows版の方が情報多くて楽だろ
[sage] 2014/08/05(火) 15:07:57.13:62hFeqDo
インストールの時しか違いなくね?
[sage] 2014/08/05(火) 18:01:10.63:62hFeqDo
だいたい、自分の環境でのビルド方法なんかcvに手出す前に
身につけて置くべきもので、
WinがMacがと取り立てて騒ぐ事かと。
[sage] 2014/08/06(水) 00:51:29.25:8ExcCRgz
ある凸多角形に収まる最大の円の大きさを求める関数ってないだろうか
[sage] 2014/08/06(水) 01:31:12.83:HwMXtVfI

正で無い場合はどうするの?
[sage] 2014/08/06(水) 04:10:33.25:8MuRWHTL
質問失礼します。
入力画像が、複数あるテンプレート画像の中のどの画像と最もマッチングしているかをSURFを使って調べるにはどうしたらよいでしょうか。
最近openCVを使いはじめましたが、プログラミング自体初心者であるため、調べ方もよくわかりませんでした。
よろしくお願いします。
[sage] 2014/08/06(水) 07:02:54.60:s3k6pRY3
宿題は宿題スレへ
[sage] 2014/08/06(水) 09:40:04.85:pG2jkmH+
「openCV SURF 特徴量」でググる
[sage] 2014/08/06(水) 09:53:44.98:4kkHNvLc

正でない場合の方が簡単かも知れない
[sage] 2014/08/06(水) 10:08:10.43:hZwvBCN3

正の場合、重心求めて任意辺の中心との距離で求まるかと
思っていたけど間違っている?
[sage] 2014/08/06(水) 10:27:05.54:4kkHNvLc
正でない場合は?
[sage] 2014/08/06(水) 11:33:33.49:hZwvBCN3

解無しを簡単に排除する方法が思い浮かばない。ので
聞いたのだが?
[sage] 2014/08/06(水) 12:01:45.62:SdQ91ssL
ID:4kkHNvLcは軽くアスペっぽいなw
[sage] 2014/08/06(水) 12:31:08.53:ja0exmtr
数値解法でいいなら単なる最適化問題だからそんなに難しくないんじゃない?
解析的に求まるかはわかんないけど、円に接触しない辺が出てくるし難しそう
解なしの場合なんてある?
[sage] 2014/08/06(水) 13:07:28.11:efD44RpZ
剛体シミュで風船でも膨らませようず
[sage] 2014/08/06(水) 18:28:41.82:ocpD1szo
それって画像で考えると
凸多角形の輪郭線からの距離画像を作ったときに最大値になる点が求まればいいってことだよね?
じゃあ それを解析的にやるとしたら… どうすりゃいいんだ?
図形の輪郭を徐々に小さくしてくことを考えると
各頂点は角の2等分線の方向に縮んでいくような気がするが
どこか(別の2等分線との交点?)で別の頂点と合体してその後は縮んでく方向が変わる
その合体後の方向ってのがどうなってんのかわかればそれを最後までやって
一点になる位置を求めればいいのか うん,わからん
[sage] 2014/08/06(水) 19:03:36.54:utL+F4QU
最早OpenCV関係ないじゃん。
[sage] 2014/08/06(水) 23:21:57.96:ja0exmtr
のを読んでて思ったけど、
凸多角形のそれぞれの辺を内側に向かって同じだけ並行移動させつづけると、どこかで内側のエリアが3角型になるか、線分になるか1点になって、
3角型の場合はその3角型の内接円の半径に辺の移動距離を足したものが内接円の半径になりそうな気がする。
線分になる場合や1点になる場合は辺の移動距離が半径になりそう。

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

ああそうか、交点と辺の距離を計算してn-3個目に小さい距離がn角型を3角型にする辺の移動距離だから、そのときに出来る3角型を求めれば最大の内接円が求まるね。
[sage] 2014/08/07(木) 07:45:52.87:eLx8dP5N
お利口さんが一丁前に語り始めたぞ
[sage] 2014/08/07(木) 08:24:03.90:46u2Shxn

内接と勘違いしてたわ
[sage] 2014/08/07(木) 08:41:34.09:DfYUpYGn
そごうのマークみたいな図形だと解なし?
[sage] 2014/08/07(木) 09:44:58.33:SmvqWYAn

四角形の場合、辺の長さをAからDとした時 A+C=B+Dなら
解あり。そごうのマークはこの条件を満たしているが線分が
交錯しているので解無し。
[sage] 2014/08/07(木) 11:06:36.77:DfYUpYGn
そういえば凸って書いてありましたね
[sage] 2014/08/07(木) 11:13:37.53:JwmJHSWk
どうでもいいが
>剛体シミュで風船
って矛盾してないか?
[sage] 2014/08/07(木) 22:16:58.85:xHydUS5J
物理シミュレーションって言いたかったんじゃね
[sage] 2014/08/07(木) 23:51:01.58:yuOaZbMp

A+C=B+Dという判定式はどっから来たんだろう?
A+C!=B+Dでも解が存在する場合はあるし、==でも存在しない場合もあるし。
[sage] 2014/08/07(木) 23:53:51.82:3T9P4myy

ttp://www.altmc.jp/primer/lessons/40C/2060.html
[sage] 2014/08/07(木) 23:55:27.57:yuOaZbMp
ああ、問題を誤解していた。すまん。
[sage] 2014/08/08(金) 05:42:34.82:1UU7vf/D
問題を誤解してコメントしたひとのレスを読んで
さらにそれを誤解してコメントする訳ですね
[sage] 2014/08/08(金) 22:57:18.40:m1BHtAY+
このプログラムを元に認識した物体の大きさと奥行きを
求めようとしているのですけどH=167ってなんの値なの?

ttp://python-gazo.blog.jp/opencv/%E5%8D%98%E7%9C%BC%E3%82%AB%E3%83%A1%E3%83%A9%E3%81%A7%E8%B7%9D%E9%9B%A2%E6%B8%AC%E5%AE%9A
[sage] 2014/08/09(土) 00:36:11.65:l2WdSHx9
RGB -> HSV
[sage] 2014/08/09(土) 12:14:20.14:8bubdD6k

流し読みだけど定数だからボトルの高さ167mm じゃね
[] 2014/08/12(火) 18:51:29.00:0jK/pM8y

認識した物体(緑のボトル)の実際の高さ
[sage] 2014/08/15(金) 01:41:54.60:520GhRWF

>opencv-2.4.8.2/samples/gpu/super_resolution.cpp
なんだけどCUDAで計算しても全然遅い
CPUで計算する方がはるかに高速
ある程度以上のビデオカードでないとCUDAの恩恵得られないって事なのかな
ちなみにGforce GT420です
[sage] 2014/08/15(金) 05:19:16.89:B7ab7tDG
GT420のCUDAコアは48基
現在のミドル帯で最も普及したであろうGTX660で960基
Titan blackで2880基
無い方がマシかもよ

それ以前にGeforceは倍精度演算コアが以下略なんだが
[sage] 2014/08/17(日) 21:21:12.88:NSOavDRB

このプログラムは
メモリー1Gのビデオカードだと
デフォルトの設定でCUDAが動かない

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

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

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

[sage] 2014/08/22(金) 14:01:56.07:GaAVVgAP

データ律速だと、速くならない。
ましてや、安いビデオカードはPCIeバスもメモリも遅いから、なおさら。
[sage] 2014/08/22(金) 19:55:09.56:lWYFWd0+
その数千円レベルだと数枚挿そうが
CUDAコア少なすぎて無い方がマシ
貧乏人は麦でも食ってろ
[sage] 2014/09/19(金) 13:25:16.13:KzrQAxPc
Linuxでパッケージのアップデートしたら

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

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

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

ひょっとしてOpenCVのソースをいじらないと
治らないのでしょうか
[sage] 2014/09/19(金) 15:05:26.65:jYrXBJy/
そのopencvはソースから入れたのかい?
[sage] 2014/09/20(土) 02:11:43.41:NyWaXORh

ttp://stackoverflow.com/questions/25013234/opencv-error-assertion-failed-vc-isopened-in-reset
[sage] 2014/10/01(水) 22:31:44.66:XCx5LgPk
javascript版OpenCVクル━━━━(゚∀゚)━━━━!!
[sage] 2014/10/23(木) 14:19:21.95:cfpTx2oa
現在挑戦していることでわからない点があるのでなにかアドバイス頂きたいです。
動画を読み込みハール分類器により顔と目領域を検出します。
次に目輪郭を cvFindContoursで探し、輪郭を検出しcv虹彩に楕円を当てはめようとしているんですが
ビルドは成功しますがソースコードの輪郭を構成する頂点座標を取得
tmp = CV_GET_SEQ_ELEM (CvPoint, contours, -1)の部分でオーバーフローしてしまいます。
またcvHaarDetectObjectsで顔検出では動作しますが目領域の際にエラーがでます。
どなたかこの原因と考えられる対策など教えてください
[] 2014/10/23(木) 14:55:24.63:RjBQcz8M
ぬるぽ
[sage] 2014/10/23(木) 16:15:19.56:cfpTx2oa

ヌルポインタが原因のようですがなぜ顔検出では起こらず、
目領域の検出でぬるぽになってしまうのでしょうか?
[sage] 2014/10/23(木) 17:21:56.36:RjBQcz8M
この続きを見るには最低限のソースが必要です
[sage] 2014/10/24(金) 10:34:29.00:TztPkxVQ
普通に考えると目を検出する範囲が間違ってるとしか思えんは
[sage] 2014/11/25(火) 05:14:16.36:5019Bxp0
ttp://pukulab.blog.fc2.com/blog-entry-41.html
を参考にしてORBを使ってみたら500点までしか特徴量を計算してくれないんですが、上限はどうやったら増やせますか?
[] 2014/11/25(火) 13:19:38.85:dMEv4AW9
ttp://docs.opencv.org/modules/features2d/doc/common_interfaces_of_descriptor_matchers.html
DescriptorMatcher::create
BFMatcher::BFMatcher
ttp://docs.opencv.org/modules/features2d/doc/common_interfaces_of_generic_descriptor_matchers.html
ttp://stackoverflow.com/questions/14759217/running-into-an-error-using-cvbfmatcher-bruteforce-matcher-with-10-100-train
[sage] 2014/12/06(土) 13:45:22.61:eDdnt3jc
OpenCV必要ないな。こんな画像認識技術があったってろくな使われ方しないだろうからな。
[sage] 2014/12/06(土) 13:50:09.44:1MG24EwX
お前の発想が貧困なだけだろ
休みの日に馬鹿アピールとかなかなか有意義な人生送ってますね
死ねば?
[] 2014/12/11(木) 16:55:50.85:6slixBmx
OpenCVでROIを用いて画像の一部を矩形で切り抜き、保存することはできたのですが
矩形以外での多角形で切り抜きは可能なのでしょうか?
[sage] 2014/12/12(金) 10:34:09.04:cSBPjkby
どういう結果を期待してるんだ?
その多角形を包括する矩形で切り出してきてそこから欲しい結果に加工すれば?
[sage] 2014/12/12(金) 10:56:43.21:8BqNZxMW
maskをしらない厨房か
[sage] 2014/12/13(土) 19:54:57.68:c9evB4nk
C++でOpenCVを使っています。
2つのMatを返すメソッドをつくりたいんですけど、どうしたらいいですか?
[sage] 2014/12/13(土) 20:43:07.89:KcZztYF+
何が判らないの
[sage] 2014/12/13(土) 20:48:39.84:aIxuvf1S
OpenCVに限らないだろうよ
C++の勉強をした時に、2つ以上値を返すにはどうすればいいって習った
それと同じようにやれよ
[sage] 2014/12/13(土) 21:33:38.64:FUAf3j5q
vector<Mat> func(){
vector<Mat> retVal;
retVal.push_back(Mat(640,480,CV_8UC3);
retVal.push_back(Mat(640,480,CV_8UC3);
return retVal;
}

だろやっぱw
[sage] 2014/12/13(土) 23:16:02.03:sSU/XTry
ポインタを使えと習いました先生
[sage] 2014/12/13(土) 23:21:20.21:aWFoLZL3
引数がレジスタやスタックに積んで複数渡せる仕組みなんだから
戻り値も同様にして複数返せるようにすりゃよかったのにな
[sage] 2014/12/13(土) 23:27:09.06:76ITaN6j
構造体返し出来るじゃん?
[sage] 2014/12/21(日) 02:06:41.58:ANxxvVGk
ご相談に乗っていただきたいです
現在OpenCV2.4.10とDxLibを併用して使っているのですが、findContoursメソッドを使用すると
ヒープが壊れたというランタイムエラーが発生してしまいます
どうにか回避方法を教えていただきたいです


↓ソースです
ttp://codepad.org/hS14MmrI
[sage] 2014/12/28(日) 19:44:05.79:jxhF3Jvs
usbカメラをキャプチャしたものを遅延再生をおこないたいのですが、どうやって行ったら良いのでしょうか?
[] 2014/12/28(日) 21:06:23.20:q/AaEctr
ttp://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=past&no=1837
2014/4/13 17:28 最新版で正常に動作しなくなっていたので、サンプルプログラムを修正
[sage] 2015/01/06(火) 09:32:07.97:WtIOryr0

メモリに溜めて後から描画しろ
[sage] 2015/01/08(木) 20:27:47.23:O2t7YOr0
FASTでコーナーだと検出するときの連続画素数の閾値はデフォルトだとどうなっていますか?
[] 2015/01/13(火) 10:26:33.93:MMza42nd
ttp://fast-uploader.com/file/6976667806149/
この画像の黒い線の結び目に当たる部分を認識させたいのですが、
どのようなキーワードで学べばいいですか?
分類器などを使用するのが一般的ですか?
[sage] 2015/01/13(火) 15:54:42.99:s94tSy9v
本当にこんな画像ばっかりなら、SIFTとかの
画像特徴量で割と行けちゃうかも。
[sage] 2015/01/20(火) 15:23:33.11:5o7d0Dbg
分類器作ることになったんですけどポジティブ画像の識別対象の位置ってやっぱ一個ずつ手作業で打ち込んでいくものなんでしょうか
[sage] 2015/01/20(火) 16:29:23.28:3pY1xTVZ
5次元の行列に添字アクセスするにはどうしたらいいですか?
2次元、4次元はわかるんですが5次元がわかりません...
[sage] 2015/01/20(火) 20:39:11.06:Y9tiW1z+

どうやろうとして、どんな結果になった?
[sage] 2015/01/20(火) 20:56:16.12:3pY1xTVZ

M.at<cv::Vec5d>(i, j, k, l)[m]
とやろうとしましたがそんなメソッドねーよと怒られました
[] 2015/01/21(水) 19:48:55.20:e4jAYfur
複数の画像からvecファイルを作る、もしくはvecファイルを統合できるソフトをご存じの方いらっしゃいませんか
[sage] 2015/01/25(日) 20:54:25.32:KAfsZrfd
cv:Matって五次元配列作れたんだ、知らんかった。
[sage] 2015/01/26(月) 02:28:59.98: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]とかでしょ?
[sage] 2015/01/26(月) 03:03:54.38:WkuUMMZg

そうなんですか。
ちょっとよくわかってないのですが、4次元の行列操作も根本的に勘違いしてるかも知れません。
とりあえずやりたいことは、4および5次元行列の、
添字(k, l, m,・・・)で指定した要素を読み書きすることだけです。
OpenCVはバージョン2.4.9です。
多次元行列(a.k.a cv::MatND)がcv::Matに統合されたと聞いたのですが、、、
[sage] 2015/01/26(月) 03:52:20.37:Csz3wp0v

ごめん。知識が古かった。

ttps://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
[sage] 2015/01/27(火) 11:35:04.56:XdRp3tMm
なるほど、at<要素の型>(添字のベクトル)
でアクセスできるわけですね。
ベクトルじゃなくて()内に直接添字を列挙できるのはその特殊な場合(2次元など)
ということですね。
4次元のときにat<要素の型の4次ベクトル>(添字3個)[4個目の添字]
でアクセスできていたのがよくわかりませんが、、、
[sage] 2015/01/27(火) 22:57:00.54:M/7C5R6V

あんまりちゃんと追ってるわけじゃないんで正確じゃないけど、一番最後の添字にはそうやってアクセスできるっぽいね。
Mat::at(i,j,k)とMat::ptrの実装を見る限りでは。
[] 2015/02/03(火) 11:51:54.66:QhWvOAvq
カスケードファイルを使って物体認識するところを、
(重いだろうけど)、DeepLearning(DCNN)で認識させる実装やってるんだけど、
ふと既に誰か作ってるんじゃないかと思ってググったんだが、どこにもないな。
誰もが考えそうなものなんだけど、何故だろう。
[sage] 2015/02/03(火) 16:02:43.10:kIB1JzEf
雑誌で既にやられてるけどな、それ
[] 2015/02/04(水) 09:55:03.50:tcl4NYuY
>303
やられてるんですね。
だいたいは、物体抽出だけカスケードで抽出して、
その後DCNNかける例ばかりだったので、
物体抽出の精度に依存していやだなーと思ってました。

ちなみに、雑誌って、Interfaceとかですか?
[sage] 2015/02/04(水) 23:02:20.07:0iFEuduR

コンピュータビジョン最先端ガイド
[sage] 2015/02/05(木) 00:25:52.75:K64xlR7w
コンピュータビジョン最先端ガイド
毎年12月に出版されてたのに去年はなかったね。
もう出さないのかな?楽しみにしてたのに。
[sage] 2015/02/05(木) 18:12:50.13:Gs19atd2

ありがとうございます。
参考に買ってみようかな。
[sage] 2015/02/06(金) 13:40:37.10:R6ORDrzG
最先端ガイドは4からあんまり目新しくなくなったから、買ってないなー
[sage] 2015/02/10(火) 16:44:31.92:cXmIgxNn
基本的なことですがSIFTとSURFの違いってなんですかね?
使ってて基本的にSURFの方が早いことはわかりますが
それぞれどういった特徴に対して特徴ベクトルを出してるんですかね?
[sage] 2015/02/10(火) 18:17:04.75:TdqTHqPt

ttp://news.mynavi.jp/series/computer_vision/029/
ttp://www.slideshare.net/lawmn/siftsurf
[sage] 2015/02/12(木) 16:49:21.14:zuBBOp7q
すいません
行列A、Bがあり、Bは行、列共にAより小さいとします。
いま、Aの一部に、Bをまるごと代入したいと思って、
Mat C = A(Rect(...))
B.assignTo(C)
のように書きましたが、うまくいきませんでした。
assignToの実装を見てみると、typeが未指定(負)だとそのまま目的の変数に代入するような実装になっています。
このような目的では、copyToを使うのが適切ですか?
目的の行列と型・行列サイズが同じならば、メモリの再割り当てはされない(Aに正しく代入される)ことは保証されていますか?
[sage] 2015/02/19(木) 14:50:01.20:MMMfld4J
cv::Matって内部で他のcv::Matとかとメモリ共有してるの怖くない?
constなのに中身が変わってるとかあるわけでしょ
関数型世界からの悲鳴が聞こえてきそうだ
[sage] 2015/02/19(木) 16:07:31.49:Q7B3YZ4l
そんな世界からいくら悲鳴が聞こえたところで興味ねえよ
アホのお前たちは粛々とカーネルだけ書いてろ
[] 2015/03/04(水) 20:48:16.18:g4+m5Y9b
質問です。
カメラからキャプチャしてhaarcascadeを用いて
顔認識することができました。
認識された箇所にrectangleを用いて四角形を作ることができたのですが
その範囲内だけや範囲外だけを塗りつぶしたりぼかしたりはどうすれば
いいのでしょうか?
[sage] 2015/03/05(木) 14:48:33.29:9abmXvwW

その矩形のマスクを作って処理引数の後につける
[] 2015/04/25(土) 00:32:25.75:a0Skgr09
画像にモザイク処理がされているかどうかの判別は可能でしょうか?
[sage] 2015/04/25(土) 00:40:11.01:1VEY2yku
ラベリングでもしたら?
[sage] 2015/04/25(土) 10:13:56.47:GiqwOUcG
モザイクの種類にもよるだろう。
矩形パッチ内の色が均一なモザイクもあるし、グラデーション掛かってるモザイクもある。
前者なら周辺ピクセルの色見るだけだから余裕。
JPEGノイズ乗ってるとか、そういう特殊なのは頑張るしかない。
[sage] 2015/05/22(金) 20:21:31.03:QV4g/O9f
OpenCVってメモリリークしない?
cvInitImageHeader で IplImage を初期化して、
cvResize で 画像をリサイズするだけの簡単なプログラムなんだけど、
プログラム終了時に Detected memory leaks! って言われる。
サイズは24byteとか16byteとか小さいから、画像データではない。なんだろうね。
cvInitImageHeader で初期化した IplImage は開放関数呼ばなくて良いんだよね?
[sage] 2015/05/22(金) 20:31:52.96:j2+sj5Ou
古い関数はろくにメンテされてないしどうだろうな
[] 2015/05/24(日) 12:40:19.91:MEnSJywT
ソース貼れ
[sage] 2015/05/24(日) 21:22:21.00: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.
[sage] 2015/05/24(日) 21:24:24.58:YQmimEgO
ちなみに、cvInitImageHeader を使わずに cvCreateImageHeader と cvReleaseImage を対に使ってもダメだった。
の中身をループに突っ込んでも、メモリリークの量は増えなかったから、
何らかのグローバルな管理領域が開放されてないっぽい。
ということで問題ないっちゃないんだが、気持ち悪い
[sage] 2015/05/24(日) 22:11:52.48:YQmimEgO
ミス
cvCreateImageHeader → cvCreateImage
[] 2015/05/25(月) 17:44:47.84:x3KPbf/f
static unsigned int dst_img[1024][1024], src_img[512][512];

alloc 汁
[sage] 2015/05/25(月) 19:53:58.81:6/qUSWHH
つーか、Willow もインテルもとっくに抜けてるソフトウェアを
使うってどうなんだろ。オープンソースビジネスって成り立つ気がしねぇ
[sage] 2015/05/31(日) 09:23:57.02:o6Fd4Id5
成熟したからでしょ?
[sage] 2015/06/03(水) 11:21:51.60:6cmhZ/7u
adaptiveBilateralFilterのソースってどこにあるのん?
[] 2015/06/04(木) 03:44:59.47:aePucT7k
質問なんだけど、ios版のOpenCVでVideoCaptureのsetとget使えないのって仕様なの?
set(CV_CAP_PROP_POS_FRAMES, 0)で動画の最初に戻りたいんだけど、設定されない。
[sage] 2015/06/04(木) 10:20:15.29:ay3/nzQK
VideoCaptureはカメラ制御だから、動画の最初に戻るのとは違うんじゃね?
cvCaptureFromFileと勘違いしていると予想
[sage] 2015/06/04(木) 11:11:09.22:uKBUJt+N
VideoCaptureはファイルも扱えるのでいけるはず
今やってみたらwindowsでは動く。macは持ってないのでわからず(OpenCV3.0 RC1)
[sage] 2015/06/06(土) 11:51:55.12:9TAyXKx2
3.0ついにリリースされたのう
今週末はこれやるか
[sage] 2015/06/11(木) 17:06:08.45:3an29FYA

cvReleaseImage
[sage] 2015/06/19(金) 21:01:34.71:T0qN7+O5

いまどきなぜ cv::Mat をつかわずに IplImage なのか
[sage] 2015/06/26(金) 10:08:07.92:nx4LgZ0I
最近UMatとかいうのも出てきてるよな
[sage] 2015/06/27(土) 23:44:35.89:QpQkizgU
ええっ Mat, Mat_, Matx だけでは足りなくてまた新しいやつがでたのかい
[sage] 2015/06/29(月) 00:05:28.22:CxxlhM/X
YOU MAD!!
[sage] 2015/06/30(火) 10:30:21.09:PgKKPdZG
後方互換も大事だけども、
シンプルなのと高機能なのの2つに絞れない物か
[sage] 2015/07/02(木) 21:56:52.78:eUn7Y/b7
const cv::Mat&amp; で受け取っても、
内部でmat(ROI)して新しいcv::Mat(not const)を生成してしまえば中身を変更できるんだな…

operator()(ROI) constでconst cv::Mat返さないのはおかしくね?
(既出だったらスマン)
[sage] 2015/07/08(水) 09:33:39.58:SmYj13jC

んーおかしいというか、Matのコピーコンストラクタが元々「浅い」コピーで
あることはドキュメントに書いてあるので、そういうもんだと思うしかない。

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

OpenGLと同じ臭いがする
[sage] 2015/07/14(火) 22:54:00.85:pzv4agCW
cv::VideoCapture() のインスタンスの生成、破棄をするたびにスレッドが増えていくんだけど、そういうもの?
破棄前に release() を実行しても変わらず。
[sage] 2015/07/17(金) 00:36:21.85:Q5NeHwNe
Opencv2から3への移行はいつごろがいいんだ
まだ安定性とか不安なので2のままだけど
[sage] 2015/07/17(金) 00:44:38.17:f5ww8Nw/
それはおめえさんの不安の算出方法と閾値に寄るんじゃないですかね
[sage] 2015/07/17(金) 23:06:58.13:hDnbbaqI
3.3が出たら本気出す
[sage] 2015/07/19(日) 19:46:29.54:cKA9y5B8
俺ちゃんは~、IplImage使いを~、やめへんで~
[sage] 2015/07/20(月) 01:06:28.51:tte1JGhK

レガシーコードの保守以外でいまIplImage が必要な箇所ってあったっけ
[sage] 2015/07/31(金) 17:59:37.74:Kf7iXVPc
俺にとって必要
[sage] 2015/07/31(金) 20:55:46.32:nFBjQ9Zs

ない
[sage] 2015/08/14(金) 12:23:59.77:r5oQP8Er
OpenCVで動画の画像認識をする場合
ハードウェアのシステム要件(動作クロック等)はありますか?
処理に必要なハードの最低条件が知りたいのですがエロい人お願いします
[sage] 2015/08/14(金) 13:21:08.19:9bFEKbx/
リアルタイムでなくて良いなら、大概のハードでOK
[sage] 2015/08/14(金) 15:45:22.42:r0RiGYTV

顔認識なんかは結構重かったような気がする。
そういう意味で、動画処理するときはVGAまで解像度を落とすだとか
フレームを間引きするだとかをしないと間に合わんこと「も」ある。

使いたいハードで実験して細かい条件を合わせてくれ以上のことを
言えない気がするよ。
[] 2015/08/15(土) 10:14:51.39:nBiBWYB/
SIFT特徴量をcomputeで抽出しすると、
その128次元の数値はどういう対応になっているのでしょうか?
SIFT特徴量が輝度勾配ベクトルの8方向*16ブロックということは理解しておりますが、
実際、どの値がどのベクトルに対応しているのでしょうか?
また、その対応を確かめる方法はあるのでしょうか?
[sage] 2015/08/15(土) 11:49:08.47:NrrFY6tp
1. コード読む
2. 自分で計算してみる
[] 2015/08/15(土) 12:29:44.22:nBiBWYB/
ヘッダから追って確認するしかないですかね。
[sage] 2015/08/15(土) 13:19:00.48:ijksDLQO

3.SIFTの論文を読む。オリジナルじゃなくても ttp://www.vision.cs.chubu.ac.jp/sift/ から
藤吉弘亘. "Gradientベースの特徴抽出 - SIFTとHOG -  というPDF(でもPPTでもいいけど)を読めば
128次元へのエンコードの詳細がわかる。
[] 2015/08/15(土) 21:01:36.75:tvqSf7Yn

実際に計算して確認する方法ですね。
ありがとうございます。
[sage] 2015/08/16(日) 20:48:18.75:bybvfzPj
正面以外の顔も検出したかったから正面顔&ある程度横向いた顔の検出器自作したけどゴミすぎて笑えない
誰か俺の3週間返して
[sage] 2015/08/16(日) 23:07:37.52:bt2cprKf
貴重な体験なのに返すなんてとんでもない
[sage] 2015/08/16(日) 23:38:28.32:1NcELlD1
3次元的な画像認識ができるようになれば完璧ということかね?
[sage] 2015/08/17(月) 07:05:36.27:5aHkUNDW

学習データの作りこみがキモ
[sage] 2015/08/19(水) 02:55:54.57:Oqn9gFW2

>学習データの作りこみがキモッ
に見えた。
ひどいことを言う人だなぁと思った。
[sage] 2015/08/19(水) 08:07:04.96:hnj5IXaX
自意識の投影ですね
[sage] 2015/08/19(水) 19:58:14.81:Q4Q4fM6M
俺の顔を顔として認識せずに何故か右肩と右耳を顔として認識してくるゴミ
あんまりふざけたことするなら削除すんぞ産業廃棄物
[sage] 2015/08/19(水) 20:52:54.32:PnMheSmX
霊でもいるんじゃ
[sage] 2015/08/19(水) 21:17:29.46:hnj5IXaX
みえる
みえるぉ
[sage] 2015/08/20(木) 00:50:33.43:wPqvv//b
右肩のラリーとバリーを認識してくれれば合格
[sage] 2015/08/20(木) 11:32:46.49:fBa8Lth9
右肩に憑くのは悪霊ですね
[] 2015/08/25(火) 13:54:53.29: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*)':
[sage] 2015/08/25(火) 17:01:25.95:48uc2dA0
できるけどお前には無理
[] 2015/08/26(水) 08:15:52.24:AtwE5MzM
[sage] 2015/08/26(水) 08:17:44.85:TB1iHarc
(悔しいけど何も言い返せない)
[] 2015/08/26(水) 08:20:59.28:AtwE5MzM
漏れ じゃないから
に同意のつもりで書いたんだが
[sage] 2015/08/26(水) 14:39:58.90:udBA2BBX
そういうの結構です
[sage] 2015/08/26(水) 14:52:12.17:1VgT2ip6
[sage] 2015/08/26(水) 14:59:02.15:73O4kJvn
[sage] 2015/08/26(水) 16:40:12.62:AtwE5MzM

ttp://www.lifehacker.jp/2013/03/130305jerks_and_trolls.html
ttp://www.lifehacker.jp/2011/11/111031ignoretrolls.html
ttp://info.2ch.net/?curid=2078
[sage] 2015/08/26(水) 18:02:39.81:cqVPebVU
ttps://help.sakura.ad.jp/app/answers/detail/a_id/1154/related/1
これ読む限り頑張れば動くんじゃないの?
どう頑張ればいいかわからないって話なら「お前には無理」
[sage] 2015/08/26(水) 21:14:27.61:EI12F+7n
つうか検索すりゃ一発目でOpenCVをビルドするブログが出てくるけどな
その上で出た結論が、お前には無理
[sage] 2015/09/05(土) 16:15:47.65:ea0E012T
3.0でcontribを追加で展開してビルドしたらそこだけビルドエラー出たんだけど
通常のソース達と同じ場所に入れてあげないとだめなのかね?ビルド時に場所指定できるし、別の場所で問題ないと思ったんだが。
[sage] 2015/09/06(日) 00:51:33.91:wfrbDpC5
3.0 で cvNamedWindow は何をリンクすれば使えるんだろう?

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

しても何も出ない…
[sage] 2015/09/06(日) 05:59:15.32:8WP+e+lh
普通にhighguiじゃないの
知らんけど
[sage] 2015/09/06(日) 08:28:10.77:wfrbDpC5

どうも cmake のオプションの組み合わせのせいで opencv_highgui300.dll が
作られない設定になっていたようです。

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

お騒がせしました。
[sage] 2015/09/06(日) 08:41:50.38:tsoYjMlS
Cmake使ってるなら、リンクライブラリ名気にする必要ないじゃん。
プロジェクトのソリューションもCmakeで作ればだけど。
[sage] 2015/09/06(日) 09:19:21.25:wfrbDpC5

説明不足でした。 cmake は opencv のビルド(の準備)にしかつかってません。

いずれにせよ CMakeCache.txt には

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

とありましたから、いろいろoffにしすぎて highguiのdll 自体そもそも作られていなかったわけです。
[sage] 2015/09/06(日) 09:21:42.01:tsoYjMlS

あーごめん
知っててつまらない茶々入れてしまった
[sage] 2015/09/08(火) 17:17:15.06:+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に縮小すれば通る
高画質でやってみたかったのだがダメか・・・
[sage] 2015/09/15(火) 19:29:41.63:Eyn2OaHt

試してないけど、64bitでビルドしてみたら?
[sage] 2015/09/15(火) 22:40:20.28:f/Ji2Nti
MSYS2 で 64bit ビルドうまくいかないんじゃ~
[sage] 2015/09/26(土) 00:05:38.71:E4DrPgdJ
opencv 3.0
windows7
eclipse
言語 java

趣味でopencvを数日前から弄っています。顔認識を試してみたくて
ttps://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をどこに置いておくべきでしょうか?あと、認識用の画像も。

プロジェクト内ならどこでもおいてよいかと思っていたのですが…いろんなところに置き換えてみても例外が消えません。
対処法をご存知の方、お教えいただけたら幸いです。
[sage] 2015/09/26(土) 00:06:24.36: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));
[sage] 2015/09/26(土) 00:06:57.58: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);
}
}

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

よろしくお願いいたします。
[sage] 2015/09/26(土) 00:34:05.26:EnjF3IZ6

そのxmlのあるところにクラスパス通してみた?
逆に、クラスパスで指定されたディレクトリにxmlを置いてみるとか。
[sage] 2015/09/26(土) 22:13:06.51:E4DrPgdJ

おお!
その手がありました。
やってみます。ありがとうございます!
[sage] 2015/10/04(日) 22:38:34.32:geWtxUX+
時間がかかりましたが、何とか顔の検出ができました!
結構面白いものですね。これ。

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

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

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

ttps://github.com/tanaka0079/java/blob/master/opencv/DrawText.java
この辺りの情報は古いのでしょうか?
Opencvのバージョンは3を使っています。
そもそも、highguiのようなクラスも置き換わっているようで。
ご存知の方、お教えいただけたら…と思います。
[sage] 2015/10/04(日) 22:40:16.79: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;は記載してるのでインポートはできています。
[sage] 2015/10/07(水) 23:27:44.59:3xP4zZH8
OpenCV3.0.0のjarを作ってみて見たけど、確かにそういうメソッドは無いね。
org.opencv.imgproc.Imgprocクラスに移ってるみたい。

こういう、元々がC++のライブラリを他の言語にバインディングしてるような奴は、ドキュメントが充実してないのがきついね。
C++のヘッダからメソッドを探してクラスを見つけるというようなことを今はした。
[sage] 2015/10/08(木) 21:38:16.20:FbiyaKvV

おお!
ありがとうございます。
org.opencv.imgproc.Imgprocですね。

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

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

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

次は、vs2013のNuGetは試してないのですが
やってみようと思います。
[sage] 2015/10/09(金) 15:24:19.46:AB+m/9UF
日記はチラウラ
[] 2015/10/09(金) 22:24:35.20:mKqsGtD+
馬鹿のチョンには文化も違うから
理解できないんだね!
日記じゃないのよクソチョンさん?
[sage] 2015/10/10(土) 23:08:14.66:b0ADPQma
日記と質問の書き方の違いも分からんらしい
[] 2015/10/10(土) 23:22:46.32:WtNCkOx7
とクズが申しております
[sage] 2015/10/11(日) 00:47:28.28:BzTBQJsJ
で、答えられる?答えられないの?
出来損ないなら出しゃばらないでくれる?
[sage] 2015/10/11(日) 01:02:38.78:cdE875Rm
cmakeのオプション設定ミスって必要なライブラリが生成されてないんじゃないの?
[sage] 2015/10/11(日) 08:10:10.79:PgtL8KH5
ダメな奴は何をやってもダメってことだろ。あきらめろ
[] 2015/10/11(日) 10:51:00.23:ngi+Bnfd
馬鹿には無理
[] 2015/10/12(月) 13:56:09.73: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;
[sage] 2015/10/12(月) 14:09:21.31:QD0vOYoj
= は右辺の計算結果を左辺に代入する演算子です
[] 2015/10/12(月) 14:15:03.90:Ko0Nl7AL
理解できました!ありがとうございます!
[sage] 2015/10/18(日) 19:23:47.22:lOq7skww
Webカメラをcv::VideoCaptureで制御するとき、
grabや>>でフレームを取得すると新しいフレームが撮影されるまで待機するみたいだけど、
これってフレームが更新されていない場合は待機せずスキップするみたいなことはできないんだろうか?
カメラごとにスレッドを立ててそこで動かせば良いんだろうけど、
複数台のカメラを制御する場合とかちょっと不安だ
[sage] 2015/10/22(木) 13:08:38.20:rGAFqWlD
角度の変化にも対応した顔検出器作ろうとちまちま3つほどやってみたけど全部ゴミでした
俺の4ヶ月分の暇な時間返してマジで
[sage] 2015/10/22(木) 13:15:05.38:522gqyPw
君のこれからの20年40年も暇になるよ
[sage] 2015/10/22(木) 15:05:09.55:EVhgfJB8

フレームをスキップする時、スキップしたフレームの画像はどうするの?
多分コマ落ちをわかりやすくしたいんだろうけども、
やるとしたらタイマー設定して、フレームが取得されなかったら真っ黒の画像を挿入するとかでどう?
やったこと無いけどもw
[sage] 2015/10/23(金) 01:21:10.92:/JJfrbj7

いやそうじゃなくて、新しいフレームを取得する間、30fpsのカメラなら最大1/30秒近くそのスレッドが止まるわけじゃん
例えばOpenGLを使っていてペイントの関数内でカメラからフレームを取得すれば画面がその間固まってしまう
こういう時新しいフレームがまだ撮影されてなければスキップできると便利だなと
[sage] 2015/10/23(金) 11:14:45.97:9hpieugb
そうだね
[] 2015/10/24(土) 00:23:25.53:tKlRKbw8

callback準備したasyncgraberなければ作れば良いのに

opencvはそんなのもなかった?
cでは自分でasyncつくってたからよくわからん
[sage] 2015/10/24(土) 06:52:02.25:KgXfQA3V
Windowsでプレイする麻雀ゲームがあるのですが、
それを自動でプレイする麻雀AIを作りたいと思っています。
麻雀ゲームを操作する部分で画像認識とマウス操作を使いたいのですが、
その画像認識でOpenCVを使えないかと考えています。
OpenCVは全然知らないのですが、何か画像認識で参考になる書籍やWebサイトなどおすすめを教えてもらえないでしょうか?
[sage] 2015/10/24(土) 08:40:35.14:G3DYOv58
100年早いんじゃないか?
[sage] 2015/10/24(土) 09:10:13.53:wB/X7nCW
というか雀牌なんて表示位置決まってるんだから
OpenCVのパターンマッチャー使うよりより↓と同じ方法を使った方が楽
ttp://qiita.com/YSRKEN/items/819dd3acf750ff5c0e7f
[sage] 2015/10/24(土) 10:10:25.71:KgXfQA3V

参考になるURLありがとうございます。
同じ方法というのはJAVAを使うということでしょうか?
艦名の認識で書かれているように簡略化するということでしょうか?
これまでWin32APIでアプリを作っていたもので、可能ならC言語でやりたいのですが、
同じようなことは簡単にできるのでしょうか?
あと麻雀牌に利用することはできても点数状況の認識などは結局OpenCVを使った方がいいのでしょうか?
たくさん質問してしまってすみません。
[sage] 2015/10/24(土) 11:07:17.78:wB/X7nCW
ごめん
やっぱ100年早いって意見の方が正しかったわ
一昨日きやがれ
[sage] 2015/10/24(土) 11:22:14.72:jc/5RlIu

定型的な画像しか入力されないんだから画像認識なんて必要ない。
スクリーンショット撮って特定の部分を調べるだけ。
どこに表示されるか決まってるんだから画像をバイナリ比較したらいい。
n 文字目から strcmp するのと大差ない。
次からは初心者質問スレか知恵袋でやれ。
[] 2015/10/24(土) 12:20:20.14:niXzNvfm

pythonおすすめ
[sage] 2015/10/24(土) 12:34:14.70:T6o0RDG/
Win32API使いこなせてるなら楽勝だよ
[sage] 2015/10/24(土) 12:40:38.12:mPPjFK/J
3D麻雀ゲームだったことが判明してな
[sage] 2015/10/24(土) 12:46:33.81:niXzNvfm
>点数状況の認識などは結局OpenCVを使った方がいい

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


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


そのままって言うのはどういうことでしょうか?
OpenCVを使わずに423さんがおっしゃるやり方を点数にも適用する感じでしょうか?
[sage] 2015/10/24(土) 13:49:12.76:caHKW0ZN
ラ知識不足
○身の程知らず

ぶっちゃけ何でム板にいるの?ってレベル
[sage] 2015/10/24(土) 18:36:52.23:niXzNvfm
ウブな振りしたカマトト
[] 2015/10/27(火) 15:39:17.36:cLWis84+
エッジ抽出した後に抽出したエッジを一定の大きさに分割する方法はありますか?
[sage] 2015/10/27(火) 23:14:24.60:CYjwIchQ
意味わからんけど多分お前には無理なんじゃね
[sage] 2015/10/28(水) 13:31:12.87:G/+JYzkK
あーはいはい、抽出した輪郭から隣接領域を再抽出したいって話ね
方法はあるけどここに書くにはフォーム欄が小さすぎて無理だな
[sage] 2015/10/29(木) 09:31:47.69:Pwuvr73T
ttp://codepad.org/eoG65A9x

以下のプログラムのように(実際はエラーで動作しませんが)特定のアプリケーションのプロセスメモリを読み取ってそれを適時画像に文字として表示するプログラムを作りたいです。
どのようにすれば可能ですか?
[sage] 2015/10/29(木) 09:44:30.62:Pwuvr73T
Sleep(1000)の代わりにwaitKey(10)などにしたところ無事いけました。
とあるゲームで敵のHPを画面表示するツールを作りたかったのですがいけそうですw
[sage] 2015/10/31(土) 09:23:42.61:EpOvgfvE
opencv1.0に関しての質問です。
cvMatchTemplateでの結果を入れたIplImage構造体があって、cvMinMaxLocを使えばもっとも一致した点が求められるのは分かったのですが、
一定値以上の複数点を求めるにはどうすればよいでしょうか?
IplImage構造体の中にchar *imageDataというのがありますが、これをどうにかして調べるんでしょうか?
[sage] 2015/10/31(土) 10:40:53.37:UnZpCVsS

- C言語の配列・ポインタがわかるか
- なぜ2.4や3.0ではなくopencv1.0なのか
[sage] 2015/10/31(土) 14:25:18.50:EpOvgfvE

配列ポインタは一応分かります
opencv1.0なのはbcc developerで開発してるのですが、ネットで1.0の組み込み方法だけ分かったからです
[sage] 2015/10/31(土) 15:04:24.58:HfRtIykb
そうか
がんがれ
[sage] 2015/10/31(土) 15:57:04.83:ADar2buw

ttp://opencv.jp/opencv-1.0.0/document/opencvref_cv_matching.html
ここ読んでる?
result
比較結果のマップ.シングルチャンネルの32ビット浮動小数点型データ.image が WラH で templ が wラh ならば, result は W-w+1ラH-h+1のサイズが必要.
って書いてあるから、
flota *result = (double *)imageData;とすれば普通に読めるんじゃない?
[sage] 2015/10/31(土) 16:57:14.29:EpOvgfvE

レスありがとうございます。
知識不足で申し訳ありませんが、確認させてください。

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

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

IplImage result;
float *result2;
cvMatchTemplate(image,templ,result,method);
result2 = (double *)result;
[sage] 2015/10/31(土) 17:31:04.37:ADar2buw

すまん、まちがえた。
float *result2 = (float *)result.imageData;
かな。これでresult2[0]~result2[W-w+1ラH-h+1]が結果のデータになってると思うけど。
試してないから間違ってるかも
[sage] 2015/10/31(土) 17:35:39.94:ADar2buw
おせっかいだけど、どうも、見てる限りOpenCVでのIplImageの取り扱いに慣れてなさそうだから、まずはもっと簡単なところから始めてみたほうがいいかも。
例えば、256x256のIplImageを作って、左上が黒、右上が赤、左下が青、右下が紫になるようなグラデーション画像を作ってみるとか。
色違うけど、
ttp://www2.rgu.ac.uk/subj/ats/teachingweb/teaching/t16/Wk4-Colour/PhotoshopColourPicker.jpg
こんなやつね
[sage] 2015/10/31(土) 17:47:46.79:jgYZGk3p
ふじこ
[sage] 2015/10/31(土) 18:14:50.38:EpOvgfvE

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

なぜか上記のようにすると
. または .* の左側に構造体が必要
というエラーが出てしまいます。
せっかく教えていただいたのに、うまくできずにすみません…
[sage] 2015/10/31(土) 20:16:22.48:cZ2VljDN
cvMatchTemplaeの3番目の引数ってポインタじゃないの
[sage] 2015/10/31(土) 22:53:47.35:EpOvgfvE

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

ごめんなさい。こうですね。
書き込みにする時に変数名を変えたので間違えていました。
結果は変わりません。
[sage] 2015/11/01(日) 09:20:53.49:cdDiqxbo

アロケートもしてんの?
ttp://opencv.jp/sample/matching.html

dst_img = cvCreateImage ( ....
[sage] 2015/11/03(火) 15:47:56.37:KpPfrqOo
ruby-opencvなんですが必要な色の領域だけ抽出した二値画像の重心はどのように計算すればいいのでしょうか
リファレンスガイドを読んでもよく分からなかったです
[sage] 2015/11/04(水) 01:00:57.90:ZDJipCdK

やってます!それがいけないんですかね?
[sage] 2015/11/04(水) 07:29:52.96:V/pJL6r2

そうですか!コードやエラーくらいそのままコピペできないんですかね?
[sage] 2015/11/04(水) 10:05:23.46:KsS1layI


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

・あなたは周辺コードやエラーを「ノイズ」だと思って書かなかったのだろうが、
ここで助言をできる人たちにとってそれこそが情報
[sage] 2015/11/04(水) 10:46:07.15:qzowSUC3

重心とかあまりわからんけど座標の平均値を取ればいいだけじゃね?
[] 2015/11/05(木) 11:50:27.70:k1mCzttB
Google Maps API ならやってくれる
[sage] 2015/11/26(木) 20:40:25.32:VrX6iLNo
Aの上半分をBにコピー
Bの上半分をCにコピー
これだけでエラー出てくるけど何なのこれ
[sage] 2015/11/27(金) 02:11:09.55:fOCe+Vm0
お前のレスが何なのこれだよ
[sage] 2015/11/27(金) 02:57:00.66:RmnfpZEz
確かに
[sage] 2015/11/27(金) 13:51:55.91:fSrmbKqg
エスパーするとファイルがロックされているか、
範囲がズレてるんじゃね
[sage] 2015/11/27(金) 14:21:29.61:H/BOqAmi
知らんけど「OpenCV 浅いコピー」でググってみると幸せになれるかも
[sage] 2015/12/01(火) 10:41:38.02:WUdCKL/t
自己解決しました
僕の頭が悪いのが原因でした
[sage] 2015/12/01(火) 11:16:37.58:mOAeAozf
それはわかっているから、
書き込むならせめて何を勘違いしたかくらい書け
[sage] 2015/12/10(木) 10:21:49.27:qPm1t7ac
頭が悪かったから、ではなく

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

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

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

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

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

みたいに書く。そうやって書いておくとここ読んでる人にも有益で、おまえが
他人に教えるときにもテンプレにできるのでWin-Winだな。
[sage] 2015/12/10(木) 12:25:42.92:gg94mj0B
みんなでごにょごにょ部分を穴埋めして文章完成させるスレってのがあったな
[] 2015/12/14(月) 10:18:58.29:Mj0LvYes
 ttps://www.youtube.com/watch?v=0iHLJQTygkI
[sage] 2015/12/22(火) 09:12:30.04:llUOQANv
Cudaで高速計算したかったらopencv3使うしかないのかな
まだ2のままでいたいのだけぢ
[sage] 2015/12/22(火) 16:19:47.37:5TV3ufQe
2のGpumatってCudaじゃないのか?
[sage] 2015/12/23(水) 15:53:05.84:f3OkJGUt
Cudaで超解像画像やるとか凝ったことはopencv3でしか出来ない?
[sage] 2015/12/24(木) 10:57:07.44:+Aw8uHMt
凝ったことやるなら自分で書け
[sage] 2015/12/25(金) 01:49:00.71:0g6U9lRq

典型的な頭の悪い文章だな
[] 2015/12/25(金) 20:13:24.97:0UODRZi4
[] 2015/12/26(土) 10:23:44.42:PvF8tuZ2
>471
[sage] 2016/01/14(木) 00:16:44.68:ejCwvGZw
OpenCV触り始めたんですけど、サンプル見てとりあえず、

IplImage *src_img = NULL ;
char imgfile[] =
[sage] 2016/01/14(木) 11:42:07.58:Hp2vnal5
途中だけどもポインタ渡しと参照渡しの違いか?
[] 2016/01/14(木) 19:19:23.47:MVoyv7BA
ポインタのポインタだろ
[sage] 2016/01/14(木) 23:39:06.96:ejCwvGZw
あれ、すいません。
コピペで貼ったんですが切れてしまいました。
IplImageをcvCreateImageしてcvReleaseImageしただけでメモリリークしているようなのですが、
他に何か終了命令などはあるのでしょうか?
[sage] 2016/01/15(金) 11:27:50.92:y8oLhUCG
と、その後参照
今はcv:Matだから古いサンプルを見るのを止めるのが一番かもしれんがw
[] 2016/01/16(土) 11:06:35.60:xOOUInQQ
OpenCVはただのゴミだからインストールしないのが吉。
パソコンプログラミングの超神クラスの俺でも100時間かかって動かせなかった。
はっきり言って時間の無駄。
すでに何百時間も費やして動かせるようになってる人にはとやかく言わないが、
導入を検討してる人はとにかくやめておけ。
[sage] 2016/01/16(土) 18:01:01.85:KeKHWyn2

パソコンってことはWindowsかMacだろうけど、どっちも標準の
開発環境でやってればそんなに迷うようなことないんじゃない?

まあでもそうでもないか。Windows+VSでやってたとき、わりと
DLL関係のプロジェクト設定で躓いて先生に助けてもらったわ。
ああいう設定って一度知ってる人に聞かないとだめだね。
[] 2016/01/16(土) 20:11:39.84:CPZavs1f

どうしてゴミだと思ったの?
どの辺が理解出来なかったか他人にうまく説明出来る?
本気でやる気があったらここで聞いてくれてもいいんだよ?
[sage] 2016/01/16(土) 22:19:27.88:F8nm5oaF
パソコンプログラミングの超神クラスの俺さんなんてスルーしとけ
[sage] 2016/01/16(土) 22:37:33.57:oAUVPyCf
IplImageってどこで使われてるの?
組み込みは分かるけど
[sage] 2016/01/16(土) 22:49:02.51:sreyGxGM
サンプルで使われてるんだろ
[] 2016/01/17(日) 18:49:19.74:wzxdIUIG
cvMatが出来る前は普通に使われてたんじゃね
[sage] 2016/01/18(月) 00:00:30.53:2kOEc2q5

環境書いていませんでしたがWindowsです。
今はMatなんですね。気がつきませんでした。
あとcvMatでも_CrtSetDbgFlagでフラグ立てておくと
メモリリーク出ますね~。心臓に悪い。
[sage] 2016/02/03(水) 08:41:59.87:TXUepsJB
Opencv2とopencv3の両方で動くようにするにはcvmat使えばいいの?
[] 2016/02/07(日) 11:02:53.61:AsHZ+KLf
試せば分かる
[] 2016/02/07(日) 11:37:29.48:2wykn2ry
面倒無用
[sage] 2016/02/15(月) 18:46:02.29:fzqH+KPW
Pythonはやばいな
6行くらいでCVスクリプト動くからな
[sage] 2016/02/19(金) 00:17:23.58: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で使うにしてもアンマネージドな部分のリークに不安が残る
それとも識者は後始末かリークさせないようにアロケータ自前で設定してたりするのん?

おせーてエロい人
[] 2016/02/19(金) 00:23:45.79:VbtCQrHN
追伸
目的はテンプレートマッチングなんだけど、
メモリリーク箇所全部追跡しようとしたら1回検索するコード実行しただけですんげぇログ吐き出してくれて
思わずハードディスク毎窓の外にブン投げてソースコード破棄したくなった
[sage] 2016/02/22(月) 00:29:18.01:9rsZs1m0
何か気持ち悪い文体だけど自分面白いと思ってそう
質問するならそれなりの態度でお願いするべきだと思いますよ
[sage] 2016/02/28(日) 23:08:21.74:BmcAIKJd

反応しちゃダメだよ
[] 2016/03/12(土) 16:26:17.52: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で値が違うのも気になります。
どなたか教えてください。
[sage] 2016/03/13(日) 03:53:28.89:bBn3aLjI
depthMat.at<float>(x,y)とかで正しい値とれない?
dataの方は、((float *)depthMat.data)[i]とかしないと正しい値取れないと思うよ。
結局はバイナリデータのアクセスだから、キャストちゃんとしないとまともな数字が取れないと思う
[] 2016/03/14(月) 11:04:11.85:CN8btJSR
494です。さんの言う通りでした。ありがとうございます。
後、質問なんですがjetson tk1とかに関する質問ってどこの板が適切ですか?
ご存知の方がいらっしゃいましたら教えてください。
[] 2016/03/25(金) 13:27:39.01:1WXfEmgu
ttp://halide-lang.org/
ttp://nebuta.hatenablog.com/entry/2013/08/04/135932
便利そうなんだけど誰か使ってます?
[sage] 2016/03/25(金) 14:12:42.33:1nGTC3BS
宣伝か?
[sage] 2016/03/29(火) 09:05:29.86:xWRz3Ukj
どっかのへっぽこ大学じゃなくてMITがドヤ顔で作ったライブラリなんですが
宣伝乙脳になるとこういう反応になるのか
[sage] 2016/03/29(火) 14:34:26.54:gOix+kaV
有名大学だからって有難がる権威主義でも無いし
良い物ならみんな使ってる
[] 2016/03/30(水) 13:41:10.07:WoRxWRoM

君が >498 でないなら釈明する必要はないし、>500 の言い分はごもっともだがその理屈から >498 が出てきたら失笑なことは変わらない。
[sage] 2016/04/15(金) 00:07:52.64:oWDFnHTu
結局Halideってどうなのよ
[sage] 2016/04/15(金) 09:56:02.65:PpXM10CU
良い物ならみんなとっくに使ってる
[sage] 2016/04/18(月) 00:43:54.03:kYcory21
デスヨネー
[sage] 2016/04/21(木) 10:02:38.01:0GSXCSV8
二重指数積分公式は最高性能の数値積分法であるにもかかわらず
「白人が作ったものではないから」という人種差別的な偏見によって二十年間世界から無視されていた。
[sage] 2016/04/21(木) 12:29:30.04:9Ocgrhnl
rubyをdisるのはやめれ
[] 2016/05/01(日) 15:40:06.85:tKi6j9CT
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています

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

Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
ttps://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的に分散され、特定のサーバーに依存しません
[sage] 2016/05/01(日) 23:11:10.08:YSbB95I/

opencvとなんか関係あんの?
[sage] 2016/05/02(月) 01:19:38.59:hL8SWjP5

あちこちコピペしてるだけだから反応すんな
[sage] 2016/05/02(月) 16:35:26.68:aR8AOrvI
2ちゃんってスパム灰汁禁にする機能あったはずなんだが
[sage] 2016/05/02(月) 16:58:14.19:zu7MqjLX
なんか文末の文字変えてるみたいだけど、これで回避できんのかな。
[sage] 2016/05/02(月) 17:03:44.61:aR8AOrvI
糞鯖に変更されたタイミングで規制まで甘くなった感じがする
[sage] 2016/05/10(火) 17:07:30.48:CV1uo/Oi
Qtを組み込んだ時にnamedWindowするとデフォルトで出るコントロールパネルだけど、最前面に持ってくる方法はないのですか?
気を抜くとすぐ背面に隠れて、ウインドウ扱いされてないからタスクバーから復活できないし困ってます
[sage] 2016/05/24(火) 11:39:22.00: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のソースの理解を試みたものの、規模が大き過ぎて断念しました。

スーパーハカーな皆様、出てきた値の扱い方のご教授をお願いします。
[sage] 2016/05/27(金) 01:40:43.75:G9GLGEnA
突然ですが
画像処理の雑音の例でよく、インパルス雑音が挙げられていますが、現在で実際にインパルス雑音の除去が必要な場面はどういう画像でしょうか?
特に高発生確率のインパルス雑音がのる場合はどんなときでしょうか?
[sage] 2016/05/27(金) 19:23:35.68:QFg12hgO
ザクのメインカメラを想像しろ。宇宙空間はインパルス雑音ばかりだろ
[sage] 2016/05/28(土) 07:57:15.22:gAXtc21H
OpenCVとGPUImageって、どっちを使うか何を基準に決めたらいいんでしょうか?
iOS/Android環境で動作するアプリです。
[sage] 2016/05/28(土) 11:50:17.68:YkPoIoOS
何を基準にするかは君が何をしたいかで基準そのものが変わるんじゃね
[sage] 2016/05/28(土) 17:24:12.93:28o3XPep
自己解決しました
積和の場合、周波数空間で検索対象とテンプレートの位相と振幅を乗算して
元の空間でのドット毎の数値を極端に大きくする事によって、
明度に関係なく類似の度合いを検出しやすくしていると理解しました

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

の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次元配列)にて求める場合、どの様な式になるかまでは理解できていません
プログラムのコードの提示、数学での式、どちらでも構いません、よろしくお願いします
[] 2016/05/31(火) 18:18:23.45:oGkAGoLg
opencv3.1でcvCreateKDTreeをつかうにはどうすればよいのでしょうか。また、代替品などは存在しますか?
[sage] 2016/06/19(日) 13:57:35.93:I+lgUoFF
質問させてください。

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

調べてみてもnamedwindowの必要性がわかりません。
[sage] 2016/06/23(木) 10:09:32.60:tc69iVNd

namedwindow してなければ処理に応じて画像を書き換えるとかできないよね。
OpenCVでインタラクティブなプログラムを書くときには namedwindow しておいたほうが吉
[sage] 2016/06/23(木) 19:03:28.09:K2h1iEuW

書き換えの際に表示内容だけかえるときということでしたか!
ありがとうございました。
[] 2016/07/07(木) 16:27:38.11:kHm9gYtQ
Chain of Vitalik
[sage] 2016/07/27(水) 20:30:41.40:N+3siVEw
VS2010で2.4を使ってたのをVS2015と3.1に上げてみたが
未だにc4819の警告はでるんだな
[sage] 2016/08/15(月) 18:27:27.06:vd5wuXvi
カメラで撮影した顔写真と予め撮っておいた顔写真を照合して
個人認証をするプログラムをつくっているのですが行き詰ってます

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

撮影は常に顔の正面から行うつもりです
[sage] 2016/08/15(月) 19:01:16.55:GUZ7DBqH
目じりの皺まで判る解像度なのか?
[sage] 2016/08/15(月) 19:19:24.43:vd5wuXvi

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

微々たるものだろうから呼び出し回数が大した事なくて、将来の仕様変更の対策とかIF揃えたいとかに拘るなら
まんまMat受け取って当面は暗黙のシャローコピーでも何でもお好きな感じでとしか
[sage] 2016/11/27(日) 10:30:50.69:eANnkNNi

引数画像を変更するつもりがないなら const 参照でいいはず。
画像の shallow copy は、仕様通りならば実質的に const 参照と
同じことになるはずだが、WGの実装力を信頼してはいけない。
[sage] 2016/11/29(火) 16:20:17.08:90pr09cr
opencv3.10では2.4シリーズのhaarcascade_mcs_mouth.xmlを使って口を検知することが出来ません
どのようにすれば良いのですか?
[sage] 2016/11/29(火) 21:24:38.31:RwYrSiHB
OpenCVSharpで、getRotationMatrix2Dで取得したMat型の行列にアクセス(書き換え)をしたいのですが、
やり方が全くわかりません。
ある場所(例えば[1,2]の場所の値を書き換えたいときはどのように書けばよいのでしょうか。
[sage] 2016/11/30(水) 01:58:51.66:LKKZvee1
mat.At<double>(1,2)か、mat.At<float>(1,2)か、その辺だと思う

参考:ttps://gist.github.com/ochilab/d720c9d961ed04b8c707
[sage] 2016/11/30(水) 09:07:49.74:n88rQVx5

ありがとうございます。助かりました。
mat.At<double>で変数に値を取得して、
それを書き換えた上でmat.Set<double>でセットするのですね。
[sage] 2016/11/30(水) 10:02:18.01:5Sq1gvfC

どなたかコレお願いします
[] 2016/12/24(土) 01:04:41.92:MxNHTNh0
javaでHoughLinesPで直線検出しようとしていますが、
候補が複数あるはずなのですが、一本しか検出できません。
何か心当たりがあればご教授ください。
↓こんな感じで引数を渡しています。
Imgproc.HoughLinesP(CannyImage, Lines, 1, Math.PI/180, 50, 100, 50);
[sage] 2016/12/24(土) 05:50:07.86:lImTu5dP
画像も貼らずに検出できませんとか言われてもな
thresholdかminLineLengthでも下げてみれば
[sage] 2016/12/24(土) 07:12:40.08:ujXjvaJi
Halideいいじゃねえかこれ
[] 2016/12/24(土) 10:36:10.51:MxNHTNh0

ttp://imgur.com/gD7exqZ.png
↑がcanny画像で、これにhoughかけても一本しか検出されなくて困っています。ご指摘いただいたパラメータも変更してもだめでした。

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

日本語むちゃくちゃですね
すみません

今のところグレースケール→2値化して
白いピクセル数の変化を見たりしてます。
本とかサイトでもなんでも教えていただけないでしょうか
[sage] 2017/01/30(月) 00:11:34.45:gnAaP912
せめて画像貼って
[] 2017/01/30(月) 16:14:04.10:sqLElGA6
ピクセルごとに時間軸方向に FFT かけたら。
[sage] 2017/01/30(月) 23:45:53.23:0n/vTVyQ
ぼかしてフレーム差分とか。
[sage] 2017/01/31(火) 04:34:23.36:QThkY3bX
最近のビデオカードはハードウェアで超解像できるそうだけど自分のmpegファイルをアップコンバートすることは出来ないのでしょうか
[sage] 2017/01/31(火) 05:36:03.78:G6XFCAsV
できマス
[sage] 2017/02/02(木) 14:04:14.44:AOlHkhON
deblurringしたいんだけどうまくいかない
IBPとウィーナーフィルターでやってるんだけど
[sage] 2017/02/04(土) 15:29:25.58:e9aNESBj

+1
[sage] 2017/02/12(日) 08:18:37.87:fljd0HzI
Halideが画像処理だけじゃなくて線形代数計算全体も高速化してくれないものか
[sage] 2017/02/20(月) 19:41:53.39:hhNdaF/Q
オプティカルフローで画像をつくると1分以上かかるのですが、高速化できますでしょうか。
1280x960の画像2枚を、sperres::createOptFlow_DualTV1()で、calcしています。
[sage] 2017/02/22(水) 19:21:43.28:hMCq2iFa

CUDAとか対応してるんだっけ?
[sage] 2017/02/23(木) 08:55:26.98:6GnqaZlC
昨日ググったら、自分でコンパイルするみたいです。
コンパイルしようとしたら、ターゲットの装置にGPUが無かた。。。

後、オプティカルフローに速いもの遅いものがあるみたいで、
奇麗なのは遅いもの。。。
[sage] 2017/02/25(土) 18:45:23.48:gXLTmYDH
ソース画像の中から特定の画像を検出する方法としてMatchTemplate(テンプレートマッチング)と言う物がありますが、他に高速な方法はないでしょうか?
ゲームの自動操作が目的のため、検出したい画像は固定(サイズ傾き明るさは変わらない)と言う条件です。
[sage] 2017/02/25(土) 18:52:50.42:usTDxsWv
あります
[sage] 2017/02/25(土) 23:56:17.89:gXLTmYDH
テンプレートマッチング以外の画像検出にはどの関数を使用すればいいのでしょうか?
[sage] 2017/02/26(日) 00:11:56.77:dHeywt5b
traincascade
[sage] 2017/02/26(日) 19:26:30.94:fmI0yaYe

テンプレートマッチングだとダメなの?どのくらいの性能が必要?
[] 2017/03/05(日) 02:28:44.21:Coy+w1qj
USBカメラのfpsが安定しません
30fpsの物を使っていて、9割は33msで処理をしてくれますが残りは100msを超えたりします
安定させる方法を探しています
[sage] 2017/03/05(日) 06:32:02.39:wDws2FJs
カメラの機種もどういう処理してんのかも分かんないからエスパーしかできんが
暗いときとかにカメラがフレームレートを変えて露光時間を調整してるってことがよくあるかなあ
この場合カメラの設定で露出とかホワイトバランスのオート設定をオフにすると解消される
[sage] 2017/03/06(月) 14:12:22.44:+nnrIuuG
電源供給が足りない場合もw
[sage] 2017/03/08(水) 20:20:15.07:idATepzM
openCV を build するのに cl.exe ではなく ICL.exe を使う事は可能でしょうか?
[sage] 2017/03/09(木) 00:45:52.16:9+K5Dr1K
ok
[] 2017/03/15(水) 18:24:28.23:O7NQyo3u
waitkeyってどんな役割ですか?
フレームレート30なら33msにしろって書いてあったんだけど、例えば画像処理するとして、1ループ全体で33msなのか、1ループを処理時間+wait33msなのかどっちなんだ、もっと違う考え方?
[sage] 2017/03/15(水) 21:12:49.81:PWzId4/U
どこにそんなふざけたこと書いてあったの
[] 2017/03/15(水) 21:56:03.22:O7NQyo3u

2010の参考書に書いてあった
とりあえず33msでいいでしょうみたいな
普通ならそれでいいんだろうけど、都合上ループの処理速度だけはシビアにしたい
[sage] 2017/03/15(水) 22:20:14.38:PWzId4/U
webカメラの話で良いのかな?
FPSの設定は VideoCapture::setかなんかでやるはずなのでwaitkey関係ない
waitkeyはキー入力の為の待機なのでキー入力しないならそもそも不要
そこで33msも待機させたら同じループ内の他の処理で1msとか時間かかった時フレームレート落ちる予感
[sage] 2017/03/15(水) 23:28:43.20:eMQeLKBC
それFPSの設定知らずに最速再生の状態で各フレームのウェイトを33.333...msにして
30FPSの速度にしてる、とかじゃね?(1000ms/30FPS)
[sage] 2017/03/15(水) 23:30:17.30:2GGu2+NW
なんかスマートじゃない実装だな
[] 2017/03/15(水) 23:50:57.05:hRu8oYsz

やっぱりset使うんだよね
自分も落ちそうだと思ってる
使ってた本にはwaitkeyないと動きませんって書いてあって、なくしたら動かなかった気もする

たぶん本はそんな感覚だと思う
自分はいらないと思ったからWait1msでやってたんだけど、フレームレート変えれるwebカメラ買ってもらって、いろいろ考えてたらwaitkeyってなんだ?ってなった
[sage] 2017/03/16(木) 00:08:08.87:Xj2KwEen
確かにhighguiを使ってる場合waitkeyがないと表示されないとかあったかも。うろ覚えなので仕様見てくれ。
あと>>とかで新フレーム取得まで待機してる間はキー入力を受け付けないだろうから
キー入力が必要な場合そこで待機させるよりwaitkeyを多めに設定する方が良いかな
まあ本気で何か作るならこの辺の機能は使わないだろうけど
[] 2017/03/16(木) 00:20:39.72:bGXqVYnt

確かにhighgui使ってます
使わないで出来るのね…
使ってないサンプルプログラム探してみる
ある程度計測したら終了させる予定だから入らないかなぁ
waitkey不確定要素が多い気がしてならない
[sage] 2017/03/16(木) 00:26:17.16:Xj2KwEen

言葉が足りなかったわopencv単独で表示するには他に方法はないと思う
opencvはあくまで画像処理とかのライブラリでGUIはちょっとした確認や処理のためのおまけみたいなもん
本気で動画やカメラを使うアプリケーションを作るならGUIは別のフレームワーク使うだろうということ
[] 2017/03/16(木) 00:38:06.22:bGXqVYnt

つまりopencvはwebカメラの画像取得および出力に関してはあんまり機能がなくて、取得された画像を処理することに長けていると言うこと?
初心者過ぎてすまん
画像処理としては二値化で物体検出、重心を求めるぐらいしかさせてない…
[sage] 2017/03/16(木) 10:51:13.27:q9y/P6va
そもそもOpenCVに直接カメラのハードウェア設定をいじらせようってのが無理な話なのでは?
あくまで画像処理ライブラリだし。
FPSを変更出来るカメラなら、仕様書なり取説なりあるかと。
シビアに計算したいのならFPSだけじゃなく、露光時間や転送時間も計算しないとダメだし。
いくら30fpsに設定しても、他の時間で100msかかってたら無意味。
[sage] 2017/03/16(木) 12:25:54.90:Xj2KwEen

そういうこと
色々言ったけど勉強したりちょっとしたことやるには十分だしwaitkey(1)で良いと思う
[] 2017/03/17(金) 03:02:10.63:Ne1jreLa
set用いてfps60に設定したのに全く変化なし…
じゃあ解像度変えてfpsあげようと思ったけど変える方法がなさそう
使ってるカメラの仕様には解像度1080pで30,720pで60と書いてあるのに…
[sage] 2017/03/17(金) 03:24:23.39:1Ef8W1sh
ロジクールのやつで試した時は解像度640x480で60fpsいけたな
ドライバ側の設定でオート機能オフにして露出下げたらあるいは
[sage] 2017/03/17(金) 05:30:42.61:1Ef8W1sh
って見落としてたけど解像度を変える方法がなさそう?
setでできるでしょ
[] 2017/03/17(金) 08:49:45.72:SdZqx0Vp
setは動画ファイル読み込み限定でカメラ設定はいじれないっていう情報が調べたら出てきた
どこまで信憑性あるかわからんけど
とりあえず解像度いじったけど逆に重くなった…
[] 2017/03/17(金) 08:53:58.79:SdZqx0Vp

とりあえず640試してみます
[sage] 2017/03/17(金) 09:14:45.13:8bvhsZ+L
opencvの取り込み処理とかウインドウ表示とかはちょこっとopencv使いたいとき向けのでしょ
きちんと使いたいときは取り込み処理を別に用意したほうが・・・
[] 2017/03/17(金) 09:48:03.86:SdZqx0Vp

そっちの方面も視野にいれてます
初心者過ぎるので、簡単なやつ希望です…
[sage] 2017/03/17(金) 11:09:35.47:SUVPLko4
だーかーらー、カメラ標準ソフトを使うとか、
せめて取説や仕様書を読めと
作る側は「簡単な物」ほど作るのは難しいってことを理解しとけ
[sage] 2017/03/17(金) 11:11:46.60:SUVPLko4
あと、ハードウェアに出来ないことはソフトウェアには出来んからな
解像度やFPSの仕様以上のことをやらせようとしたら、
超解像とかハードルが一気に高くなる上に、あくまで「作られた画像で補完」になる
[] 2017/03/17(金) 12:11:55.75:ol/nseXL
>ハードウェアに出来ないことはソフトウェアには出来ん

日本語の使い方が正しくない
[] 2017/03/17(金) 12:22:39.49:SdZqx0Vp

カメラ標準ソフトか…
ロジクール製品なんだけど、取説とか仕様書はないに等しかった

スペック通りに動かしたいだけなんだ
とくに解像度はどうでもいい
[sage] 2017/03/17(金) 12:56:05.45:mRKEvJ0A

理解が正しくないよ
が言ってるのは30fpsまでしか対応してないカメラで100fpsの映像を造りだすみたいな話


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

この意味なら漏れの理解したまんまだな
[sage] 2017/03/17(金) 14:55:16.33:1Ef8W1sh
今してるのはハードウェアでもOpenCVでもできることの話だろ
なぜまずOpenCVのマニュアルを確認しないのかは知らないが
[sage] 2017/03/18(土) 00:30:42.66:+usu446B
オートフォーカスとか露光の自動調整は本格的な画像処理するときにまずつまずく部分
[sage] 2017/03/21(火) 14:26:08.25:jINUaUr9
<オートフォーカスや露光調整くらいは画像処理でやって
<リアルタイム60fpsで、画面解像度はFUHDで、分解能も8bitじゃなく16bitでやってね
<民生品でやってるから、そのくらい簡単に出来るでしょ?
[sage] 2017/03/21(火) 14:50:57.93:6WWBsw/3
民生品はOpenCV使ってますん
[sage] 2017/03/22(水) 17:33:09.53:/LjNvXVg
Qtバックエンドのウィンドウでマウスコールバック取るにはどうすればいいんだ?
[sage] 2017/03/22(水) 17:57:34.76:+8Koiwe2
なぜここで聞こうと思った
[sage] 2017/03/22(水) 17:59:44.99:/LjNvXVg
Qt組み込んだだけで本体はhighguiのウィンドウじゃないの??よく分からないけど
[sage] 2017/03/22(水) 21:23:50.72:Am7axbJi
よく分かってから来て
[sage] 2017/03/22(水) 21:29:57.62:5RpsXBhr
よく分からないのでそこをなんとかお願いします。
マウス座標が取得できなくて大変困っております。
[sage] 2017/03/22(水) 21:52:58.22:dZZlEx+4
何故最初は小さいプログラムから作らないのか
qtとOpenCVでマウス座標取ってこい
[sage] 2017/04/12(水) 12:58:22.47:nbU1pLts

これ教えて気になる
[sage] 2017/05/09(火) 12:58:13.16:l4i4sD4Y
opencv3.1で
connectedComponentsWithStats使ってラベリングしたんだが
指定した面積以下はラベリング除外ってできる?
[sage] 2017/05/09(火) 12:59:17.10:l4i4sD4Y

言語はC++でVisualStudio2015
[sage] 2017/05/09(火) 21:44:28.31:7f7VtSL1
それぐらいの処理ならソースコード読んで自分で組み込んだらいいんじゃね
[sage] 2017/05/13(土) 22:46:00.69:uY4Y4Qvj

そのまんま、ラベリング結果を操作するだけでいいと思うけど。どんな動作を想定しているの?
[sage] 2017/05/14(日) 12:58:05.16:RW4x4SJY

指定面積以下にはラベル付けをしない

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

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

最終的にはラベル番号がちゃんと連番かつ面積以下を除去できるようにしたいわ
[sage] 2017/05/14(日) 13:04:18.40:RW4x4SJY
あとラベリングした輪郭が途切れたりしてるからラベリング統合みたいなのできたらいいなって今考えてる
[sage] 2017/05/14(日) 13:12:28.18:Eay2zfQC
変数作って指定面積以下ならラベリング結果を格納するようにして採番したらいいだけでは
[sage] 2017/05/14(日) 14:18:03.85:e/yCKCsM

これをそのままプログラムにすればいいと思う。
[sage] 2017/05/14(日) 14:59:19.86:RW4x4SJY
それでいくわ
[sage] 2017/05/18(木) 17:02:45.98:ZPY3GgIW
ラベリングで物体ごとにラベリングできないから領域統合してうまくラベル付けできるようにしようとした

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

なんかいい方法ない?
[sage] 2017/05/18(木) 17:03:48.78:ZPY3GgIW
肝心なの忘れてた
環境は
opencv3.1 c++ visual studio 2015
[sage] 2017/05/19(金) 08:58:34.15:fhP/8zas

何で物体ごとにできないの?画素がつながってないから?
[sage] 2017/05/19(金) 12:52:27.14:hTRs5dEo

複雑な形かつ輪郭が繋がってる部分もあるから
一つずつラベリングしたいけど二つまとめてとかになってしまう
[sage] 2017/05/19(金) 15:15:31.69:vqbyNvRL
そういうのはどういう画像かによるからエスパーじゃなきゃわからないよ・・・
[sage] 2017/05/19(金) 16:45:09.18:hTRs5dEo
例えばこういうのをちゃんと家は一つずつラベリングしたい
ttp://i.imgur.com/hOIzShz.jpg
[sage] 2017/06/08(木) 16:52:15.55:IPntxoR8
公式でC#に対応してくれんかな
OpenCVSharpの人とか頑張ってくれてるけども
[sage] 2017/06/27(火) 09:09:26.10:WuBzCuMJ
質問です。

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

unsigned char Gray[Y][X]のようなバッファを、cv::Matに代入するには、どうするのでしょうか。
[sage] 2017/06/27(火) 12:34:28.92:u30jKple
for文をネストして多次元配列の中身を一つひとつ丁寧にdataメソッドでMatクラスに移植する
[sage] 2017/06/27(火) 12:36:16.05:Tb4zoP8Z

コスト大www
[sage] 2017/06/27(火) 12:40:05.25:ZZnYACXF

俺のアルゴリズムぱくんなよ
todo修正コメントは入れとくがw
[sage] 2017/06/28(水) 13:53:10.62:AJijq7Zo
もヨロ orz
[sage] 2017/06/28(水) 15:43:27.90:7M5wzg7m
回答すでに出てんじゃん
[] 2017/06/29(木) 21:45:32.05:yY3IPXDE
赤青のLEDを別々に認識させたいんですが、RGBの閾値よりHSVのほうがうまく認識させられますかね?
[] 2017/06/29(木) 21:52:54.97:yY3IPXDE
あとカメラのオートフォーカスや露光調節をしたいんですが、highguiでは無理ですか?
[sage] 2017/06/29(木) 22:04:22.04:grguhP+/

場合による
色空間のチャンネルをsplitしてinRangeメソッドで判定するのがスマート


v4l2-ctl --set-ctrl=contrast=0
[] 2017/06/29(木) 22:44:13.36:yY3IPXDE

opencvでは無理なんですね…
プログラミング全然できない自分にとっては敷居が高そうです
[sage] 2017/06/30(金) 01:43:05.65:KO2sHkgv
ステレオマッチングでなんかやろうとおもってggったんだが、ネットに落ちてるサンプルコード的なのがまったくうごかん助けてくれ…
Xcodeで動かしてるんだけど、なんとか修正しようとしてもcvLoadImageがNULLしか返さん
[sage] 2017/06/30(金) 06:49:52.85:vX1gPFnk
エスパー募集中か
[sage] 2017/06/30(金) 09:36:32.42:sEv9UkGQ

>色空間

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

次元が多いもの、付加情報足せるものとか、あるのでしょうか。
[sage] 2017/06/30(金) 09:40:09.91:arYqdS+0

カメラ制御はカメラのライブラリを使え。
OpenCVにあるのは基本的にwebカメラを最低限に動かす程度、ってか全てのカメラを制御するコマンドなんてエスパーじゃないと作れん。
カメラ制御コマンドに共通規格がある訳じゃないし。
[sage] 2017/06/30(金) 11:57:24.36:msOIpcgS
cv::imread使えよ
そんな化石みたいな関数使ってもいいことない
とはいえどうせ画像パスがサンプルコードのままとかいうオチだろうけど
[sage] 2017/06/30(金) 12:52:20.08:3nIvuxBC
初級2ちゃんエスパー検定試験開催中
[] 2017/06/30(金) 17:53:01.15:aYaCN+Zi

教授にUSBカメラのデバイス設定で露出とかそういうの変えられるでしょ?みたいに言われたんですが、制御、設定するプログラミングを別で組まない無理ですよね?
[sage] 2017/06/30(金) 18:17:42.49:da6qsFRC
何したいのか知らんけどガンマ補正かけたりして補正するんじゃだめなんかい
せっかくのopencvだからそういう使い方しようよ
あくまでソフトだから、基本的にハードの制御は他でやるべき
[sage] 2017/06/30(金) 18:35:58.87:hhb/IL1e
「USBカメラのデバイス設定」はopencvじゃないでしょ
USBカメラのデバイス設定では変えれるし、例えばwindowsなら汎用の設定方法が用意されてるからそれ使えばプログラム上から設定できる
[sage] 2017/06/30(金) 19:51:51.32:AWyPN87J

レスありがとう
パスは変えてるよ、流石に
cv::Mat使ってみたんだけど俺の理解力不足なのかまったく使い物にならん

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

誰か詳しく教えてエロい人
[sage] 2017/06/30(金) 20:33:12.86:X7AokIbD
何で2016年にIplimageとか使ってんだよ・・・w
matに書き換えるのきついならとりあえずデバッグしてみーよ
そもそもエラーメッセージは何?
[sage] 2017/06/30(金) 23:32:35.26:X7AokIbD
ちょっと調べてみたら
StereoGCちゃんは3.系になったときにリストラされてるねwドマーイ
[sage] 2017/07/01(土) 00:44:28.30:AOCuOCf0
ttp://ishidate.my.coocan.jp/opencv_20/opencv_20.htm
[sage] 2017/07/01(土) 00:52:05.72:6uo9+xqb
それ2.系のソースだから多分動かんよ
[sage] 2017/07/01(土) 02:49:09.69:PHrzZsba
です


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


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


の修正したけどエラー出るソース乗っけた方がいいですか?長いしクソコードです
[sage] 2017/07/01(土) 03:32:55.02:WKIxAUak
意訳「まだエスパー検定試験した方がいいか?まだ続けようか?」
[sage] 2017/07/01(土) 07:28:05.90:JzB6kPFv
ステレオマッチングなんてそこら中にすぐ動くソースあるんじゃねえの
めんどくせえからキネクト買え
[sage] 2017/07/01(土) 08:26:57.30:bop7+UjN
まさかの2.系使いかよ
それでそのソースが動かないということは、環境に問題がある気がする
まずこのレベルのは動くのか?
ttps://reiji1020.gitbooks.io/play-opencv/content/sample-code.html
[sage] 2017/07/01(土) 18:13:02.62:wwhF2J4h
hough変換調べてるとよく

ttp://i.imgur.com/obLDsYA.png
こういう画像見かけるけど
これってどうやって作成するのだ?
[sage] 2017/07/01(土) 20:29:53.52:XI3Ts6Pa

バリバリに動くよ

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

IplImageってOpenCV界隈じゃもうクソ規格なのかい?
[sage] 2017/07/01(土) 21:15:51.07:g4C1aejJ
opencvのバージョン何?

クソ規格というか、もはや使われていない
過去の遺産的に一応残っているだけ状態
[sage] 2017/07/01(土) 21:36:43.80:XI3Ts6Pa

上にも書いてる通りに2.4.13.2だよ
3.x系が最新で遺産が多い2.4.x系がメンテ程度に更新されてるって認識でいいのかい?
最近触ったばっかだからまったくわからん
[sage] 2017/07/01(土) 22:11:02.32:g4C1aejJ
少し違う
3系でもまだ一応遺産は残ってる
ただ新しい関数ではもちろん使われないし、
StereoGCちゃんのように随時削除されていったりする
[sage] 2017/07/01(土) 22:12:56.09:g4C1aejJ
だからどうしてもStereoGCちゃん使いたいから旧版使わないといけない!
とかいう場合を除いて基本的に最初に入れる時は最新版の導入がよいよ
[sage] 2017/07/02(日) 02:20:04.60:2KVVeWR1

できればStereoGC使いたかったんだけど、これ以上頭混乱したくないし大人しくStereoBMで我慢しとく
丁寧な説明トンクス またわかんないことあったら来るよ
[] 2017/07/03(月) 13:20:20.57:3bAoRzZo
Iplimageって過去の遺産なのか…
カメラから画像取得でずっとIplimage使ってたわ
2.4.9です
[sage] 2017/07/03(月) 13:43:34.00:v5BZipuQ
なんで遺産なん?
[] 2017/07/03(月) 14:15:23.22:3bAoRzZo
質問です
画像を二値化したとき、白の集団が二つあり、それぞれで認識させるってことは可能なのでしょうか?
[sage] 2017/07/03(月) 18:59:16.39:m1etFu0O
findcontoursやラベリング関数で出来そう
[sage] 2017/07/03(月) 19:21:30.93:Lbjam2Yy
なんで画素が連続してる前提なんだよ
集団が2つと既知ならk-meansを使えばいい
[sage] 2017/07/03(月) 19:36:31.70:pS+W+qPk
モルフォロジー変換してk-meansでよさそう
[sage] 2017/07/04(火) 01:45:34.62:rUXogfnF
なんでそんな喧嘩腰なんだよ
[sage] 2017/07/04(火) 02:39:23.60:48gcNEwZ
戦闘民族だから
[sage] 2017/07/10(月) 05:08:46.49:ImHRmJ7/
opencv超初心者なんですけど、カメラによるリアルタイムの映像にping画像を透過することって出来ますか?
[sage] 2017/07/10(月) 11:45:11.85:H0WRdEPX
できる
[sage] 2017/07/10(月) 17:22:42.80:Txcdp1OI
スーパーダサイヤ人
[sage] 2017/07/19(水) 00:43:07.30:nwQCI0l5
誤差拡散(たとえばFloyd-Steinberg)で二値化したい場合ってバカ正直に1ピクセルずつ読んで散らしていくしかないのか?
特にインタプリタだと処理時間がバカにならないんでOpenCVの機能を使って速く計算出来ないのかな
OpenCVで計算できないのであればMatのピクセル値とインタプリタの配列を高速に相互変換出来る方法でも良い
ruby-opencvでやっているけどRubyがピクセル値を計算している時間よりMatを読み書きしている時間の方が長いw
[sage] 2017/07/19(水) 01:05:45.68:Ncz3nPsY
高速化したい部分をC/C++で書け
[] 2017/07/19(水) 11:33:49.64:+fK80sDM
そこでFPGAですよ
[sage] 2017/07/20(木) 01:17:52.39:01uupJ2t
mat.at(y,x)とBGRの罠はいい加減どうにかならないのか…
[sage] 2017/07/20(木) 06:48:41.03:m+4agcCu
コンピューターの画面は左上が原点になるよう設計されてるからな
タイムマシン発明して変えてこい
[sage] 2017/07/20(木) 08:12:57.01:tDwsjeaW
BMPはわざわざ左下原点にしてるからややこしいことになる
[sage] 2017/07/20(木) 08:39:38.64:0b9xdtC8
Mat::atと原点位置は関係ないと思うが。低い次元(x)が後の引数なのが違和感あるってことだろ?
Rとかだとxを省略したら行ベクトルを意味するとか合理性はあるんだが、OpenCVのatは
1引数で呼んだ時の動作はなんか適当だね。
[sage] 2017/07/20(木) 08:52:36.04:CxqiqQov
そもそもatとかいらん、ポインタ使え
[sage] 2017/07/20(木) 12:30:40.91:yGV4vGN/

ゲームギアは画面の真ん中が原点。
[sage] 2017/07/22(土) 18:01:04.81:Zmb5Pcwv
CからCvMat@OpenCV2.4のピクセル値を読み書きしたいのですがどのようにしたらいいですか?
ググってもC++からやっている事例ばかり引っかかってCから操作している例を見つけられませんでした
dataあたりから出来そうな気もするのですが・・・
[] 2017/07/23(日) 16:50:41.03:izG3yijY
その通り
[] 2017/08/07(月) 11:59:39.60:w0+OBzVI
cv:Mat


平行移動サンプルコード
くださいorz
[sage] 2017/08/07(月) 19:28:00.98:S06Ddx/X
並行移動ってもうちょい具体的に
[sage] 2017/08/07(月) 20:05:51.18:FS16tv0T
  cv:Mat

これで移動完了
[] 2017/08/08(火) 08:52:07.91:OvVzYAy2
Mat frame = cv::imread

とかやって、

frameの画像を下方向に1ピクセル移動、右方向に2ピクセル移動、
は、コーディングはどうなりますでしょうか。
[sage] 2017/08/08(火) 11:55:52.86:yWPGhfQU
いや、補完の処理をどうすんのかって話
はみ出た部分は消滅させるのか、移動した分だけ画像サイズがでかくなるのか
動いた穴の部分は黒塗りでいいのか
とか
[] 2017/08/08(火) 12:04:02.43:OvVzYAy2
同じ大きさが良いです
はみ出た部分は消失です。
動いた部分、黒塗りしたいです。
[sage] 2017/08/08(火) 13:23:12.83: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が移動量、それぞれ画像の右方向、下方向が正ね
[sage] 2017/08/08(火) 13:27:02.96:yWPGhfQU
あ、CV_8UC3はsrc.type()の方がよかったね
まあエラーとかも含めてその辺適当に。。

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

次には、回転を自分で作る、もしくは、ネットから拾ってくる予定です。
[sage] 2017/08/08(火) 15:30:02.27:yWPGhfQU
なんだよ実装の勉強じゃないのかよ!
それならopencv 平行移動 とかで何ぼでも出てくる気がする
てか回転まで必要なら最初からアフィン変換使えって話になってくるだろうしw
まあ頑張ってー
[sage] 2017/08/08(火) 17:00:34.40: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はラジアンじゃなくて、シータなんですね。
[sage] 2017/08/08(火) 17:41:38.99:OvVzYAy2
反時計回転になる原因わかりました。

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

不思議な流儀ですね。

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

一応、自分の書きたかったことはこれで終了ですが、レスは延々と読み続けます。
[sage] 2017/08/09(水) 00:23:06.07:XzB0Bln2

高校で三角関数やらなかった?数学では0度がx軸右方向で反時計回りに回ってって90度がy軸上方向ってのが一般的じゃない?
もちろん、なぜx軸を上方向にとってy軸を右方向にとったり、x軸を右方向にとってy軸を下方向にとらなかったのか?ということを言い出したら「不思議な流儀」になるかもしれないが
[sage] 2017/08/09(水) 03:53:55.23:GMdirX6E
滅茶苦茶初歩的な質問で申し訳ないんですが
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
をインクルードしてるのにcv::circle()が無いと言われるのはなぜでしょうか
imshow()やwaitkey()は使えます
OpenCVのバージョンは3.3.0です
[sage] 2017/08/09(水) 07:38:06.13:wpOQdQY0

エラーメッセージを全部入れてくれないとなんともいいようがないが
インクルードしてるのに関数が見つからない場合は -lopencv_core とか
そんなのを指定し忘れてるとかかなぁ
[sage] 2017/08/09(水) 10:03:31.22:Nar8iR46
#include <opencv2/opencv.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>

何するか知らんが、チュートリアルレベルならだいたいこの3つで事足りる。
[sage] 2017/08/09(水) 13:24:55.64:LtfCN5pR
再生動画(といっても、静止画の配列)のブレ補正処理は、
どういったメソッドでやられてますでしょうか?
[sage] 2017/08/10(木) 09:01:05.14:xLSenUHW
cv::Matの大きさを変える場合には、
>mt = cv::Mat(height, width, CV_8U).clone();
といった書き方でよいのでしょうか?
[sage] 2017/08/10(木) 09:05:14.19:pkwCcRJu
大きさを変えるとは?
元画像があって、指定した大きさに拡大・縮小したいという意味?
[sage] 2017/08/10(木) 09:31:23.08:xLSenUHW
バッファの大きさを変えるだけです。
cv::Mat mt(height, width, CV_8U);
と宣言時に大きさかけますけど、
宣言後にバッファサイズを変える方法が分からなくて。
[sage] 2017/08/10(木) 13:26:58.12:Sraj3Va7
大きさ変えるってのがうーん
今のデータを残しつつ新しい部分を追加するってこと?
[sage] 2017/08/10(木) 13:51:49.93:CcnWoQiq
mt = cv::Mat(height*2, width, CV_8U);
[sage] 2017/08/10(木) 14:21:25.23:xLSenUHW
え、
>.clone
要らないんですね。
左辺と右辺でバッファの実態が共有されるのに、
次の行でメモリ解放されないんでしょうか。
[sage] 2017/08/11(金) 10:54:58.16:MAQPQwLn
新しい変数を使うのじゃダメなの??
既存の変数のサイズを変えないといけない場面が分からないんだけど
[sage] 2017/08/11(金) 11:02:06.75:SqwigL4Y
おまえもだと思うけど、そこまで難しい話しても理解できないでしょ
[sage] 2017/08/11(金) 15:26:52.99:Rv0iJ0O8

vector<int> vec(10);
vec = vector<int>(20);
というコードを書いたときに変数とオブジェクトの関係はどうなっているか、というレベルの話なので、C++をまずは勉強したほうがいい。
[sage] 2017/08/16(水) 10:23:21.36:GzC89dk5
C++の勉強では、newと書くことになってるでしょ?
いやだから、どうなっているか教えて?
[sage] 2017/08/16(水) 15:19:37.66:Ljo9giCK
頭悪いんだから大人しくpython使いなさい
[sage] 2017/08/17(木) 01:06:40.35:e+gexvbV

newと書くことが必ずしも必要なわけではない。そして、コピーしたいときに=で済むか、cloneメソッド的なものを呼ばないといけないかは、クラスの作りによる。
続けるとスレチになるし、おそらく現状の理解からvectorの例までを理解するのにはそれなりにやりとりが必要になるような気がするので、詳しくはC/C++初心者スレッドみたいなところで質問してほしい。
[sage] 2017/08/17(木) 02:17:20.86:PTK6O3Ph
つかマジでvectorのサイズ変えるくらいなら新しい変数作ればよくね?
[sage] 2017/08/17(木) 08:27:33.84:uDwfQQpB
>>708

おまえ馬鹿じゃね?

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

それが分からないなんて、知能がたりない。
[sage] 2017/08/17(木) 08:38:10.08:Rjw/N7cG
2chのプログラム関連はそんなもんだろ
それが分からないなんて、知能がたりない
[sage] 2017/08/17(木) 08:58:46.16:uDwfQQpB
知能がたりないかどうかは、一旦保留にしておいて、、、

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


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

Matは参照カウントか何か細工してますか?
[sage] 2017/08/17(木) 09:00:17.65:uDwfQQpB


クラス変数にしてるので、そうできない局面で。
[sage] 2017/08/17(木) 10:37:36.74: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);
メモリ管理連呼してるくせにメモリ管理まったくわかってないんじゃないか
[sage] 2017/08/17(木) 10:51:32.35:uDwfQQpB
あ、そうなの?

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

なら、.clone必要になるんですが。
[sage] 2017/08/17(木) 10:58:32.69:LViMArV/
Mat mt(height, width, CV_8U);
Mat new_mt(new_height, new_width, CV_8U);
mt = new_mt.clone();

これじゃダメなの??
[sage] 2017/08/17(木) 11:07:08.77:Rjw/N7cG
じゃ必要だな。使っとけ
[sage] 2017/08/17(木) 11:20:36.76:uDwfQQpB
クラス変数: Mat mt(height, width, CV_8U);

としたとき、

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

で、cloneの有る無しで、メモリ管理は、どうなりますでしょうか。
[sage] 2017/08/17(木) 11:21:15.48:JrjUJCSV
どうも質問者はC++とJavaをごっちゃにしてる感あるな
[sage] 2017/08/17(木) 11:25:00.41:JrjUJCSV



Mat mat(h, w, CV_8U);

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

mat3 = mat.clone(); //この時点でmat3の内容は mat と全く同じだがmat3はmat から独立してるので
             //mat3 に何をしてもmat には反映されない
[sage] 2017/08/17(木) 11:38:41.34:e+gexvbV

vectorがどうしてcloneを呼ばなくていいか、Matでcloneを呼ばなきゃいけないときはどういうときか、そういうのを把握するためにC++のクラスの基礎的な理解が必要だって言ってるんだけど。
vectorがどうして呼ばなくていいか(どういう処理が実際に行われてるか)わかるようになればMatでどうすればいいかはソース読むか簡単な実験すればわかる
別に馬鹿にしてるわけでもないのに馬鹿だの知能が足りないだの短気なやつだな。
[sage] 2017/08/17(木) 11:44:42.00:uUKVNIMC

vectorでやってもおかしくならないよ。
[sage] 2017/08/17(木) 12:02:48.59:uDwfQQpB


おま、頭悪いなー。

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

動作の違いだと、なんどいったら、小一時間、、、
[sage] 2017/08/17(木) 12:17:18.50:QOcYPa3W

リファレンスやソース読めばその動作の違いはわかるよ
もちろん問題なく使い分け出来てるけど、それが出来ないのは頭が悪いからなのでは?w
[sage] 2017/08/17(木) 13:33:11.05:uDwfQQpB


しつこいんだけど。

バカなの?市ぬの?
[sage] 2017/08/17(木) 13:49:21.19:Rjw/N7cG
一連の流れで一番賢かったのはだな。だめだコイツ
[sage] 2017/08/17(木) 13:53:18.54:uDwfQQpB
Pythonで
import cv2
したら
SAMEプロブレムになるのでわ?
[sage] 2017/08/17(木) 14:29:50.95:uDwfQQpB
>mat2 = mat; //mat2.data は mat.data と共有されてるので mat2 を変更すると mat も変更される

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

それとも、そうならないようにOpenCVの中で工夫してくれているので、考えなくて良いのでしょうか。
[sage] 2017/08/17(木) 16:55:00.33:JrjUJCSV

内部実装で参照カウンティングが使われていてれば問題なく mat2 を
使い続けられるだろうけどウィロウガレージの中の奴らを信頼するべきじゃない
(基本ゴミ)なので危なそうな使い方は最初から避けるのが無難
[sage] 2017/08/17(木) 17:02:48.62:uDwfQQpB
了解です。
無駄なステートメントになったとしても、.cloneを使うことにします。

参照カウンティング~ということは、OpenCVのベース部分にガベコレが何らか実装されているということですね。
[sage] 2017/08/17(木) 21:16:47.77:vpgYUhkf
だから最初から大人しくclone使えばいいって言ったやんけ
少しくらい量が多くなっても大して変わらん、メモリ管理ガーとか言ってる時間の方が無駄
[sage] 2017/08/18(金) 12:07:02.89:eIpnBeVf

嫌なら new を再定義
[sage] 2017/08/18(金) 15:39:27.28:EZSlBiH3
いや、そのりくつはおかしい。

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

そういうことが必要な状況もあるだろうから、否定はしないが
[sage] 2017/08/19(土) 15:22:28.74:vQyZjPpv
いやならC使えよ
[sage] 2017/09/02(土) 01:09:37.90:/3mdn3Bp
初心者です。
今png画像からHoughCirclesで円を検出しているのですが、png画像で検出出来なくてもjpg画像にすると円を検出出来ることが度々あるのですが理由など分かりますか?

画像処理で精度求めるなら可逆圧縮のpngなど使うのが良いと思ってたので混乱してます。
[sage] 2017/09/02(土) 18:51:13.79:AmWVvi8J

それぞれのファイル形式でimreadしたときに、どんなMatが出てきてるか確認してる?同じようなものならHough変換の結果もそんなに変わらないはず。
[sage] 2017/09/03(日) 16:52:49.56:QyuO11e3
求 ソースコードと2種の画像ファイル
[sage] 2017/09/03(日) 22:05:13.04:l2VSYqMz
ノイズを除去してないからだろ
[sage] 2017/09/06(水) 18:11:42.76:gNGLiUGh

超能力でアレすると,アルファチャンネル付きのpngを扱ってるのが原因かも
OpenCVはアルファチャンネルの画像の扱いがおかしい(ことがある)。
[sage] 2017/09/21(木) 11:43:21.80:YvwuVHPl
ttp://rad-base.com/wp-content/uploads/2015/08/005_ph04.jpg
こういった感じで、ある範囲のピクセル値を持つ領域を、
外側(青)と内側(赤)に自動で分けたいのだけど、
OpenCVとか使うとできるものですか?
[sage] 2017/09/21(木) 12:27:46.38:1bEsMVa+
ある範囲のピクセル値を持つ領域

この定義によってはできるし、できない
[sage] 2017/09/21(木) 12:38:23.44:x6ZzXJvX
どうやってコンピュータに理解させるかだわな
[sage] 2017/09/21(木) 12:52:28.53:4eUYxuUw
ロバスト性考慮しなかったらadaptiveThreshold使えば5分でできる
[sage] 2017/09/21(木) 13:15:37.25:YvwuVHPl

ありがとうございます。

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

adaptiveThresholdという関数もありがとうございます。
OpenCVを調べてみようかと思います。
[sage] 2017/09/21(木) 15:10:39.94:pZ67HTqZ
Xcode で openCV動かしの民なんだか
今回のアプデでOpenCV動かんくなった もちソースに変更なし
解決方法しってる博識おらんか?
[sage] 2017/09/21(木) 15:12:39.22:Rn57IsrY
だいたい医療画像って確か周波数領域で扱うもんだったでしょ?
フーリエ変換してフィルタかけるとかの方がいいんじゃね?知らんけど
[sage] 2017/09/21(木) 15:14:22.21:Rn57IsrY

1.前ソースに戻す
2.動けば解決で修正とかパッチなり待てばよい
3.動かなければアプデのせいじゃないのでドンマイ
[sage] 2017/09/21(木) 15:23:01.98:pZ67HTqZ

そ〜す変えてないから修正待ちするわ うんち サンクス
[sage] 2017/09/21(木) 15:45:53.27:0Ii6MUxg

そ~すってOpenCV自体のソースのことじゃ無いの?
OpenCVを以前のバージョンに戻してみるって話でしょ。
[sage] 2017/09/21(木) 16:03:20.26:Rn57IsrY
それ
ついでに、望みはそんなにないけどまあヒントくらいはもしかしたら与えてやれるかも知れないから具体的にどう動かないのか教えてみて。
[sage] 2017/09/21(木) 18:17:31.79:gMObALxl
本探してもC++で解説してるやつばっかりやな pythonで解説書いてるやつで初心者にも分かりやすいやつ教えてくれ
[sage] 2017/09/21(木) 19:11:25.47:vYu+noTX
割りとまじめに先にgoogleの使い方覚えたほうがいいと思うよ
覚えたら本買う気なんてなくなるから
[sage] 2017/09/21(木) 20:49:19.64:djJph1z5

OpenCVのバージョンも何も、変わらず
ついこないだまでやってたXcodeプロジェクトをXcode 9.0にしたらエラー吐くようになったの
画像どこにうpすればいいかわからんからこれで勘弁して
ttps://drive.google.com/open?id=0B1gQp0SqZRp6UnZoVlVxcGZKYlU
ちょっとググったらシンボリックリンク貼り直せだの(やったけど治らん)
brew doctorしたら pruneしろだの 言われて打ったけど動かない…
学生なんでこれ使えないと割と困るんでヘルプお願いします…><
[sage] 2017/09/21(木) 21:23:31.99:vYu+noTX
opencvなんも関係ないだろw
もっとちゃんとエラー見ろよ
[sage] 2017/09/21(木) 21:40:35.95:Rn57IsrY
卒研かーい
そして、プログラム君がimage not foundって思いっきり訴えてきてるけど?
[sage] 2017/09/21(木) 21:41:56.41:Rn57IsrY

基本的には何も変わらないよ
あるとしたら、numpyの知識が若干欲しいくらい、それさえ覚えれば大体のことはどうとでもなる
[sage] 2017/09/21(木) 22:05:41.85:djJph1z5
そのimage not found の訴えの退け方がわからnいっす
[sage] 2017/09/21(木) 22:20:43.69:vYu+noTX
www
[sage] 2017/09/22(金) 03:18:08.30:fjr8SzvJ
・・・何だろう・・・社会に出ちゃっていいのかな・・・?
[sage] 2017/09/22(金) 12:32:35.88:rbqMopce

そう思っていた時期がわたしにもありました
[sage] 2017/09/22(金) 15:14:03.43:W/9VGrE5
OpenCV使わずに自力で書いた方が早い気もするw
[sage] 2017/09/23(土) 08:35:19.56:5Hpz6Jfl
spyder使ってるんだけどwebカメラ起動するコード書いて実行するとフリーズするんだけど軽くする方法教えて
[sage] 2017/09/23(土) 08:45:21.28:u4bHlQKH
どうせそのコードが悪いんだろ。エスパーじゃなきゃわからん
[sage] 2017/09/23(土) 09:22:06.18:3cuY+qEf
まずはコードをうぷれ
[sage] 2017/09/23(土) 11:03:29.94:W5G2i5Oo

そう思ってた時期が俺にもありました
[sage] 2017/09/24(日) 14:57:29.04:EP+fvRXu

だけど ttps://www.messiahworks.com/archives/7852 このサイトのコードです
[sage] 2017/09/24(日) 15:16:29.64:EP+fvRXu
何回かやったらカメラは起動できたけど顔は認識されないしグレースケールにもなってない、、
[sage] 2017/09/24(日) 15:24:39.90:KdVNcd4v
数行しかないんだから何やってるか読めよ
[sage] 2017/09/24(日) 20:38:19.42:nbM/UkzU

while で意図的に無限ループ作るやつは所々 sleep 入れると動くこともある
[sage] 2017/09/25(月) 11:23:45.06:8qLoQ9vT
カメラのfps内でsleep入れた方がいいよな
画像取得するまでひたすら無限ループをブン回すのは暴走の元
[sage] 2017/09/25(月) 12:04:53.81:JnK94/2y
こういう糞なテストコードをまともに動く形に持って行くのって大変だよな
[sage] 2017/09/25(月) 15:57:29.86:DS9STyAc
ウェイトを入れないのもどうかと思うけど、
イベント通知やら何やらの仕組みが無いのも問題っちゃー問題ではあるんだよな
[sage] 2017/09/25(月) 21:59:03.88:aRrgPtbQ
嫌なら使うな
[sage] 2017/09/26(火) 01:10:29.20:SlBInbkD
嫌 != 大変 != 問題
[sage] 2017/10/07(土) 21:15:49.05:taSaJaQU
画像内に写る要素の微小領域を統合したい
どうすれば統合できるかな?

今はラベリングでやろうとしてるけどそれ以外の方法もあるのかな?
[sage] 2017/10/07(土) 21:44:58.48:VGyrO9v6

バラバラに散らばった領域を太らせて一個の領域にするということ??
言ってることがよくわからないな
[sage] 2017/10/07(土) 22:34:36.02:taSaJaQU

隣り合ってるような微少領域要素を統合していって大まかなラベル分けをしたい
[sage] 2017/10/08(日) 07:50:51.35:22ZPOjtu
統合とラベリングって割と相反する概念だと思うんだけど
[sage] 2017/10/08(日) 09:18:49.15:00HukpVD
こういう緑の線みたいな感じで領域統合して大まかなラベルつけたい

なんかないかな
[sage] 2017/10/08(日) 09:31:06.07:ZliA/0nd
どういうルールで小さいやつはどちらに分けるか決めるの?
[sage] 2017/10/08(日) 10:02:37.04:00HukpVD
特徴が類似してるほう
[sage] 2017/10/08(日) 19:10:35.72:mjOcXoyF
特徴を決める尺度により過ぎるとしか。
画像みたいに近いものでまとめるなら物体毎の重心点でk平均取るとかでいいやろうけど。
[sage] 2017/10/10(火) 06:25:27.23:MWrCwf/c

こういうやつ?

ttp://docs.opencv.org/3.0-last-rst/modules/ximgproc/doc/superpixels.html

サンプルでは背景からクマを分離してるけど
[sage] 2017/10/10(火) 07:42:25.30:E6iIl46r

そうそうこういう感じ!
[sage] 2017/10/10(火) 09:39:21.88:NEhUrJL6
SLICまんまやん、ならそのまま使えばいいよね
[sage] 2017/10/10(火) 10:27:57.22:6ZkkQWOq
使い方わからん
[sage] 2017/10/10(火) 10:40:35.00:Hmt4/j8e
じゃぁ諦めるか金出して作ってもらえ
[sage] 2017/10/10(火) 10:50:52.47:NEhUrJL6
何でやねんw784に全部書いてあるやんけw
[sage] 2017/10/10(火) 13:25:12.71:seBlNaJU
ネットワークカメラの映像を流す(ストリーミング)Windowsフォームを作りたいです。

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

開発言語はVS2013のC#を考えています。
[sage] 2017/10/10(火) 13:55:35.29:Hmt4/j8e
opencvに配信機能なんかあるのか?
配信だけならmsとかのツール使えばすぐだろ
[sage] 2017/10/10(火) 14:17:41.70:IAzrS1Nq

まずネットワークカメラの機種が固定でライブラリが有るかどうか
あればライブラリとC#だけで出来る
汎用のWebカメラとかだったら、Directshowをラップしたり、OpenCVSharpを使うが、最初が意外と面倒
OpenCVは画像処理がメインだけども、C#のWinFormにWebカメラライブラリが無い
[sage] 2017/10/10(火) 14:41:23.40:seBlNaJU


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

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

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

OpenCVで画像(動画)を取得してもWinFormでは扱えないということでしょうか?
[sage] 2017/10/10(火) 14:57:31.39:IAzrS1Nq

言葉足らずですいません、
OpenCVで画像を取得すれば、C#のWinFormで画像を扱えます
WinFormにはWebカメラのライブラリが無いので、何らかの外部ライブラリ(OpenCV等)が必要ってことです
[sage] 2017/10/10(火) 14:57:36.08:IAzrS1Nq

言葉足らずですいません、
OpenCVで画像を取得すれば、C#のWinFormで画像を扱えます
WinFormにはWebカメラのライブラリが無いので、何らかの外部ライブラリ(OpenCV等)が必要ってことです
[sage] 2017/10/11(水) 00:17:39.63:nDtE4t5M

ネットワークカメラと通信して画像データを取り出すところは、OpenCVの範囲ではないような気がするな
AXISのVAPIXってAPIか、libvlcとか、gstreamerとか、Windows詳しくないんでよくわからないけどDirectShowとかWMFとか、その辺を触らないといけないと思う
ごく標準的なWebカメラであれば、OpenCVのVideoCaptureで開けたと思うけど、Skypeとかのカメラ一覧に出てくる範囲とかそのレベルが選べるだけだと思う。
[sage] 2017/10/11(水) 07:40:46.23:DjyQ9XYK

ちなみに opencv superpixel でぐぐったらすぐ出てきたので
superpixel って言葉覚えておくといいです
[sage] 2017/10/11(水) 14:01:31.60:rDStqhBV
もはやOpenCV関係ないな
[sage] 2017/10/21(土) 19:29:48.36:pUWAFaS6
手持ちのVC++2010でOpenCV導入しようと思ったのに
いくらプロジェクトの設定いじっても「外部参照が未解決です」みたいなエラーが出まくって
1週間くらい苦しんだ挙句VS2017をインスコして同じようにプロジェクト作り直したらあっさりエラー消えた
マジファック
[] 2017/11/05(日) 22:58:47.69: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?

こういった感じです。ネットで調べても有力な情報が見つからなかったのでわかる方いればよろしくお願いします
[sage] 2017/11/05(日) 23:43:57.19:rdt/gOFy
LD_LIBRARY_PATHが指定されてないんだろ
[] 2017/11/06(月) 10:23:29.78:RyIEypXM
ぼくのOpenCV日記の始まりです
[] 2017/11/06(月) 16:11:15.68:6e1Qi6xs

export LD_LIBRARY_PATH=/use/local/Cellar/opencv/3.3.1_1/lib
で試したのですが何も変わりませんでした。
ちなみにこのパスはの4で出てきたやつです。
[sage] 2017/11/06(月) 17:50:18.13:E1rpmMzq
Macは入れるの楽でいいよな。
[] 2017/11/06(月) 21:09:38.78:opoHmSqm
入れるだけなら楽なんですけどね・・・
ライブラリがnot foundのせいでネットにある導入方法が通用しなくて困る。特に変なことした覚えないのになぁ
[sage] 2017/11/07(火) 08:52:22.52:MA3TKC+1
ビルド済のばいなり落として来い
[sage] 2017/11/07(火) 20:30:57.86:JC+Xd9TU
detectorでcomputeした際のdescriptが空の時(多分特徴点が見つからない時)、bfmatcherでマッチングするとエラーになるのですが、これを回避する方法はなんかいい案ありませんか?
カメラから連続フレームで処理してると特徴点がない時に止まります。
簡単な回避法としてcatchとかtry-except系で例外を捕まえるのは、こちらの都合的にあまり望ましくないので、出来ればアルゴリズムで何とかしたいのですが。
[sage] 2017/11/08(水) 10:52:56.96:71QCxxre
特徴点見つからない時にマッチングしなきゃいい
[sage] 2017/11/08(水) 18:04:00.88:N2+NmdF5
1フレーム前の特徴点も取っておいてとりあえず適用とか
[sage] 2017/11/09(木) 14:15:07.34:PLp41HOg
ああ、ありがとうございますそれいいですね。
[] 2017/11/10(金) 15:31:11.19:R4AIGq6h
ver2.4だけどデフォルトで特定の色をラベリングする方法ない?
[sage] 2017/11/10(金) 16:49:51.40:5Db1u5mc
デフォルトの意味が分からんけど1つの関数でってこと?
素直に色検出とラベリングに分けたらいいのに
[] 2017/11/27(月) 12:22:21.40:Wz99dXP5
顔認識ではなくて図形の認識を行いたいのですがどんな方法があるでしょうか?
認識する図形は形は同じで大きさが異なるものです。
[sage] 2017/11/27(月) 13:43:59.68:RTSnkZuD
hough変換
テンプレートマッチング
[sage] 2017/11/28(火) 19:26:07.57:/eBPJ/C2
Webカメラで顔を認識してそれをそのまま画像に保存するって言うのはopencvでは難しいですか? その辺に強いライブラリあったら教えてください
[sage] 2017/11/28(火) 20:57:44.65:LyHL9BqZ
opencv使えよ
3行で出来そう
[sage] 2017/11/28(火) 21:01:14.14:LyHL9BqZ
すまん認識なら3行じゃ無理だな
検出なら出来る(3行とは言ってない)
[sage] 2017/11/30(木) 01:52:38.62:gej5eZFc
顔認識はあるし保存するだけだから、
環境さえ揃っていれば数分で出来るな
[sage] 2017/11/30(木) 09:02:36.25:pAiE6DGc
認識がデフォであるわけねーだろ
ぽまえらの顔はフリー素材か何かなのか?w
[sage] 2017/11/30(木) 09:04:45.62:/IB/XhDr
個人認識じゃなくて汎用の顔認識でしょ。デフォだよ
[sage] 2017/11/30(木) 09:04:50.64:pAiE6DGc
まあ顔認識のワードが先行してるしトーシロちゃんが間違うのも無理ないか
簡単に言うと顔がどこにあるのか見つけるのが検出、その顔が誰のものかが分かるのが認識
[sage] 2017/11/30(木) 09:17:26.73:pAiE6DGc
それとも何だ?一般物体認識としての顔認識の分類モデルがデフォで存在するんか?
まあそうだとしてもこのタスクの場合は検出とやってるレベル同じだけど
[sage] 2017/11/30(木) 09:25:53.20:/IB/XhDr
例えば↓から3.3.1落としたら、そんな中にhaarcascade_frontalface_default.xmlとか入ってるだろ
その調子だとおまえにかかったらこういうのは顔認識でもモデルでもないんだろうけどさ
ttps://opencv.org/releases.html
[sage] 2017/11/30(木) 09:37:28.63:pAiE6DGc
haarlikeでやってるのは顔検出なんだよってに
カメラとかで顔のとこに四角形が出るのがそれ
顔の場所だけを見つけるのが検出
認識つったら文字認識とか言うみたいに何の文字かまで、顔で言えば誰の顔なのかまで言い当てないと認識にはならない
[sage] 2017/11/30(木) 09:39:53.35:pAiE6DGc
まあこうやって講釈たれても実際一般人には顔検出のことを顔認識で通ってしまうから何も言えねえなのが辛いところ
まあでもせめてこういうスレくらいでは、ね?
[sage] 2017/11/30(木) 09:40:18.59:/IB/XhDr
うん。わかってるよ。だから「無い」が正しいなww
[sage] 2017/11/30(木) 09:46:08.78:pAiE6DGc
うぃっすうぃっす
[] 2017/12/01(金) 00:25:06.80:mKjNhYqE
誰の顔かってのは認識じゃなくて認証だと思ってたけど
[sage] 2017/12/01(金) 00:38:38.21:MbMxE9OK
認証ってのは、単に誰かじゃなくて、
「本人確認」して、さらに権限の認可とかにつなげることでしょ。
認識してもただ行動追跡するだけみたいなのは認証じゃない。
[] 2017/12/01(金) 20:54:59.49:Y4Yq7bhT
日本の歯医者は途上国以下の水準。
[] 2017/12/02(土) 13:52:20.06:XRYOyseR
それな
[sage] 2017/12/02(土) 15:51:35.82:WBDDDTAk
特に駅前の○○の指定(私鉄の沿線で鉄道会社の指定とかな)だとか何とか書いてあるとことか、
わざと一定期間でダメになったり、隣の歯の治療で穴が開通する様に細工するのが上手いからな
国民の金を回させる為に水道にフッ素入れない様にとか、おかしな国だよ
[] 2017/12/21(木) 18:52:39.90:oHjju0ec
カメラで物体を撮影して正確に物体の座標を特定したいです
今は物体にLEDを取り付けて閾値を用いて特定していますがより良い方法はありますか?
正確な座標と誤認識の少なさを両立させたいです
[sage] 2017/12/21(木) 19:13:42.11:RmyYVKbd
そういうのは撮影環境や物体の動きとかの条件次第だからなんとも言えない

グリーンバックにして環境光も変えてってできるならそうすればいいし、
物体にLEDをつけれるほどならカメラにこだわらずレーザー測距視野に入れちゃってもいいと思う
[] 2017/12/21(木) 19:33:17.15:oHjju0ec

撮影中動く物は検出したい物体のみです
環境はどんな部屋でも特定できるようにしたいのでグリーンバックなどは厳しいです
[sage] 2017/12/21(木) 19:56:58.27:RmyYVKbd
動くのが物体だけだったら諧調落としてフレームの差分とるだけで終わりそう
[] 2017/12/21(木) 21:09:06.24:oHjju0ec

フレームの差分とるだけだと動く前と動いた後両方検出してしまう気がします
動く前を除けたら最高なんですが
[sage] 2017/12/21(木) 21:29:27.49:RmyYVKbd
なんかもう無理そうな気がしてきた。今のLEDを輝度下げるとか小さいのにするとかそんなんで誤差小さくしたら?
[sage] 2017/12/22(金) 13:50:19.95:bIblLVHq
動く物体が「存在しない画像」を基準にすればいいんじゃね?
[] 2017/12/22(金) 21:59:17.04:FB9Qy9HR

なぜか盲点でした
最初のフレームは背景だけでそれと差分取れば常に物体だけ追従できそうですね
LEDの閾値と組み合わせれば誤認識少なくなりそうです
[sage] 2017/12/23(土) 09:41:48.24:4NINcBhk

背景差分ってやつだな。実際には照明の大域/局所的
変動や熱などから生じる不規則ノイズがあるので何も考えずに
差分を取るとドッタンバッタン大騒ぎになる。

というわけでロバスト背景差分が必要になるわけ。
[sage] 2018/01/24(水) 05:55:28.59:WIw3jn1Q
顕微鏡で取得した画像に対して、OpenCVでデータ処理をしようと思っています。
まずは、フォーカス合成をした全焦点画像を作ろうと思いますが、
OpenCVにはそれに向いている関数がありますか?
ご存知の方がいましたら、教えてください。
[sage] 2018/01/24(水) 14:17:06.04:WbhmIxQ2

多数の画像があってある画像では右隅にピントが合ってるが
別の画像では真ん中にピントがあっていて…みたいのを全部
がっちゃんこして「ピントが合った部分」だけで新しい画像を作る
ということでしょうか
[sage] 2018/01/24(水) 15:27:25.48:9/LCTUcH
そういうことだろ。標準機能じゃできなさそうだな
それだけやりたいってなら俺ならphotoshopに突っ込んで自動処理するツールつくるな。そっちの方が簡単かつ生成画像の品質もいい
[sage] 2018/01/26(金) 14:39:12.68:W0qpdmWb
デコンボリューションってOpenCVに実装されてないよな?
ImageJとかの方が良さそう
[sage] 2018/02/01(木) 23:11:15.72:Z+9xQhMd

じゃないんだけど画像にフォーカスが合っているかとうかなんて判定出来るのかな。
特徴点検出を掛けて多い方がシャープさが高いとか?少なくとも同じ視点で撮影していることが保証されてないと厳しそう。
あとPhotoshopだと出来ると書いた人の理論も聞いてみたい
[sage] 2018/02/01(木) 23:42:52.68:eqwpdzrc
理論も何もphotoshop標準で機能あるから・・・
[] 2018/02/02(金) 07:38:27.25:sggyuymU
>画像にフォーカスが合っているかとうかなんて判定

出来る
[sage] 2018/02/02(金) 13:27:46.46:A0N74Rg+
ググりました。
2014年にPhotoshopに「焦点領域」という機能が追加されてるんですね。
なるほど、複数の画像に焦点領域で取得した画像を重ね合わせれば作れるという事だったんですね。納得です。
[sage] 2018/02/02(金) 13:29:08.63:A0N74Rg+
OpenCVでの解決法に繋がらなくて申し訳ないです。
[] 2018/02/02(金) 16:35:09.53:UHwa6yjc
ttps://www.pyimagesearch.com/2015/09/07/blur-detection-with-opencv/
ttps://stackoverflow.com/questions/11067402/focus-testing-in-python
[sage] 2018/02/02(金) 17:11:07.25:NAEfRvIa

そうやってもいいけど、画像の整列かなんかのメニュー一発でできる
[sage] 2018/02/03(土) 11:32:16.09:jcEuZ+bz
memo
ttps://dotapps.jp/articles/qkzakqweffl1k5qp
ttp://www.gazo.co.jp/shohin_gazoum_vlfc.htm
ttp://www.eyepp.com/download/pdf/EasyFocus2.pdf
ttps://www.mitutoyo.co.jp/products/gazoukogaku/menu/gazosokuteikiso.pdf
ttp://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軸の分解能で再現できなくなるまで行えば、
ピントのあう画像となります。

問題点としては、縞模様などの場合、ベルカーブにある種の振動波のようなものが観測でき、
正確に合わせられないことがあるということ。
また、ピントの追い込み方が原始的で時間がかかることなどがあげられます。
[sage] 2018/02/03(土) 11:55:31.95:FhluCmMv
どの画像がいちばんフォーカスあってそうかってのはすぐ求まるけど
1枚の画像に合成するとこで俺がやったら汚いモザイク絵になっちまうだろうなw
(ひと昔前の使えないパノラマ合成をさらに酷くした状態)
[] 2018/02/10(土) 12:36:39.42:jClKPuF3
撮った後でも自由にフォーカス
ttps://www.youtube.com/watch?v=te5Hd4EpZZs
後半
[] 2018/02/10(土) 16:01:24.44:nWdR2ssV

それやるなら超解像顕微鏡を使った方がいいと思う
[sage] 2018/02/10(土) 16:22:08.58:A/uZfZpr

電子顕微鏡の方がいいだろ
どっちも用途違いすぎてお呼びじゃないがw
[] 2018/02/10(土) 16:25:17.78:nWdR2ssV

電子顕微鏡は画像のフォーカスがあってる部分の合成をやってないけど超解像顕微鏡はやってる
何で電子顕微鏡が出てきたのか分からん
[sage] 2018/02/10(土) 17:02:20.01:A/uZfZpr
電子顕微鏡は深度が深いから合成不要になる
[sage] 2018/02/11(日) 01:04:39.80:WMQeXuiD
波動方程式
[sage] 2018/02/15(木) 21:16:24.20:VhZncE5y
質問失礼します。
カラー画像同士の差分を取るには、3原色に分けてから差分を取ればいいのでしょうか?
[sage] 2018/02/15(木) 21:41:15.24:soH0s4OR
「差分」の定義がそうならそれでいいんじゃね?
[sage] 2018/02/15(木) 23:01:26.70:9YODWFh5
何の差分を取るかわからんが、
とりあえずならそうなるな
[sage] 2018/02/16(金) 14:56:50.23:dBpGhFbZ

それぞれ白黒にしたうえで白黒同士で差分
[sage] 2018/02/25(日) 13:08:52.75:jgVb1mDl
カラーのRGBの各要素には色がない

したがって白黒にする必要ないやろう
[sage] 2018/03/02(金) 11:25:10.29:xRs/79xP

二値化したいってことかなぁ
[sage] 2018/03/03(土) 11:57:54.05:U/tQdu7q
1.
python 3.6.3 で複数(20体ほど)の生物(オタマジャクシみたいに特徴が少ないもの)の追跡を差分法でやろうとしてるのですが、前のフレームの ある一つの動体と今のフレームの ある一つの動体が同じであるか求める方法ってありますか?
もしくは、他にいい追跡方法はありますか?
2.
追跡対象が方向転換するとき等、速度が落ちるときに認識が外れてしまうのですが、解決方法はありますか?

 プログラミングも動画処理も初めてで、動体の座標を求めてバウンディングボックスを描くところまで作りました
 自分で調べてみても、近くに別の動体が来たら認識がおかしくなるような方法しかなくて…
 ベクトルから推測するにも、やっぱり最初に判別出来ないと意味がないだろうし…
 5日くらい悩んでも分からなかったので、お願いします
[sage] 2018/03/03(土) 12:03:21.45:U/tQdu7q

抜けました

カメラの位置は固定します
経時変化による光の影響はほぼ無いです
[] 2018/03/03(土) 13:05:53.25:Cp/R2Wou

フレーム間隔は?
サンプルの画像数枚貼れる?
[sage] 2018/03/03(土) 14:30:35.23:lnxI/7eV
2回分の検出で物体が重なった面積が大きい方が同じものとしちゃう
動きが小さい&被写体が大きいなら簡単かつ効果的だよ
[sage] 2018/03/03(土) 16:07:29.60:U/tQdu7q
返答ありがとうございます


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

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


そうしようと思って一度考えたのですが、画像みたいに移動した時、別の動体と重なってしまうと、別の動体同士が認識しあってしまうんです…
ttps://i.imgur.com/yra8iZt.jpg
[sage] 2018/03/03(土) 16:12:11.94:iJZ2zPOp
|1フレーム目 - 2フレーム目| and |2フレーム目 - 3フレーム目|
ってことかな
[sage] 2018/03/03(土) 16:20:53.47:U/tQdu7q

そうです。
[sage] 2018/03/04(日) 10:12:15.34:K2njBMWG
バイオ系でopencv使うならこのサイト見るのがオススメですよ
お金を払えばオーダーメイドでプログラム作成もしてくれるみたいです

ttp://www.cellstat.net
[sage] 2018/03/04(日) 10:57:07.58:+LBimNhC
募集してないのにうちによく作ってくれって依頼くるけど
1万2万で請け負ってもらえると思ってる奴が多すぎるw
[sage] 2018/03/04(日) 11:02:52.51:8KjE9Kl8
最低ロット50万円からですね
[sage] 2018/03/04(日) 16:18:06.12:9bUhlbFW
おまえらもインテルにお金払えよな。
なんでもタダだと思ってんじゃねーよ。
[sage] 2018/03/04(日) 16:37:51.81:+LBimNhC
なんのために、どういう送金手段で、いくら、インテルに払えばいいんだ?
[sage] 2018/03/04(日) 17:13:02.33:9bUhlbFW
なんのためにってやっぱりタダが当たり前だと思ってんのか。readmeすら読んでないとかありえん。

ttps://opencv.org/

[Donate]をクリックして進め。おまえは馬鹿だからまず1万ドル払え。
[sage] 2018/03/04(日) 17:27:20.07:+LBimNhC
Donate
↑この意味調べてから書けよ・・・
[sage] 2018/03/04(日) 19:44:19.46:7GbP/ecV

この人現役大学生なのに凄いよね
仮想通貨を使ったビジネスも始めてるみたいだし
[sage] 2018/03/04(日) 23:05:20.43:LZR9dBvJ

まずは君が払った証拠を持って来てよ
[sage] 2018/03/07(水) 08:42:49.07:3giPn1xI
カラー動画を0と255の2値動画に変換して出力たのですが、実際出力された動画の画素を分析すると2値になっておらず、中途半端な値がかなり混ざっています
これはどうしようもないことなのでしょうか
[sage] 2018/03/07(水) 08:47:06.43:HKdkc2d0
変換処理もしくは分析処理にバグがあるだけでしょw
[sage] 2018/03/07(水) 08:58:33.04:HKdkc2d0
「出力」か。jpgだとjpg化処理で色変わるぞ
[sage] 2018/03/07(水) 09:06:56.66:3giPn1xI
jpgというより、動画で出力しているのでmp4です
形式がまずいとかそういう事なのでしょうか
処理は間違っていない気がするのですが…(画素値には0と255以外入れていないので…)
[sage] 2018/03/07(水) 10:07:44.62:kIj9vkCx
mp4はjpegと同じで劣化するだろ。フレーム単位で2値化なんかしたら、HDDいくつあっても足りんわ。
[sage] 2018/03/07(水) 10:13:12.85:3giPn1xI
劣化させない方法ありますか?
[] 2018/03/07(水) 10:38:55.00:4T48SgsL
png
動画も可能
[sage] 2018/03/07(水) 23:13:46.94:TgI6DfYx

圧縮しなければいい
しても可逆圧縮
[sage] 2018/03/07(水) 23:26:53.22:MzP8rhu8
詳解openCV3.0はまだ?
[sage] 2018/03/08(木) 06:41:23.88:lmdxw4R7
優秀な人だけが質問し回答すれば劣化しない
[] 2018/03/08(木) 10:09:46.81:ue18PqKi
お帰り下さい
[sage] 2018/03/09(金) 17:15:10.42: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
と出力されてしまって…
[sage] 2018/03/09(金) 17:29:30.02:x113zZI2
パスが悪いんだろ。ファイル名入れるときは絶対パスでいれたら?
[sage] 2018/03/09(金) 18:24:10.54:2PlJUe+0

そう思って、一度動画ファイルの絶対パスを入れてやってみたんですが、それでもダメでした…
.pyとの違いって何や…エラーも出てないですし…
[sage] 2018/03/09(金) 18:25:06.79:goWJjV3D

895が言ってる問題かどうか切り分けるために動画が置いてある場所に(動画じゃない)jpgとか
置いて開けるか試したら?
[sage] 2018/03/09(金) 19:00:06.63:2PlJUe+0

.exeの方でやってみたら、cvrColorがエラーしてるって出ました。
.pyだと、cannnot read videoです。

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

videocaputureに問題があるのかな…
[sage] 2018/03/09(金) 23:17:54.44:CIfBOObq
exeなんて使わんから知らんけど.pyで動いてるのに.exeにしたら動かないならそのpyinstallerとやらが悪さしてるんだろ
[sage] 2018/03/09(金) 23:19:53.75:CIfBOObq
実行ファイルにするなら普通にc++で書けよ、わざわざpythonで書く意味なくね
[sage] 2018/03/10(土) 00:03:20.98:Fc7JY5v5

ですかね…他のexe化モジュールも何かエラー吐きすぎて無理そうだったし、時間ももったいないから諦めます
python 入れてもらおう…

元々自分用に作ってて使ってたら、横で見てたプログラミングの知識の無い人が、それ欲しいといったから、配布しようとしたんですよね
プログラミングを知らない人って、あの文字列を見ただけで怯むから、アプリにして、後は数値やら動画ファイルだけを突っ込むだけにしようかと思ってまして
[sage] 2018/03/10(土) 01:34:41.65:G7HWt9L5
opencvの動画周りってffmpeg使ってたと思うけど、pyinstallerではそのあたりのdllも一緒にまとめてくれるのかな。
[sage] 2018/03/10(土) 12:33:23.68:fQg9dcpA

そういうの時間と労力のの無駄になるよ。
口に餌を運んであげたら、その猫の糞も始末する
責任が生じるんだ。
[] 2018/03/10(土) 12:39:54.84:TTti/WSS
+1
[sage] 2018/03/10(土) 12:44:27.65:MMBWY1KZ

これがありそう
[sage] 2018/03/10(土) 13:41:12.50:ZHQZnt9p
普通にクラ側にpython環境入れるかc++で書くかの2択だろ
pyinstallerの中身調べるとかナンセンスすぎる
[sage] 2018/03/10(土) 14:09:42.64:MMBWY1KZ
って理由出してるのにその二択にするのはナンセンスよ
[sage] 2018/03/10(土) 14:13:05.19:Fc7JY5v5
Python を入れて貰うことにしました
結構使えるプログラムだと思うから、これで我慢してもらおう



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


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


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

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

得た回答を元に公式のドキュメント読み直すなり
再度情報を整理して、正しく理解できるならそれでいい
[sage] 2018/03/11(日) 15:04:38.03:qC+CBm/n
5chなんて無能とキチガイしかいないからな
煽ったり無知装ったりなにしても情報とれりゃそれでいいんだよ
[sage] 2018/03/11(日) 16:15:24.52:xYekkBDX
レスポンスが一番早いのは5chだしな
煽られてもその中に正解が入ってたりするし
[sage] 2018/03/11(日) 16:27:58.94:5zOh4BZk
まあ社会人として業務知識みたいなのをSNSで聞くのどうなんですかって話じゃないかな
[sage] 2018/03/11(日) 16:55:03.93:qC+CBm/n
業務知識ってなんだよw
社外秘のデータや方法出してるわけでもあるまいしどうでもいいじゃん
[sage] 2018/03/11(日) 23:43:36.95:229ElWIS
エスパーするとおれが答えられない質問はするな、ということですな。
[] 2018/03/12(月) 18:09:21.49:IkK1NW+e
ゲェジ丸出し
[sage] 2018/03/12(月) 21:43:43.45:yCds6qtp
opencv でPCの特定のウィンドウをビデオキャプチャすることはできますか?
普通にバンディカムの方がいいかな…
[] 2018/03/13(火) 15:23:28.24:MHQfuTqc
できるよ
[sage] 2018/03/24(土) 09:59:45.15:kRga3xpS
python版opencv で
I1 I2 I3
の3つの画像(全て.png)を一つのマルチTIFFファイルにしたいんですが、cv2.imwrite だと複数指定できなくて困ってます
何か方法はありませんか?
[sage] 2018/03/24(土) 10:19:44.14:HVeGf4kL
tiffとか使ったことないけど
普通に3枚pngを出力してからtiffにしたらええやろ
[] 2018/03/24(土) 12:10:52.48:5hh+Vua5
この本読んだ人いる?
感想おしえて
ttps://www.amazon.co.jp/dp/4061538292
[sage] 2018/03/24(土) 12:42:31.44:kRga3xpS

すみません、出力して、どう1ファイルにまとめるのかが分からないのです
[sage] 2018/03/24(土) 13:08:28.71:vw8qMkfM
「マルチtiff 変換」

これでぐぐればいいだろ。それも分からないのか・・・
[sage] 2018/03/24(土) 13:26:05.40:kRga3xpS

調べて見つからなかったから質問してるんです
どれもこれも読み込みのことしかなくて、マルチTIFFファイルとしての出力がないんです
[] 2018/03/24(土) 14:11:09.85:5hh+Vua5
ttp://raymondlo84.blogspot.jp/2015/09/how-to-write-multipage-tiff-file.html
ttps://github.com/opencv/opencv/issues/8729
[sage] 2018/03/24(土) 14:12:32.27:vw8qMkfM

「マルチtiff 変換」でぐぐって一つ目のリンククリックして、開いたとこの先頭に
> (BMP,JPEG,JPEG2000,GIF,TIFF,PCX,FPX,PNG)からのダイレクト変換可
> 1つのファイルに複数の画像を収めることができるマルチページTIFFの一括作成に特化された
ってあるが、これ使ってもできないのか?
[] 2018/03/24(土) 14:13:57.20:5hh+Vua5
ttps://stackoverflow.com/questions/18446804/python-read-and-write-tiff-16-bit-three-channel-colour-images
[] 2018/03/24(土) 14:15:42.02:5hh+Vua5
ttps://github.com/opencv/opencv/pull/10367
[sage] 2018/03/24(土) 14:37:06.91:nKlKWZZe

コマンドラインでtiff変換するやつとか適当に使えばいいだろ
保存した3つのpngのパスは分かってるんだから
その3つを入力して適当にtiffで出力して終わり
コマンドライン操作?何それ?ってレベルならお勉強して下さいとしか・・
[] 2018/03/24(土) 16:00:18.70:RN0GX0Rk
sox
[sage] 2018/03/24(土) 16:04:43.37:KNKwWkOj

いくらでも出てくるぞ
ttps://www.scivision.co/writing-multipage-tiff-with-python/
[] 2018/03/25(日) 22:45:30.51: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で繋ぐ方法が分かりませんでした


この方法でいいのかもちょっとわからず・・・すいません、どうしたら良いのでしょうか?
[sage] 2018/03/26(月) 00:05:18.20:W+zxXBoo
ちょっと意味が理解できなかった
なめらかな直線に近似したら頂点の座標なんて分からないと思うが
[] 2018/03/26(月) 00:50:07.07:N7ZMfeIe

説明へたくそですいません
ttps://imgur.com/a/ImM2E
オーバーに描くとこんな感じです。
元画像の白と黒の境界のギザギザ部分は滑らかな線にして(cv2.LINE_AAでできた)
形自体は直線で近似するので頂点ができるので
その頂点の座標も知りたいという感じです。
[sage] 2018/03/26(月) 01:24:26.81:NBtGWsLw

ゴミだったよ
その次に出た応用編は良かった
[] 2018/03/26(月) 05:10:27.60:OxsjGzhh

フーリエ変換だな

勢い5万以上のスレをメールでお知らせするサービス、実施中!!
憧れボディをGETしたい!その夢、ボニックで!

新着レスの表示

2ch勢いランキング アーカイブ プログラム板ランキング

凡例:

レス番

100 (赤) → 2つ以上レスが付いている
100 (紫) → 1つ以上レスが付いている

名前

名無しさん (青) → sage のレス
名無しさん (緑) → age のレス

ID

ID:xxxxxxx (赤) → 発言が3つ以上のID
ID:xxxxxxx (青) → 発言が2つ以上のID

このページは2ch勢いランキングが作成したアーカイブです。削除についてはこちら