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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2013/10/25(金) 17:28:16.71
OpenCVはインテルが公開したオープンソースのコンピュータービジョンライブラリ。
現在はWillowGateが開発している。

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

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


【Intel】OpenCV総合スレ 4画素目【画像処理】
http://toro.2ch.net/test/read.cgi/tech/1329040627/
2014/07/28(月) 15:49:46.27ID:+qczOS9S
まぁ普通に考えて釣りだろうな
2014/07/29(火) 09:40:36.12ID:XqwAyXgE
そもそもサポート対象じゃないライブラリを無理矢理動かして使えないからダメって
そりゃそうだとしか言えんはw
2014/07/29(火) 12:24:14.98ID:C4uRegUO
It has C++, C, Python, Java and MATLAB interfaces and supports Windows, Linux, Android and Mac OS.
2014/07/29(火) 13:42:17.24ID:ufPt6u02
そりゃそうだ
2014/07/29(火) 14:14:08.12ID:jphC97zf
>>196 がタコなだけ。XCode経由で開発可能。
2014/07/29(火) 14:49:59.07ID:C4uRegUO
Windows版と違って公式にビルド済みのバイナリが置いてないから使えねえって言ってるのかな。
2014/07/29(火) 16:17:37.43ID:XqwAyXgE
いつの間にかMacに対応してたんかw
2014/07/29(火) 19:31:25.75ID:G5pzGNQD
とっくに対応してる。
CV系の学生はMacユーザ多い。
2014/07/29(火) 20:11:21.32ID:wJysvYLW
へーすごいじゃん
2014/07/30(水) 09:56:18.07ID:1/A7uemL
CV系の学生って何ぞ?w
自分で計算出来ないからライブラリにやってもらって
自分は何もわかりませんとか?
2014/07/30(水) 10:38:09.10ID:a5Boy+67
あー言っちゃったね
マカーのプライド傷つけるとどうなるか、身を持って知るといいよ
2014/07/30(水) 11:22:16.37ID:WJIQUzOh
最近は、GLSL触るだけで画像処理の専門家なんだそうで、
SPIDERもOpenCVも何それな専門家が増えているからなぁ
2014/07/30(水) 11:29:05.41ID:uRtAxpuT
>>211
ま、別にライブラリ使ってもいいんじやない?
巨人の肩に乗ってる事を忘れなければ。
2014/07/30(水) 17:52:05.16ID:o5oNS4FN
OpenCVに限らないが、入出力のような本質から外れる部分はライブラリを使ってどんどんすっ飛ばせばいいよ
216デフォルトの名無しさん
垢版 |
2014/08/05(火) 04:51:02.99ID:9rn9hAyi
opencvのSIFTを利用してCSIFTのプログラムを作成したいのですが、このアルゴリズムの詳細がわかる方いますかね?
217デフォルトの名無しさん
垢版 |
2014/08/05(火) 06:23:24.18ID:iLUP5Qqd
CV系の学生はMacが多い。
2014/08/05(火) 08:04:29.38ID:g+jSehjL
要約すると、まずMacを買います
2014/08/05(火) 09:32:53.42ID:b7WOmae8
Windows版に慣れてからMacに移植した方が覚えやすくね?
2014/08/05(火) 10:47:04.82ID:g+jSehjL
御託を並べて抵抗するな
はやくアップルストアに行け
2014/08/05(火) 10:58:04.20ID:b7WOmae8
Mac版のメリットってあるの?
Windows版の方が情報多くて楽だろ
2014/08/05(火) 15:07:57.13ID:62hFeqDo
インストールの時しか違いなくね?
2014/08/05(火) 18:01:10.63ID:62hFeqDo
だいたい、自分の環境でのビルド方法なんかcvに手出す前に
身につけて置くべきもので、
WinがMacがと取り立てて騒ぐ事かと。
2014/08/06(水) 00:51:29.25ID:8ExcCRgz
ある凸多角形に収まる最大の円の大きさを求める関数ってないだろうか
2014/08/06(水) 01:31:12.83ID:HwMXtVfI
>>224
正で無い場合はどうするの?
2014/08/06(水) 04:10:33.25ID:8MuRWHTL
質問失礼します。
入力画像が、複数あるテンプレート画像の中のどの画像と最もマッチングしているかをSURFを使って調べるにはどうしたらよいでしょうか。
最近openCVを使いはじめましたが、プログラミング自体初心者であるため、調べ方もよくわかりませんでした。
よろしくお願いします。
2014/08/06(水) 07:02:54.60ID:s3k6pRY3
宿題は宿題スレへ
2014/08/06(水) 09:40:04.85ID:pG2jkmH+
「openCV SURF 特徴量」でググる
2014/08/06(水) 09:53:44.98ID:4kkHNvLc
>>225
正でない場合の方が簡単かも知れない
2014/08/06(水) 10:08:10.43ID:hZwvBCN3
>>229
正の場合、重心求めて任意辺の中心との距離で求まるかと
思っていたけど間違っている?
2014/08/06(水) 10:27:05.54ID:4kkHNvLc
正でない場合は?
2014/08/06(水) 11:33:33.49ID:hZwvBCN3
>>231
解無しを簡単に排除する方法が思い浮かばない。ので
聞いたのだが?
2014/08/06(水) 12:01:45.62ID:SdQ91ssL
ID:4kkHNvLcは軽くアスペっぽいなw
2014/08/06(水) 12:31:08.53ID:ja0exmtr
数値解法でいいなら単なる最適化問題だからそんなに難しくないんじゃない?
解析的に求まるかはわかんないけど、円に接触しない辺が出てくるし難しそう
解なしの場合なんてある?
2014/08/06(水) 13:07:28.11ID:efD44RpZ
剛体シミュで風船でも膨らませようず
2014/08/06(水) 18:28:41.82ID:ocpD1szo
それって画像で考えると
凸多角形の輪郭線からの距離画像を作ったときに最大値になる点が求まればいいってことだよね?
じゃあ それを解析的にやるとしたら… どうすりゃいいんだ?
図形の輪郭を徐々に小さくしてくことを考えると
各頂点は角の2等分線の方向に縮んでいくような気がするが
どこか(別の2等分線との交点?)で別の頂点と合体してその後は縮んでく方向が変わる
その合体後の方向ってのがどうなってんのかわかればそれを最後までやって
一点になる位置を求めればいいのか うん,わからん
2014/08/06(水) 19:03:36.54ID:utL+F4QU
最早OpenCV関係ないじゃん。
2014/08/06(水) 23:21:57.96ID:ja0exmtr
>>236のを読んでて思ったけど、
凸多角形のそれぞれの辺を内側に向かって同じだけ並行移動させつづけると、どこかで内側のエリアが3角型になるか、線分になるか1点になって、
3角型の場合はその3角型の内接円の半径に辺の移動距離を足したものが内接円の半径になりそうな気がする。
線分になる場合や1点になる場合は辺の移動距離が半径になりそう。

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

