【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/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の実装を見る限りでは。
302デフォルトの名無しさん
垢版 |
2015/02/03(火) 11:51:54.66ID:QhWvOAvq
カスケードファイルを使って物体認識するところを、
(重いだろうけど)、DeepLearning(DCNN)で認識させる実装やってるんだけど、
ふと既に誰か作ってるんじゃないかと思ってググったんだが、どこにもないな。
誰もが考えそうなものなんだけど、何故だろう。
2015/02/03(火) 16:02:43.10ID:kIB1JzEf
雑誌で既にやられてるけどな、それ
304デフォルトの名無しさん
垢版 |
2015/02/04(水) 09:55:03.50ID:tcl4NYuY
>303
やられてるんですね。
だいたいは、物体抽出だけカスケードで抽出して、
その後DCNNかける例ばかりだったので、
物体抽出の精度に依存していやだなーと思ってました。

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

alloc 汁
2015/05/25(月) 19:53:58.81ID:6/qUSWHH
つーか、Willow もインテルもとっくに抜けてるソフトウェアを
使うってどうなんだろ。オープンソースビジネスって成り立つ気がしねぇ
2015/05/31(日) 09:23:57.02ID:o6Fd4Id5
成熟したからでしょ?
2015/06/03(水) 11:21:51.60ID:6cmhZ/7u
adaptiveBilateralFilterのソースってどこにあるのん?
329デフォルトの名無しさん
垢版 |
2015/06/04(木) 03:44:59.47ID:aePucT7k
質問なんだけど、ios版のOpenCVでVideoCaptureのsetとget使えないのって仕様なの?
set(CV_CAP_PROP_POS_FRAMES, 0)で動画の最初に戻りたいんだけど、設定されない。
2015/06/04(木) 10:20:15.29ID:ay3/nzQK
VideoCaptureはカメラ制御だから、動画の最初に戻るのとは違うんじゃね?
cvCaptureFromFileと勘違いしていると予想
2015/06/04(木) 11:11:09.22ID:uKBUJt+N
VideoCaptureはファイルも扱えるのでいけるはず
今やってみたらwindowsでは動く。macは持ってないのでわからず(OpenCV3.0 RC1)
2015/06/06(土) 11:51:55.12ID:9TAyXKx2
3.0ついにリリースされたのう
今週末はこれやるか
2015/06/11(木) 17:06:08.45ID:3an29FYA
>>322
cvReleaseImage
2015/06/19(金) 21:01:34.71ID:T0qN7+O5
>>322
いまどきなぜ cv::Mat をつかわずに IplImage なのか
2015/06/26(金) 10:08:07.92ID:nx4LgZ0I
最近UMatとかいうのも出てきてるよな
2015/06/27(土) 23:44:35.89ID:QpQkizgU
ええっ Mat, Mat_, Matx だけでは足りなくてまた新しいやつがでたのかい
2015/06/29(月) 00:05:28.22ID:CxxlhM/X
YOU MAD!!
2015/06/30(火) 10:30:21.09ID:PgKKPdZG
後方互換も大事だけども、
シンプルなのと高機能なのの2つに絞れない物か
2015/07/02(木) 21:56:52.78ID:eUn7Y/b7
const cv::Mat&amp; で受け取っても、
内部でmat(ROI)して新しいcv::Mat(not const)を生成してしまえば中身を変更できるんだな…

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

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

OpenGLと同じ臭いがする
2015/07/14(火) 22:54:00.85ID:pzv4agCW
cv::VideoCapture() のインスタンスの生成、破棄をするたびにスレッドが増えていくんだけど、そういうもの?
破棄前に release() を実行しても変わらず。
2015/07/17(金) 00:36:21.85ID:Q5NeHwNe
Opencv2から3への移行はいつごろがいいんだ
まだ安定性とか不安なので2のままだけど
2015/07/17(金) 00:44:38.17ID:f5ww8Nw/
それはおめえさんの不安の算出方法と閾値に寄るんじゃないですかね
2015/07/17(金) 23:06:58.13ID:hDnbbaqI
3.3が出たら本気出す
2015/07/19(日) 19:46:29.54ID:cKA9y5B8
俺ちゃんは〜、IplImage使いを〜、やめへんで〜
2015/07/20(月) 01:06:28.51ID:tte1JGhK
>>346
レガシーコードの保守以外でいまIplImage が必要な箇所ってあったっけ
2015/07/31(金) 17:59:37.74ID:Kf7iXVPc
俺にとって必要
2015/07/31(金) 20:55:46.32ID:nFBjQ9Zs
>>347
ない
2015/08/14(金) 12:23:59.77ID:r5oQP8Er
OpenCVで動画の画像認識をする場合
ハードウェアのシステム要件(動作クロック等)はありますか?
処理に必要なハードの最低条件が知りたいのですがエロい人お願いします
2015/08/14(金) 13:21:08.19ID:9bFEKbx/
リアルタイムでなくて良いなら、大概のハードでOK
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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