【Intel】OpenCV総合スレ【画像処理】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/06/26(火) 12:57:41実装分野は
・ユーザーインターフェイス
・物体分離
・セグメンテーションと認識
・顔認識システム
・ジェスチャー認識
・モーショントラッキング
・感情モーション
・モーション理解
・モーションからの構築(SFM)
・モバイルロボティクス
関連リンクなどは
>2-10くらい
0232デフォルトの名無しさん
2008/01/10(木) 22:12:50どこが難しいのかよくわからない(´・ω・`)
詳しく!
ヒキスウつけて実行しないとプログラムが動かないって事ですか?
0233デフォルトの名無しさん
2008/01/10(木) 22:32:510234230
2008/01/10(木) 22:38:46返信ありがとうございます。
別のライブラリって何がありますかね。。。
っというのは環境が環境なだけに(FC5+usb camera)
なかなか動いてくれるアプリ+カメラがなくて・・・
>>私はそれをやるのにDirectShOwフィルタを作ってもらった
linuxなんですけど、なんかいい案ないですかね(´・ω・`)
0235デフォルトの名無しさん
2008/01/10(木) 22:44:38垂れ流してくれるんじゃないの?
0236デフォルトの名無しさん
2008/01/10(木) 22:58:17>>227
引数に画像のファイル名がない or 画像読み込み失敗で return -1
読み込んだ画像をグレースケール変換
これでおk?
0237デフォルトの名無しさん
2008/01/10(木) 23:15:150238デフォルトの名無しさん
2008/01/11(金) 00:27:55>>235さんの方法に同意。
別ライブラリとはいっても見つからないとおもわれる。
だからVideoForLinuxで自作する他ないのかもしれませんね
検討を祈る
0239デフォルトの名無しさん
2008/01/11(金) 03:36:33指定ピクセルだけ平行移動する関数ってありますか?
並進移動ってのはあったんだけどなんか違う気が・・・
0240デフォルトの名無しさん
2008/01/11(金) 05:22:33両方アフィン行列変換でどうにかなるみたいですね…
お騒がせしました・・・
0242デフォルトの名無しさん
2008/01/11(金) 15:44:15バッファとしてキャプチャしておく方法ってある?
当たり前だけどcvShowImageとかcvSaveImageをfor文の中に入れたら上書きされちゃうんだ・・・
0243デフォルトの名無しさん
2008/01/11(金) 16:00:48あとで保存すればいいんじゃ?
0244名無し募集中。。。
2008/01/11(金) 17:10:200245デフォルトの名無しさん
2008/01/11(金) 20:52:39どっかの学校で課題でも出されたのか?
0246デフォルトの名無しさん
2008/01/11(金) 21:03:260247デフォルトの名無しさん
2008/01/11(金) 21:21:040248デフォルトの名無しさん
2008/01/12(土) 00:26:19レベルまでは低くは無かったんじゃないかな
0249デフォルトの名無しさん
2008/01/12(土) 20:50:310250230
2008/01/14(月) 07:38:21>>238
亀レスですがありがとうございました。
ですよねぇ、やっぱそうですよねぇ・・・
卒論で使いたかったのですが、
自作してる時間がなさそうなので方向転換します;
0251デフォルトの名無しさん
2008/01/15(火) 11:42:21上級者ぶってるヤツも文句言わず教えろよクズどもw
0252デフォルトの名無しさん
2008/01/15(火) 12:00:28初心者上級者以前にスレ違い
0253デフォルトの名無しさん
2008/01/15(火) 18:04:56252が正論だな
Cの質問かOpenCVの質問かきりわけるのが礼儀だな。
0254デフォルトの名無しさん
2008/01/18(金) 11:28:020255デフォルトの名無しさん
2008/01/18(金) 18:50:530256デフォルトの名無しさん
2008/01/18(金) 21:17:25ライブラリの中の、get_関数が用意されていない変数の値をとってくるには、
どうし書いたらいいでしょうか。
具体的には、mlem.cppのなかのinv_eigen_valuesとcov_rotate_matsの値が欲しいのですが。。
0257デフォルトの名無しさん
2008/01/18(金) 21:32:470258デフォルトの名無しさん
2008/01/18(金) 22:04:26>>256です。
少し調べたのですがデバッガの扱いがわかりません。。しかし、知りたい変数は行列なので、見れるか微妙な気がします。もうすこしだけ、ヒントいただけないでしょうか。
0259デフォルトの名無しさん
2008/01/18(金) 23:56:01自分で望みの関数を追加してみたら?
0260デフォルトの名無しさん
2008/01/19(土) 04:10:34256です。
それはそうなんですが、関数、というかアルゴリズムがかなり大変なので、ライブラリから取ってこれればそれに越したことはないのです。
実行時間もライブラリのほうが自分で書いたものより早いですし。
0261デフォルトの名無しさん
2008/01/19(土) 04:13:110262デフォルトの名無しさん
2008/01/19(土) 04:18:560263デフォルトの名無しさん
2008/01/19(土) 11:36:40例えば100×100サイズの画像なら、x[0][0]に座標0,0の輝度が入って、x[99][99]に座標100,100の輝度が入っていくようなものです。
0264デフォルトの名無しさん
2008/01/19(土) 11:43:40>>259はライブラリのソースに加えりゃいいだろという話
0265デフォルトの名無しさん
2008/01/19(土) 11:43:53どうやっても無理じゃね、普通
0266デフォルトの名無しさん
2008/01/19(土) 13:50:13img->imgDataから自分で2次元配列作れ
0267デフォルトの名無しさん
2008/01/19(土) 13:50:52○imageData
0268デフォルトの名無しさん
2008/01/19(土) 15:13:450269256
2008/01/19(土) 15:24:29その通りだと思います。。しかしその書き方がわからないのです。
mlem.cppとml.hの中身をちょこちょこ変えたのですが、(具体的には以下を書き加えたり)どうにもうまくいかないので、ヒントが欲しいのです。そもそもOpenCV以前にプログラミングの知識が心もとないのが問題ではあるんですが。。
const CvMat** CvEM::get_cov_rotate_mats() const
{
return (const CvMat**)cov_rotate_mats;
}
0270デフォルトの名無しさん
2008/01/19(土) 15:37:36うまくいかないじゃわからないよ。
何を期待して、現状どうなのかを書かないと。
0271デフォルトの名無しさん
2008/01/19(土) 16:38:16俺だったら、
CV_CALL( inv_eigen_values = cvCreateMat( nclusters,
params.cov_mat_type == COV_MAT_SPHERICAL ? 1 : dims, CV_64FC1 ));
って書いてあるから、
呼び出したい関数の直前に、
適当に変数を宣言して、その変数にcvCreateMat( nclusters,
params.cov_mat_type == COV_MAT_SPHERICAL ? 1 : dims, CV_64FC1 )
の戻り値を代入して、printfで中身見るか、gdbで中身見るというC使いの妄想を垂れ流してみる。
クラスについてよく分からないから、正しいのか分からないけれど。
0272271
2008/01/19(土) 21:19:32こんな感じでうまくいくんじゃね?とか駄目とか。
0273デフォルトの名無しさん
2008/01/19(土) 22:58:26色の境目のにじみできれいに切り抜けていません。
にじみをとれるようなフィルタってないでしょうか。
0274デフォルトの名無しさん
2008/01/20(日) 13:13:25ここはOpenCVの・・・
0275デフォルトの名無しさん
2008/01/20(日) 15:09:07色での二値化の意味がわからん。
各チャネルに分解してcvThresholdかましてcvAnd、また結合すりゃおk
0276デフォルトの名無しさん
2008/01/20(日) 15:36:20その方法でやってます。
jpegの写真を処理しているのですが、色の境目の
ところがグラデーションになっていて、それがノイズになって
誤検出してしまいます。
そいつを取り除きたいのですが・・・・・
ちなみにHSV色空間でやってます。
0277デフォルトの名無しさん
2008/01/20(日) 15:45:16グレイスケール→平滑化→二値化
0278デフォルトの名無しさん
2008/01/20(日) 16:27:33グラデーションをとって
ぼかしを除去したいので
平滑化とは逆のような気がするんだけど
0279デフォルトの名無しさん
2008/01/20(日) 16:52:51二値化した時のノイズが何を指してるのかよくわからんけど
小領域でぶつぶつ小さく領域が切り分けられることじゃないの?
ぼかしをとるって、減色の処理を加えても二値化の結果はあまり変わらないと思うけど、何がしたいの?
単に陰影で物体の形状を奇麗に切り取れないって言うなら自分で高度なアルゴリズムを調べるしかないんじゃないの?
0280デフォルトの名無しさん
2008/01/20(日) 17:05:580281デフォルトの名無しさん
2008/01/20(日) 17:09:27まとまりのない質問ですみません。
切り取った形状の淵がすごいギザギザになるので
何とかならないかと思って・・・・
減色してもあまり効果は見込めないですね
入力画像に問題があると思うのでそちらを
見直してみます。
0282デフォルトの名無しさん
2008/01/20(日) 17:13:47なら平滑化してみなよ
やらないよりいくらかましだと思うけど
0283デフォルトの名無しさん
2008/01/20(日) 17:26:44まるっきり画像処理に関する質問だな。
色認識の論文とか調べればいい方法あるんじゃないの?
正確性を気にせずギザギザがとりたいのなら
検出結果側にフィルタをかければいいと思うが。
0284デフォルトの名無しさん
2008/01/20(日) 17:54:05ほれ。丁度出てたぞ。
http://opencv.jp/sample/object_tracking.html#snake
0285デフォルトの名無しさん
2008/01/20(日) 18:16:56スレ違いなのにすみません。
とりあえず全部実験してみます。
何だかjpeg形式にも問題があるような気が
するので、bmpとかでもやってみます。
0286デフォルトの名無しさん
2008/01/20(日) 21:20:570287デフォルトの名無しさん
2008/01/20(日) 23:41:26ただ、信号処理の観点から265のツッコミをみると101/100のリサンプルすればいいだけ。簡単にできるお
質問者のやりたいことはもっとレベル低いとはおもう
0288デフォルトの名無しさん
2008/01/21(月) 00:49:15>100×100サイズの画像なら
という前提があるのでリサンプリングしてもやっぱり無理。
0289デフォルトの名無しさん
2008/01/21(月) 01:32:45よくよんでみて気がついた。
100×100の画像で0〜100の座標はないわ。
0290デフォルトの名無しさん
2008/01/23(水) 10:21:25cvLoadImageで読み込んだ画像をウィンドウに表示するとグレーの歪んだ画像が表示されます。
画像の拡大などをして保存しても歪んだ画像が保存されます。
原因がわからないので知ってる方がいたら教えてください。
Xcodeを使っています。
0291デフォルトの名無しさん
2008/01/23(水) 10:28:35書いたとおりに動く
0292デフォルトの名無しさん
2008/01/23(水) 11:39:37至言だな
0293デフォルトの名無しさん
2008/01/23(水) 22:06:38書いたコードもどう動かしたいかもわからないで答えられるわけがないな
でも、IPLImageの確保サイズや色の指定が違うんだろう。と、ゆとりにいってみる
0294290
2008/01/24(木) 05:54:410295デフォルトの名無しさん
2008/01/24(木) 18:24:46てかwinあんならwin使えばいいじゃん
0296デフォルトの名無しさん
2008/01/24(木) 21:59:11もっともシンプルなコード書いて実験だな
んでコード晒せ
バグがあるのかも知れんね
0297デフォルトの名無しさん
2008/01/24(木) 22:22:27>>290
のコードが悪かったとしか思えない。
0298デフォルトの名無しさん
2008/01/24(木) 23:04:140299デフォルトの名無しさん
2008/01/26(土) 21:16:02求めたいんですけど、みなさんどうやってもとめてますか?
あと、実空間と画像との誤差はどれくらいでるのか気になります。
OPENCVでやりたいなと思っています。よろしくお願いします。
0300デフォルトの名無しさん
2008/01/26(土) 21:45:25キャリブレするか特定の平面からしか無理じゃね?
0301デフォルトの名無しさん
2008/01/27(日) 00:17:51真上からのカメラ映像があれば後は基準となる物から座標補正してやればおk
なんか最近それ関連の仕事きたなぁ
0302デフォルトの名無しさん
2008/01/28(月) 15:42:02CvANN_MLP mlp;
float test_input[8] = { 0.0, 0.0,
0.0, 1.0,
1.0, 0.0,
1.0, 1.0 };
float test_output[4] = { 0, 0, 0, 1 };
CvMat test_input_mat = cvMat( 2, 4, CV_32FC1, test_input );
CvMat test_output_mat = cvMat( 1, 4, CV_32FC1, test_output );
int nc[3]={ 2, 2, 1 };
CvMat NSeting = cvMat( 1, 3, CV_32SC1, nc );
mlp.create( &NSeting, CvANN_MLP::SIGMOID_SYM, 1, 1 );
mlp.train( &test_input_mat, &test_output_mat, 0, 0,
CvANN_MLP_TrainParams(
cvTermCriteria( CV_TERMCRIT_ITER | CV_TERMCRIT_EPS, 1000, 1E-100 ),
CvANN_MLP_TrainParams::RPROP, 0.05 ), 0 );
こうすると
Bad argument( input training data should be a floating-point matrix withthe number of rows equal to the number of training samples and the number of columns equal to the size of 0-th (input) layer
と出ます。
入力とNNの入力層の数が違うといわれてるらしいのですが2と2で同じだと思うし原因が分かりません。
使ったことある方教えてください。
0303デフォルトの名無しさん
2008/01/29(火) 22:39:24cvHoughCircles では無理でしょうか。
よろしくお願いいたします。
0304デフォルトの名無しさん
2008/01/30(水) 02:52:450305デフォルトの名無しさん
2008/01/30(水) 06:39:46使ったことないけどググってみた感じ
CvMat test_input_mat = cvMat( 4, 2, CV_32FC1, test_input );
CvMat test_output_mat = cvMat( 4, 1, CV_32FC1, test_output );
っぽい気がする
0306デフォルトの名無しさん
2008/01/31(木) 08:37:54ゲーム制作板の企画スレ見てみ
「企画」で検索な
0307デフォルトの名無しさん
2008/01/31(木) 08:44:070308デフォルトの名無しさん
2008/01/31(木) 21:44:41使おうとしているのですが、なかなかうまくいきません。
使えるのであればどのように設定すればよいか教えてください。
よろしくお願いします。
0309デフォルトの名無しさん
2008/01/31(木) 22:34:26formApplicationで使える。というかVCでもVBでもライブラリが使えない言語はほとんどないぞ?
で、何の開発ツール使っているの?
0310デフォルトの名無しさん
2008/01/31(木) 23:29:22int main( int argc, char** argv ){
CvMat *map_matrix;
CvPoint2D32f src_pnt[4], dst_pnt[4];
// 画像ファイル読み込み
for(;;){
filename = argc == 2 ? argv[1] : (char*)"hoge.jpg";
if((src_img = cvLoadImage( filename, 1)) == 0 )
return -1;
dst_img = cvCloneImage (src_img);
/*
画像処理
*/
cvNamedWindow ("dst", 0);
cvResizeWindow("dst", 1270, 965);
cvShowImage ("dst", dst_img);
c = cvWaitKey (0);
if (c == '\x1b')
break;
}
cvDestroyWindow("dst");
}
上記はメインの中身なのですが、このままではキーボード入力をしないと画像が更新されません。
これをキーボード入力なしでおこないたいのですが、どのようにすればよろしいのでしょうか。
0311デフォルトの名無しさん
2008/01/31(木) 23:41:520312デフォルトの名無しさん
2008/02/01(金) 00:02:15申し訳ございません。
OpenCVを用いているのでここに書き込ませていただいたのですが他をあたってみます。
0313デフォルトの名無しさん
2008/02/01(金) 00:43:070314デフォルトの名無しさん
2008/02/01(金) 01:02:37あっという間にメモリ食い潰しそうだなw
ループの前にIplImage確保しといてcvCopyImageにしとけ。
あとcvWaitKey(10)とかやっときゃキー入力待ちのウェイトが10msになって
入力が無い時は勝手に回るようになる
0315デフォルトの名無しさん
2008/02/01(金) 02:46:07>>308です。
フリーで配布されているMaicrosoft visual c++ 2005 Express Editionです。
「追加の依存ファイル」にhighgui.hとか貼り付けて#includeすれば
formApplicationで使えると思ったのですが、うまくいっていない
というのが今現在の状態です。
0316デフォルトの名無しさん
2008/02/01(金) 02:48:370317デフォルトの名無しさん
2008/02/01(金) 02:54:53highgui.h→highgui.lib
0318デフォルトの名無しさん
2008/02/01(金) 02:56:180319デフォルトの名無しさん
2008/02/01(金) 03:30:510320デフォルトの名無しさん
2008/02/01(金) 03:41:360321デフォルトの名無しさん
2008/02/01(金) 04:50:26IPアドレス 209.222.148.141
Webサーバー Apache
OS Linux
ページ取得時間 0.5 秒
Registrant:
Megavideo Limited
Room 1204, 12/F
48-62 Hennessy Road
Wan Chai, Hong Kong
Hong Kong
Registrar: DOTREGISTRAR
Domain Name: MEGAVIDEO.COM
Created on: 13-NOV-00
Expires on: 13-NOV-14
Last Updated on: 17-OCT-07
Administrative, Technical Contact:
Limited, Megavideo [email protected]
Room 1204, 12/F
48-62 Hennessy Road
Wan Chai, Hong Kong
Hong Kong
+852.30173700
0322デフォルトの名無しさん
2008/02/01(金) 07:24:49VCでのライブラリの扱い方がわかんないんだね。
ヘッダだけのインクルードでは外部参照エラーになるよ(あたりまえ)
OpenCVのフォルダのなかにある*.libファイルをソースが並んでるところにほおりこんでみな
0323デフォルトの名無しさん
2008/02/01(金) 07:35:180324デフォルトの名無しさん
2008/02/01(金) 07:44:070325デフォルトの名無しさん
2008/02/02(土) 02:23:42原因と思われるエラーメッセージです
1>c:\program files\opencv\cxcore\include\cxtypes.h(212) : warning C4793: '__asm' : 関数 'int cvRound(double)' 用にネイティブ コードの生成が発生します
1> c:\program files\opencv\cxcore\include\cxtypes.h(205) : 'cvRound' の宣言を確認してください。
1>c:\program files\opencv\cv\include\cvcompat.h(784) : warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存してください。
>>322さんの方法を試しましたが、うまくできませんでした
0326デフォルトの名無しさん
2008/02/02(土) 02:28:530327デフォルトの名無しさん
2008/02/02(土) 03:52:530328デフォルトの名無しさん
2008/02/02(土) 14:13:11どちらにせよOpenCVに限らず、ライブラリを使えるようになれるといいな
(この板はC初心者スレではないから)
どーしてもというならプロジェクト作ってやるけど
0329デフォルトの名無しさん
2008/02/02(土) 15:25:21皆さんの話からOpenCVじゃなくて
VCの使い方が問題のようなので
もっといろいろ調べてみます
いろいろありがとうございました。
0330デフォルトの名無しさん
2008/02/02(土) 16:09:12これをOFFにしてANSI-CモードにするのがVC++の最初の一歩です。
0331デフォルトの名無しさん
2008/02/03(日) 03:37:06■ このスレッドは過去ログ倉庫に格納されています