ああそうか、交点と辺の距離を計算してn-3個目に小さい距離がn角型を3角型にする辺の移動距離だから、そのときに出来る3角型を求めれば最大の内接円が求まるね。
2014/08/07(木) 07:45:52.87ID:eLx8dP5N
お利口さんが一丁前に語り始めたぞ
2014/08/07(木) 08:24:03.90ID:46u2Shxn
>>234
内接と勘違いしてたわ
2014/08/07(木) 08:41:34.09ID:DfYUpYGn
そごうのマークみたいな図形だと解なし?
2014/08/07(木) 09:44:58.33ID:SmvqWYAn
>>242
四角形の場合、辺の長さをAからDとした時 A+C=B+Dなら
解あり。そごうのマークはこの条件を満たしているが線分が
交錯しているので解無し。
2014/08/07(木) 11:06:36.77ID:DfYUpYGn
そういえば凸って書いてありましたね
2014/08/07(木) 11:13:37.53ID:JwmJHSWk
どうでもいいが
>剛体シミュで風船
って矛盾してないか?
2014/08/07(木) 22:16:58.85ID:xHydUS5J
物理シミュレーションって言いたかったんじゃね
2014/08/07(木) 23:51:01.58ID:yuOaZbMp
>>243
A+C=B+Dという判定式はどっから来たんだろう?
A+C!=B+Dでも解が存在する場合はあるし、==でも存在しない場合もあるし。
2014/08/07(木) 23:53:51.82ID:3T9P4myy
>>247
http://www.altmc.jp/primer/lessons/40C/2060.html
2014/08/07(木) 23:55:27.57ID:yuOaZbMp
ああ、問題を誤解していた。すまん。
2014/08/08(金) 05:42:34.82ID:1UU7vf/D
問題を誤解してコメントしたひとのレスを読んで
さらにそれを誤解してコメントする訳ですね
2014/08/08(金) 22:57:18.40ID:m1BHtAY+
このプログラムを元に認識した物体の大きさと奥行きを
求めようとしているのですけどH=167ってなんの値なの?

http://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
2014/08/09(土) 00:36:11.65ID:l2WdSHx9
RGB -> HSV
2014/08/09(土) 12:14:20.14ID:8bubdD6k
>>251
流し読みだけど定数だからボトルの高さ167mm じゃね
254デフォルトの名無しさん
垢版 |
2014/08/12(火) 18:51:29.00ID:0jK/pM8y
>>251
認識した物体(緑のボトル)の実際の高さ
2014/08/15(金) 01:41:54.60ID:520GhRWF
>>173
>opencv-2.4.8.2/samples/gpu/super_resolution.cpp
なんだけどCUDAで計算しても全然遅い
CPUで計算する方がはるかに高速
ある程度以上のビデオカードでないとCUDAの恩恵得られないって事なのかな
ちなみにGforce GT420です
2014/08/15(金) 05:19:16.89ID:B7ab7tDG
GT420のCUDAコアは48基
現在のミドル帯で最も普及したであろうGTX660で960基
Titan blackで2880基
無い方がマシかもよ

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

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

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

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

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

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

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

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

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

ひょっとしてOpenCVのソースをいじらないと
治らないのでしょうか
2014/09/19(金) 15:05:26.65ID:jYrXBJy/
そのopencvはソースから入れたのかい?
2014/09/20(土) 02:11:43.41ID:NyWaXORh
>>261
http://stackoverflow.com/questions/25013234/opencv-error-assertion-failed-vc-isopened-in-reset
2014/10/01(水) 22:31:44.66ID:XCx5LgPk
javascript版OpenCVクル━━━━(゚∀゚)━━━━!!
2014/10/23(木) 14:19:21.95ID:cfpTx2oa
現在挑戦していることでわからない点があるのでなにかアドバイス頂きたいです。
動画を読み込みハール分類器により顔と目領域を検出します。
次に目輪郭を cvFindContoursで探し、輪郭を検出しcv虹彩に楕円を当てはめようとしているんですが
ビルドは成功しますがソースコードの輪郭を構成する頂点座標を取得
tmp = CV_GET_SEQ_ELEM (CvPoint, contours, -1)の部分でオーバーフローしてしまいます。
またcvHaarDetectObjectsで顔検出では動作しますが目領域の際にエラーがでます。
どなたかこの原因と考えられる対策など教えてください
266デフォルトの名無しさん
垢版 |
2014/10/23(木) 14:55:24.63ID:RjBQcz8M
ぬるぽ
2014/10/23(木) 16:15:19.56ID:cfpTx2oa
>>266
ヌルポインタが原因のようですがなぜ顔検出では起こらず、
目領域の検出でぬるぽになってしまうのでしょうか?
2014/10/23(木) 17:21:56.36ID:RjBQcz8M
この続きを見るには最低限のソースが必要です
2014/10/24(金) 10:34:29.00ID:TztPkxVQ
普通に考えると目を検出する範囲が間違ってるとしか思えんは
2014/11/25(火) 05:14:16.36ID:5019Bxp0
http://pukulab.blog.fc2.com/blog-entry-41.html
を参考にしてORBを使ってみたら500点までしか特徴量を計算してくれないんですが、上限はどうやったら増やせますか?
271デフォルトの名無しさん
垢版 |
2014/11/25(火) 13:19:38.85ID:dMEv4AW9
http://docs.opencv.org/modules/features2d/doc/common_interfaces_of_descriptor_matchers.html
DescriptorMatcher::create
BFMatcher::BFMatcher
http://docs.opencv.org/modules/features2d/doc/common_interfaces_of_generic_descriptor_matchers.html
http://stackoverflow.com/questions/14759217/running-into-an-error-using-cvbfmatcher-bruteforce-matcher-with-10-100-train
2014/12/06(土) 13:45:22.61ID:eDdnt3jc
OpenCV必要ないな。こんな画像認識技術があったってろくな使われ方しないだろうからな。
2014/12/06(土) 13:50:09.44ID:1MG24EwX
お前の発想が貧困なだけだろ
休みの日に馬鹿アピールとかなかなか有意義な人生送ってますね
死ねば?
274デフォルトの名無しさん
垢版 |
2014/12/11(木) 16:55:50.85ID:6slixBmx
OpenCVでROIを用いて画像の一部を矩形で切り抜き、保存することはできたのですが
矩形以外での多角形で切り抜きは可能なのでしょうか?
2014/12/12(金) 10:34:09.04ID:cSBPjkby
どういう結果を期待してるんだ?
その多角形を包括する矩形で切り出してきてそこから欲しい結果に加工すれば?
2014/12/12(金) 10:56:43.21ID:8BqNZxMW
maskをしらない厨房か
2014/12/13(土) 19:54:57.68ID:c9evB4nk
C++でOpenCVを使っています。
2つのMatを返すメソッドをつくりたいんですけど、どうしたらいいですか?
2014/12/13(土) 20:43:07.89ID:KcZztYF+
何が判らないの
2014/12/13(土) 20:48:39.84ID:aIxuvf1S
OpenCVに限らないだろうよ
C++の勉強をした時に、2つ以上値を返すにはどうすればいいって習った
それと同じようにやれよ
2014/12/13(土) 21:33:38.64ID: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
2014/12/13(土) 23:16:02.03ID:sSU/XTry
ポインタを使えと習いました先生
2014/12/13(土) 23:21:20.21ID:aWFoLZL3
引数がレジスタやスタックに積んで複数渡せる仕組みなんだから
戻り値も同様にして複数返せるようにすりゃよかったのにな
2014/12/13(土) 23:27:09.06ID:76ITaN6j
構造体返し出来るじゃん?
2014/12/21(日) 02:06:41.58ID:ANxxvVGk
ご相談に乗っていただきたいです
現在OpenCV2.4.10とDxLibを併用して使っているのですが、findContoursメソッドを使用すると
ヒープが壊れたというランタイムエラーが発生してしまいます
どうにか回避方法を教えていただきたいです


↓ソースです
http://codepad.org/hS14MmrI
2014/12/28(日) 19:44:05.79ID:jxhF3Jvs
usbカメラをキャプチャしたものを遅延再生をおこないたいのですが、どうやって行ったら良いのでしょうか?
286デフォルトの名無しさん
垢版 |
2014/12/28(日) 21:06:23.20ID:q/AaEctr
http://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=past&;no=1837
2014/4/13 17:28 最新版で正常に動作しなくなっていたので、サンプルプログラムを修正
2015/01/06(火) 09:32:07.97ID:WtIOryr0
>>285
メモリに溜めて後から描画しろ
2015/01/08(木) 20:27:47.23ID:O2t7YOr0
FASTでコーナーだと検出するときの連続画素数の閾値はデフォルトだとどうなっていますか?
289デフォルトの名無しさん
垢版 |
2015/01/13(火) 10:26:33.93ID:MMza42nd
http://fast-uploader.com/file/6976667806149/
この画像の黒い線の結び目に当たる部分を認識させたいのですが、
どのようなキーワードで学べばいいですか?
分類器などを使用するのが一般的ですか?
2015/01/13(火) 15:54:42.99ID:s94tSy9v
本当にこんな画像ばっかりなら、SIFTとかの
画像特徴量で割と行けちゃうかも。
2015/01/20(火) 15:23:33.11ID:5o7d0Dbg
分類器作ることになったんですけどポジティブ画像の識別対象の位置ってやっぱ一個ずつ手作業で打ち込んでいくものなんでしょうか
2015/01/20(火) 16:29:23.28ID:3pY1xTVZ
5次元の行列に添字アクセスするにはどうしたらいいですか?
2次元、4次元はわかるんですが5次元がわかりません...
2015/01/20(火) 20:39:11.06ID:Y9tiW1z+
>>292
どうやろうとして、どんな結果になった?
2015/01/20(火) 20:56:16.12ID:3pY1xTVZ
>>293
M.at<cv::Vec5d>(i, j, k, l)[m]
とやろうとしましたがそんなメソッドねーよと怒られました
295デフォルトの名無しさん
垢版 |
2015/01/21(水) 19:48:55.20ID:e4jAYfur
複数の画像からvecファイルを作る、もしくはvecファイルを統合できるソフトをご存じの方いらっしゃいませんか
2015/01/25(日) 20:54:25.32ID:KAfsZrfd
cv:Matって五次元配列作れたんだ、知らんかった。
2015/01/26(月) 02:28:59.98ID:Csz3wp0v
cv::Mat<cv::Vec5d>は、cv::Matの一つ一つの要素が5次元ベクトルってだけでしょ。
i,j,k,l,mで単一のdoubleにアクセスできるような5次元配列(5階テンソルみたいな?)はMatでは表せないと思うけど。
そもそも掛け算とか定義できないじゃん。
Mat<Vec5d>のデータにアクセスするだけなm.at<Vec5d>(i,j)[4]とかでしょ?
2015/01/26(月) 03:03:54.38ID:WkuUMMZg
>>297
そうなんですか。
ちょっとよくわかってないのですが、4次元の行列操作も根本的に勘違いしてるかも知れません。
とりあえずやりたいことは、4および5次元行列の、
添字(k, l, m,・・・)で指定した要素を読み書きすることだけです。
OpenCVはバージョン2.4.9です。
多次元行列(a.k.a cv::MatND)がcv::Matに統合されたと聞いたのですが、、、
2015/01/26(月) 03:52:20.37ID:Csz3wp0v
>>298
ごめん。知識が古かった。

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

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

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

2,3,4,6しかtypedefされてないんだな。中途半端w
2015/01/27(火) 11:35:04.56ID:XdRp3tMm
なるほど、at<要素の型>(添字のベクトル)
でアクセスできるわけですね。
ベクトルじゃなくて()内に直接添字を列挙できるのはその特殊な場合(2次元など)
ということですね。
4次元のときにat<要素の型の4次ベクトル>(添字3個)[4個目の添字]
でアクセスできていたのがよくわかりませんが、、、
2015/01/27(火) 22:57:00.54ID:M/7C5R6V
>>300
あんまりちゃんと追ってるわけじゃないんで正確じゃないけど、一番最後の添字にはそうやってアクセスできるっぽいね。
Mat::at(i,j,k)とMat::ptrの実装を見る限りでは。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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