【Intel】OpenCV総合スレ【画像処理】 at TECH
[2ch|▼Menu]
[前50を表示]
200:悩める人
07/12/19 06:02:33
はじめまして!
初心者ながらOpenCVを用いて画像処理を
しなければならなくなりました。
画像処理を用いて読唇術を行うのですが、
何からはじめたらいいかわかりませんonz
処理の流れをおしえていただければうれしいです。

201:デフォルトの名無しさん
07/12/19 06:16:46
それって一般的な手法が確立された処理じゃないんじゃないか

202:悩める人
07/12/19 06:25:13
ですよね^^;
ネットなんかで調べてもあまり分からなくて
勉強不足です。
エッジ検出を使ったりするらしいのですが・・・

203:デフォルトの名無しさん
07/12/19 07:43:54
とりあえず論文くらいでてるだろうから調べるべし

204:悩める人
07/12/19 08:03:19
はい!
しょうもない質問してすみません

205:デフォルトの名無しさん
07/12/23 03:40:23
今日、初めて気づいたんだが、
もしかして、gif画像って扱えないの?
moe = cvLoadImage("hoge.gif", -1);
ってやっても、null返してくるんだけれど。
opencv-1.0.0$ ./configure --with-python LDFLAGS=-L/sw/lib CPPFLAGS=-I/sw/include
念のために↑ってコンパイルオプションつけて、みたんだけれど、
Image I/O ---------------------
Use libjpeg: yes
Use zlib: yes
Use libpng: yes
Use libtiff: yes
Use libjasper: no
Use libIlmImf: no
で、gifって文字が出てきてないんだけれど。
MacOS Xです。
もしかして特許のせい?
コンパイルオプション間違ったかなぁ?

206:デフォルトの名無しさん
07/12/23 07:29:13
>>205
コンパイルオプション弄る前にマニュアル読もうぜ

* Windows bitmaps - BMP, DIB;
* JPEG files - JPEG, JPG, JPE;
* Portable Network Graphics - PNG;
* Portable image format - PBM, PGM, PPM;
* Sun rasters - SR, RAS;
* TIFF files - TIFF, TIF;
* OpenEXR HDR images - EXR;
* JPEG 2000 images - jp2.

207:デフォルトの名無しさん
07/12/23 07:36:19
>>206
マジかぁ。
OpenCV使ってるwebアプリ公開してるんだが、
昨日初公開したとき、「gif使えないっすよ」って、
フィードバックが有ってしらべてたのねん。
有り難う。
Imagemagic使ってjpgに変換する事にします。
しかし、使えないのは特許のせいなのかしら?

208:デフォルトの名無しさん
07/12/23 08:29:59
>>207
少なくとも日本では特許切れてた気がするけどね
海外はわからない

209:デフォルトの名無しさん
07/12/23 11:33:36
URLリンク(internet.watch.impress.co.jp)

210:デフォルトの名無しさん
07/12/26 16:42:05
OpenCVで画像処理をはじめたものです。
ネットに乗っていた画像処理のプログラムで
画像の取り込みのところでつまずいてます。
だれか下のプログラムの説明をお願いします。

if (argc < 2 || (src_img = cvLoadImage (argv[1], CV_LOAD_IMAGE_COLOR)) == 0)
return -1;
src_gray = cvCreateImage
(cvSize (src_img->width, src_img->height), IPL_DEPTH_8U, 1);

211:デフォルトの名無しさん
07/12/26 16:43:11
ちなみに参考のプログラムはここにあります。
URLリンク(opencv.jp)

212:デフォルトの名無しさん
07/12/26 18:10:01
>>210-211
それならここでわかりますよ!
URLリンク(www.google.co.jp)

213:デフォルトの名無しさん
07/12/26 19:29:25
>>195
CvMatならあったけど、IplImageは無さそうだな。
IplImageからCvMatに簡単に変換できたらいいんだけど

214:デフォルトの名無しさん
07/12/26 20:30:55
ヒント: ROI

215:宣伝
08/01/04 00:29:37
>>212
ソースググっても何の意味も無いだろ。
google codeならともかく。

>>210
つまるところが見つからない。
NAISTが出してる本をお勧めする。

216:デフォルトの名無しさん
08/01/04 00:39:46
double d1= cvGetCaptureProperty( capture,CV_CAP_PROP_FRAME_WIDTH );
double d2= cvGetCaptureProperty( capture,CV_CAP_PROP_FRAME_HEIGHT );
ってやってもどっちも0ってでる市
cvSetCaptureProperty (capture, CV_CAP_PROP_FRAME_WIDTH,640);
cvSetCaptureProperty (capture, CV_CAP_PROP_FRAME_HEIGHT, 480);
結局こう書いても無意味なのはなんで?

217:デフォルトの名無しさん
08/01/04 06:06:02
>>216
未実装らしい。
サイズ変えたきゃvideoInput使うかDirectShowからフレーム強奪なら何とかなるらしい。

218:デフォルトの名無しさん
08/01/04 07:15:29
Ver1.0から進展ないよね。

219:デフォルトの名無しさん
08/01/04 21:26:01
そか。やってみるかー。おおきに。

220:デフォルトの名無しさん
08/01/06 03:38:37
OpenCVかIPLでYV12フォーマットをRGB24に変換する関数ありませんか?

手作りすると処理重いので探しています。
IPPは金かかるからNGで。

221:デフォルトの名無しさん
08/01/08 01:02:44
>>220
URLリンク(opencv.jp)
色変換の関数はここにあるけど、その変換があるかはわかんないな。

222:デフォルトの名無しさん
08/01/08 20:35:09
>>220
URLリンク(vision.kuee.kyoto-u.ac.jp)

223:デフォルトの名無しさん
08/01/08 21:51:19
>>221
ありがとうございます。なさそですね。

>>222
???
よくみるサイトです。
行列計算して早くするまではしたことありますけどMMXやSSEの命令まではわからないから手作りできないのです。
そこでM社が作ったIPP以外のライブラリを探してます

224:デフォルトの名無しさん
08/01/09 15:10:18
OpenCVで画像を切り取ったりするのには特別な関数が必要ですか?

225:デフォルトの名無しさん
08/01/09 16:34:18
2枚の白黒画像を重ね合わせて、黒色の画素がマッチした画素数を
マッチングスコアとして知りたいんだけど…
OpenCVでできるのかな?テンプレートマッチングとか使うのかな…
初歩的な質問ならごめん…

226:デフォルトの名無しさん
08/01/09 22:26:53
>>224
ROI指定してCopy
>>225
反転させてAndしてCountNonZero

227:デフォルトの名無しさん
08/01/10 09:54:30
>>210
そこは自分もつまづいている所だ。
結局その部分は使用せずソースコードで直接画像を指定して読み込む方法で解決した。

おそらくmain (int argc, char **argv)とかで指定している箇所がポイントなんだろうと
思うが調べてもよくわからん。

お互い分かったことがあったらここに書き込もうぜ。

228:デフォルトの名無しさん
08/01/10 13:43:23
google://コマンドライン引数

229:225
08/01/10 13:46:23
>>226
ありがとう!調べてみるよ!

230:デフォルトの名無しさん
08/01/10 18:21:37
opencv初心者なのですが
別端末のwebcamで撮った映像をネットワーク経由で受け取って
それをリアルタイムに処理する方法とかないでしょうか・・・
ググって見たんですけど見当たらなくて。


別に動画じゃなくても良いのですが
ネットワーク越しにファイルなりなんなりを読み込む方法を
ご存知の方いらっしゃいましたら教えていただけないでしょうか。
よろしくお願いいたします。

231:デフォルトの名無しさん
08/01/10 22:08:40
>>230
無理。別のライブラリを探してくるしかない

私はそれをやるのにDirectShOwフィルタを作ってもらった。たしか普通のWebカメラならHTTPをGetしてくる形でコーディングすればいいとおも。

232:デフォルトの名無しさん
08/01/10 22:12:50
>>227
どこが難しいのかよくわからない(´・ω・`)
詳しく!

ヒキスウつけて実行しないとプログラムが動かないって事ですか?

233:デフォルトの名無しさん
08/01/10 22:32:51
が、画像処理以前にCをおべんきょ・・・いやなんでもない

234:230
08/01/10 22:38:46
>>231

返信ありがとうございます。
別のライブラリって何がありますかね。。。

っというのは環境が環境なだけに(FC5+usb camera)
なかなか動いてくれるアプリ+カメラがなくて・・・

>>私はそれをやるのにDirectShOwフィルタを作ってもらった

linuxなんですけど、なんかいい案ないですかね(´・ω・`)

235:デフォルトの名無しさん
08/01/10 22:44:38
/dev/usbcam を垂れ流す cgi でも作れば、HTTP サーバが適切に chunked で
垂れ流してくれるんじゃないの?

236:デフォルトの名無しさん
08/01/10 22:58:17
>>210
>>227
引数に画像のファイル名がない or 画像読み込み失敗で return -1
読み込んだ画像をグレースケール変換
これでおk?

237:デフォルトの名無しさん
08/01/10 23:15:15
変換じゃなくて、読み込んだ画像と同じサイズの画像を作成だった

238:デフォルトの名無しさん
08/01/11 00:27:55
>>231ですが、
>>235さんの方法に同意。
別ライブラリとはいっても見つからないとおもわれる。
だからVideoForLinuxで自作する他ないのかもしれませんね
検討を祈る

239:デフォルトの名無しさん
08/01/11 03:36:33
OpenCVには、画像の任意率の拡大縮小とか
指定ピクセルだけ平行移動する関数ってありますか?
並進移動ってのはあったんだけどなんか違う気が・・・

240:デフォルトの名無しさん
08/01/11 05:22:33
239だけど・・・
両方アフィン行列変換でどうにかなるみたいですね…
お騒がせしました・・・

241:213
08/01/11 13:25:02
>>214
亀レスだが、サンクス。

242:デフォルトの名無しさん
08/01/11 15:44:15
for文の中で処理を繰り返して、繰り返すたびに処理画像をbmp保存したり
バッファとしてキャプチャしておく方法ってある?
当たり前だけどcvShowImageとかcvSaveImageをfor文の中に入れたら上書きされちゃうんだ・・・

243:デフォルトの名無しさん
08/01/11 16:00:48
別のメモリにコピーしておいて
あとで保存すればいいんじゃ?

244:名無し募集中。。。
08/01/11 17:10:20
cvSaveImageのファイル名を変えないとfor文じゃなくても上書きされるな

245:デフォルトの名無しさん
08/01/11 20:52:39
なんか急にレベル下がったね。
どっかの学校で課題でも出されたのか?

246:デフォルトの名無しさん
08/01/11 21:03:26
レベルの高い話なんてしてたっけ?

247:デフォルトの名無しさん
08/01/11 21:21:04
学生がウラヤマ(´・ω・`)


248:デフォルトの名無しさん
08/01/12 00:26:19
OpenCVの使い方ではなくCについて聞くような
レベルまでは低くは無かったんじゃないかな

249:デフォルトの名無しさん
08/01/12 20:50:31
ここはプログラミング初心者スレじゃないよ

250:230
08/01/14 07:38:21
>>235
>>238

亀レスですがありがとうございました。
ですよねぇ、やっぱそうですよねぇ・・・

卒論で使いたかったのですが、
自作してる時間がなさそうなので方向転換します;

251:デフォルトの名無しさん
08/01/15 11:42:21
初心者でも高度なプログラムが書けるっつうのがOpenCVの理念だろ。

上級者ぶってるヤツも文句言わず教えろよクズどもw

252:デフォルトの名無しさん
08/01/15 12:00:28
OpenCVの前にCを勉強しろよ
初心者上級者以前にスレ違い

253:デフォルトの名無しさん
08/01/15 18:04:56
うむ
252が正論だな
Cの質問かOpenCVの質問かきりわけるのが礼儀だな。


254:デフォルトの名無しさん
08/01/18 11:28:02
CamShift, CamshiftTrackerの使い方がいまいちよくわからないのですが、いいサンプルコードとかないですか?


255:デフォルトの名無しさん
08/01/18 18:50:53
本買えばいいんじゃね?

256:デフォルトの名無しさん
08/01/18 21:17:25
質問です。
ライブラリの中の、get_関数が用意されていない変数の値をとってくるには、
どうし書いたらいいでしょうか。
具体的には、mlem.cppのなかのinv_eigen_valuesとcov_rotate_matsの値が欲しいのですが。。

257:デフォルトの名無しさん
08/01/18 21:32:47
デバッガ使えないの?

258:デフォルトの名無しさん
08/01/18 22:04:26
>>257
>>256です。
少し調べたのですがデバッガの扱いがわかりません。。しかし、知りたい変数は行列なので、見れるか微妙な気がします。もうすこしだけ、ヒントいただけないでしょうか。

259:デフォルトの名無しさん
08/01/18 23:56:01
>>256
自分で望みの関数を追加してみたら?

260:デフォルトの名無しさん
08/01/19 04:10:34
>>259
256です。
それはそうなんですが、関数、というかアルゴリズムがかなり大変なので、ライブラリから取ってこれればそれに越したことはないのです。
実行時間もライブラリのほうが自分で書いたものより早いですし。

261:デフォルトの名無しさん
08/01/19 04:13:11
ヘッダに無かったら自分で作るしかないだろ

262:デフォルトの名無しさん
08/01/19 04:18:56
ライブラリのソースがあるんだからget_だけ実装すればいいんじゃね


263:デフォルトの名無しさん
08/01/19 11:36:40
画像の輝度を1ピクセルごとに取得して配列に格納できるような関数ってありますか?
例えば100×100サイズの画像なら、x[0][0]に座標0,0の輝度が入って、x[99][99]に座標100,100の輝度が入っていくようなものです。

264:デフォルトの名無しさん
08/01/19 11:43:40
>>260
>>259はライブラリのソースに加えりゃいいだろという話

265:デフォルトの名無しさん
08/01/19 11:43:53
>x[0][0]に座標0,0の輝度が入って、x[99][99]に座標100,100の輝度が入っていく
どうやっても無理じゃね、普通

266:デフォルトの名無しさん
08/01/19 13:50:13
>>263
img->imgDataから自分で2次元配列作れ

267:デフォルトの名無しさん
08/01/19 13:50:52
×imgData
○imageData

268:デフォルトの名無しさん
08/01/19 15:13:45
>>265のつっこみにみんな気付いてあげて

269:256
08/01/19 15:24:29
>>261,>>262,>>264
その通りだと思います。。しかしその書き方がわからないのです。
mlem.cppとml.hの中身をちょこちょこ変えたのですが、(具体的には以下を書き加えたり)どうにもうまくいかないので、ヒントが欲しいのです。そもそもOpenCV以前にプログラミングの知識が心もとないのが問題ではあるんですが。。
const CvMat** CvEM::get_cov_rotate_mats() const
{
return (const CvMat**)cov_rotate_mats;
}

270:デフォルトの名無しさん
08/01/19 15:37:36
>>269
うまくいかないじゃわからないよ。
何を期待して、現状どうなのかを書かないと。

271:デフォルトの名無しさん
08/01/19 16:38:16
機械学習は使ったこと無い上にC++すら知らないけれど、
俺だったら、
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使いの妄想を垂れ流してみる。
クラスについてよく分からないから、正しいのか分からないけれど。

272:271
08/01/19 21:19:32
せめて、何か反応してくれよ〜
こんな感じでうまくいくんじゃね?とか駄目とか。

273:デフォルトの名無しさん
08/01/19 22:58:26
カラー画像から色での2値化で切り抜いているのですが
色の境目のにじみできれいに切り抜けていません。
にじみをとれるようなフィルタってないでしょうか。

274:デフォルトの名無しさん
08/01/20 13:13:25
>>273
ここはOpenCVの・・・

275:デフォルトの名無しさん
08/01/20 15:09:07
>>273
色での二値化の意味がわからん。
各チャネルに分解してcvThresholdかましてcvAnd、また結合すりゃおk

276:デフォルトの名無しさん
08/01/20 15:36:20
>>275
その方法でやってます。
jpegの写真を処理しているのですが、色の境目の
ところがグラデーションになっていて、それがノイズになって
誤検出してしまいます。
そいつを取り除きたいのですが・・・・・
ちなみにHSV色空間でやってます。




277:デフォルトの名無しさん
08/01/20 15:45:16
>>276
グレイスケール→平滑化→二値化

278:デフォルトの名無しさん
08/01/20 16:27:33
>>277
グラデーションをとって
ぼかしを除去したいので
平滑化とは逆のような気がするんだけど




279:デフォルトの名無しさん
08/01/20 16:52:51
>>278
二値化した時のノイズが何を指してるのかよくわからんけど
小領域でぶつぶつ小さく領域が切り分けられることじゃないの?
ぼかしをとるって、減色の処理を加えても二値化の結果はあまり変わらないと思うけど、何がしたいの?

単に陰影で物体の形状を奇麗に切り取れないって言うなら自分で高度なアルゴリズムを調べるしかないんじゃないの?

280:デフォルトの名無しさん
08/01/20 17:05:58
形状を滑らかに抽出するならSnakesが実装されてなかったっけ?

281:デフォルトの名無しさん
08/01/20 17:09:27
>>279
まとまりのない質問ですみません。
切り取った形状の淵がすごいギザギザになるので
何とかならないかと思って・・・・

減色してもあまり効果は見込めないですね

入力画像に問題があると思うのでそちらを
見直してみます。

282:デフォルトの名無しさん
08/01/20 17:13:47
>>281
なら平滑化してみなよ
やらないよりいくらかましだと思うけど

283:デフォルトの名無しさん
08/01/20 17:26:44
>>281
まるっきり画像処理に関する質問だな。
色認識の論文とか調べればいい方法あるんじゃないの?

正確性を気にせずギザギザがとりたいのなら
検出結果側にフィルタをかければいいと思うが。

284:デフォルトの名無しさん
08/01/20 17:54:05
>>281
ほれ。丁度出てたぞ。
URLリンク(opencv.jp)


285:デフォルトの名無しさん
08/01/20 18:16:56
>>282,>>283,>>284
スレ違いなのにすみません。
とりあえず全部実験してみます。

何だかjpeg形式にも問題があるような気が
するので、bmpとかでもやってみます。


286:デフォルトの名無しさん
08/01/20 21:20:57
thresholdにヒステリシス特性のあるフィルタをかます

287:デフォルトの名無しさん
08/01/20 23:41:26
265さんのツッコミが素敵です。
ただ、信号処理の観点から265のツッコミをみると101/100のリサンプルすればいいだけ。簡単にできるお

質問者のやりたいことはもっとレベル低いとはおもう

288:デフォルトの名無しさん
08/01/21 00:49:15
>>287
>100×100サイズの画像なら
という前提があるのでリサンプリングしてもやっぱり無理。

289:デフォルトの名無しさん
08/01/21 01:32:45
その通りですね。
よくよんでみて気がついた。
100×100の画像で0〜100の座標はないわ。

290:デフォルトの名無しさん
08/01/23 10:21:25
質問です。
cvLoadImageで読み込んだ画像をウィンドウに表示するとグレーの歪んだ画像が表示されます。
画像の拡大などをして保存しても歪んだ画像が保存されます。
原因がわからないので知ってる方がいたら教えてください。

Xcodeを使っています。

291:デフォルトの名無しさん
08/01/23 10:28:35
プログラムは思ったとおりには動かない
書いたとおりに動く

292:デフォルトの名無しさん
08/01/23 11:39:37
>>291
至言だな

293:デフォルトの名無しさん
08/01/23 22:06:38
だな。

書いたコードもどう動かしたいかもわからないで答えられるわけがないな

でも、IPLImageの確保サイズや色の指定が違うんだろう。と、ゆとりにいってみる


294:290
08/01/24 05:54:41
ウィンドウズの方でコードを書いたら正常に動作しました。

295:デフォルトの名無しさん
08/01/24 18:24:46
>>291は良い言葉だが、この場合は「Macは糞」が正解だったようだな

てかwinあんならwin使えばいいじゃん

296:デフォルトの名無しさん
08/01/24 21:59:11
どちらにしろ
もっともシンプルなコード書いて実験だな
んでコード晒せ
バグがあるのかも知れんね

297:デフォルトの名無しさん
08/01/24 22:22:27
Macで使っているが、特に問題はない。
>>290
のコードが悪かったとしか思えない。

298:デフォルトの名無しさん
08/01/24 23:04:14
だろうな。LoadImageなんて根本的なとこでバグってたらOpenCVの機能の大半使えないもんな

299:デフォルトの名無しさん
08/01/26 21:16:02
単眼カメラでカメラで取得した座標から実空間の座標を
求めたいんですけど、みなさんどうやってもとめてますか?
あと、実空間と画像との誤差はどれくらいでるのか気になります。
OPENCVでやりたいなと思っています。よろしくお願いします。

300:デフォルトの名無しさん
08/01/26 21:45:25
>>299
キャリブレするか特定の平面からしか無理じゃね?

301:デフォルトの名無しさん
08/01/27 00:17:51
229
真上からのカメラ映像があれば後は基準となる物から座標補正してやればおk

なんか最近それ関連の仕事きたなぁ

302:デフォルトの名無しさん
08/01/28 15:42:02
OpenCVでニューラルネットワークを使おうと思ってるんですが
CvANN_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で同じだと思うし原因が分かりません。
使ったことある方教えてください。

303:デフォルトの名無しさん
08/01/29 22:39:24
不完全な円(画像から一部がはみだしている)を検出したいのですが
cvHoughCircles では無理でしょうか。
よろしくお願いいたします。

304:デフォルトの名無しさん
08/01/30 02:52:45
もっとデカいIplImageの中心にROI設定してCopyしてからHoughやってみたら?

305:デフォルトの名無しさん
08/01/30 06:39:46
>>302
使ったことないけどググってみた感じ
CvMat test_input_mat = cvMat( 4, 2, CV_32FC1, test_input );
CvMat test_output_mat = cvMat( 4, 1, CV_32FC1, test_output );
っぽい気がする


306:デフォルトの名無しさん
08/01/31 08:37:54
>>299
ゲーム制作板の企画スレ見てみ
「企画」で検索な

307:デフォルトの名無しさん
08/01/31 08:44:07
スレリンク(gamedev板)

308:デフォルトの名無しさん
08/01/31 21:44:41
OpenCV初心者なのですが、OpenCVをWindows form applicationで使えますか?
使おうとしているのですが、なかなかうまくいきません。
使えるのであればどのように設定すればよいか教えてください。
よろしくお願いします。

309:デフォルトの名無しさん
08/01/31 22:34:26
初心者という表現は使うな。関係ない

formApplicationで使える。というかVCでもVBでもライブラリが使えない言語はほとんどないぞ?

で、何の開発ツール使っているの?

310:デフォルトの名無しさん
08/01/31 23:29:22
DirectXでのレンダリング画像を1秒ごとにhoge.jpgに上書き保存していき、これを逐次OpenCVで画像処理したいのですがうまくいきません。

int 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");
}

上記はメインの中身なのですが、このままではキーボード入力をしないと画像が更新されません。
これをキーボード入力なしでおこないたいのですが、どのようにすればよろしいのでしょうか。

311:デフォルトの名無しさん
08/01/31 23:41:52
OpenCVの話じゃないな

312:デフォルトの名無しさん
08/02/01 00:02:15
>311
申し訳ございません。
OpenCVを用いているのでここに書き込ませていただいたのですが他をあたってみます。

313:デフォルトの名無しさん
08/02/01 00:43:07
cvWaitKeyしなければキーボード入力を待たずに処理するよ。

314:デフォルトの名無しさん
08/02/01 01:02:37
>>310
あっという間にメモリ食い潰しそうだなw
ループの前にIplImage確保しといてcvCopyImageにしとけ。
あとcvWaitKey(10)とかやっときゃキー入力待ちのウェイトが10msになって
入力が無い時は勝手に回るようになる

315:デフォルトの名無しさん
08/02/01 02:46:07
>>309
>>308です。
フリーで配布されているMaicrosoft visual c++ 2005 Express Editionです。
「追加の依存ファイル」にhighgui.hとか貼り付けて#includeすれば
formApplicationで使えると思ったのですが、うまくいっていない
というのが今現在の状態です。

316:デフォルトの名無しさん
08/02/01 02:48:37
え”・・・。

317:デフォルトの名無しさん
08/02/01 02:54:53
間違えました。
highgui.h→highgui.lib

318:デフォルトの名無しさん
08/02/01 02:56:18
まあ、エラーメッセージくらい書いてくれないと何にもわからないよ

319:デフォルトの名無しさん
08/02/01 03:30:51
わからないなら黙っててください。

320:デフォルトの名無しさん
08/02/01 03:41:36
・・・

321:デフォルトの名無しさん
08/02/01 04:50:26
ホスト名 www.megavideo.com
IPアドレス 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 domain@megavideo.com
Room 1204, 12/F
48-62 Hennessy Road
Wan Chai, Hong Kong
Hong Kong
+852.30173700

322:デフォルトの名無しさん
08/02/01 07:24:49
>>317
VCでのライブラリの扱い方がわかんないんだね。

ヘッダだけのインクルードでは外部参照エラーになるよ(あたりまえ)

OpenCVのフォルダのなかにある*.libファイルをソースが並んでるところにほおりこんでみな

323:デフォルトの名無しさん
08/02/01 07:35:18
その前にフォームアプリケーションもビルドできるかすら怪しい

324:デフォルトの名無しさん
08/02/01 07:44:07
OpenCV 以前だよ〜。VC のスレにでもいけよ〜。

325:デフォルトの名無しさん
08/02/02 02:23:42
>>318さん
原因と思われるエラーメッセージです

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さんの方法を試しましたが、うまくできませんでした

326:デフォルトの名無しさん
08/02/02 02:28:53
C4793でググってみるといいよ

327:デフォルトの名無しさん
08/02/02 03:52:53
大学の情報学科もピンキリなんだなぁ。

328:デフォルトの名無しさん
08/02/02 14:13:11
インクルードするヘッダはちゃんとパス通ってるのか?

どちらにせよOpenCVに限らず、ライブラリを使えるようになれるといいな
(この板はC初心者スレではないから)

どーしてもというならプロジェクト作ってやるけど

329:デフォルトの名無しさん
08/02/02 15:25:21
パスの設定はしました。
皆さんの話からOpenCVじゃなくて
VCの使い方が問題のようなので
もっといろいろ調べてみます
いろいろありがとうございました。

330:デフォルトの名無しさん
08/02/02 16:09:12
VC++は(フリーのやつに限らず)MS独自拡張Cモードでプロジェクトを作る。
これをOFFにしてANSI-CモードにするのがVC++の最初の一歩です。

331:デフォルトの名無しさん
08/02/03 03:37:06
OpenCVをC#で使えるようにしたラッパーありますか?

332:デフォルトの名無しさん
08/02/03 09:25:42
>>331
URLリンク(www.google.com)
まずはググろうぜ!

333:デフォルトの名無しさん
08/02/03 11:23:53
sherperCVって本家に完全対応してるの?

334:デフォルトの名無しさん
08/02/06 16:14:35
cvFindContoursを使って輪郭抽出をした後、各輪郭における
すべての座標を取得したいのですが、どうすればいいでしょうか?
>>60 さんの書き込みを見てもなかなかうまく解決できなくて
友達に聞いても誰も分からないのでお手上げ状態になってます。

335:デフォルトの名無しさん
08/02/06 19:37:27
>>334
このページぐらいは探してみたほうがいいじゃないか?
URLリンク(opencv.jp)

336:デフォルトの名無しさん
08/02/08 09:23:47
自分めも

OpenCV097はプロジェクトがVC2003で作られ
OpenCV1.0はVC2005で作られている

OpenCVのソースコードデバッグするには中間ファイルを作り、cvd.libなど後ろに「d」がついている
スタティックリンクライブラリをリンクすればいい

337:デフォルトの名無しさん
08/02/09 09:06:14
なぜdがついてるの?

338:デフォルトの名無しさん
08/02/09 09:21:22
d=デバッグ用

339:デフォルトの名無しさん
08/02/09 18:08:04
デブ

340:デフォルトの名無しさん
08/02/10 05:57:11
336だけど、cvd.libはcvd.libとファイルサイズかわらず97kだったよ。
だからデブのdではないなw

341:デフォルトの名無しさん
08/02/10 06:05:39
そりゃー同じもの比べたら同じだろうが

342:デフォルトの名無しさん
08/02/10 07:09:57
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

343:デフォルトの名無しさん
08/02/10 12:37:48
いや誤記だが携帯からだと訂正めんどくさかったんだ。
後、低レベルな奴が多いからOpenCVのバグを取る奴もいないと思った

344:デフォルトの名無しさん
08/02/10 18:44:52
>>343
Yahoo Groups読んでると分かるが、バグ!とメールする奴は大抵使い方がおかしい


345:デフォルトの名無しさん
08/02/10 19:04:06
グレースケールにして表示すると上下逆さになるのは?

346:デフォルトの名無しさん
08/02/10 21:49:02
>>345
#include <cv.h>
#include <highgui.h>

void main()
{
IplImage *src = cvLoadImage("test.jpg",1);
IplImage *gray = cvCreateImage(cvGetSize(src),src->depth,1);
cvCvtColor(src,gray,CV_BGR2GRAY);
cvNamedWindow("src",1);
cvNamedWindow("gray",1);
cvShowImage("src",src);
cvShowImage("gray",gray);
cvWaitKey(0);
}

フツーに表示されるが。

347:デフォルトの名無しさん
08/02/11 21:39:06
縦のみ伸縮させたいのですが、
アフィン変換とかしないとダメですか
やりたいのは画像内の楕円を円にする事です。
よろしくお願いします。

348:デフォルトの名無しさん
08/02/11 21:40:29
cvResizeは?

349:デフォルトの名無しさん
08/02/11 22:10:44
>>348
即レスありがとうございます。
画像を見ながらトラックバーで調整したいのですが
可能でしょうか。


350:デフォルトの名無しさん
08/02/11 22:13:00
叶姉妹

351:デフォルトの名無しさん
08/02/11 22:13:31
余裕でcvResizeで可能です。はい次


352:デフォルトの名無しさん
08/02/11 23:11:14
>>349
トラックバーのサンプルはProgram Files\OpenCV\samples見れ

353:デフォルトの名無しさん
08/02/12 00:09:19
サンクス
出来マスター
入力画像のROIを変化させたらうまいこといきマスター


354:デフォルトの名無しさん
08/02/15 09:59:29
NULL pointer(NULL array pointer is passed)
in function cvGetMat,C:\User\VP\opencv\cxcore\src\cxarray.cpp(2780)

こんなエラーが出るのですが、これってどこを直せばいいでしょうか?

355:デフォルトの名無しさん
08/02/15 10:06:52
ガッ!

356:デフォルトの名無しさん
08/02/15 10:12:53
>>354
NULL配列ポインタを渡さないようにする。

357:デフォルトの名無しさん
08/02/15 14:38:55
誰かCvSubdiv2Dの使い方を教えてください。
ドロネー図を書いて、3角形にテクスチャを張りたいのですが、どうやって貼り付けたらいいかわかりません。
おねがいします!


358:デフォルトの名無しさん
08/02/15 20:40:53
>>354
存在しない画像ファイルを読んだとか。

359:デフォルトの名無しさん
08/02/15 23:38:11
>>357
ポリゴンのROIは無いからなぁ
注目するポリゴン内の点と連結する部分にマスクかけてcvCopy(src,dst,mask)かね

360:デフォルトの名無しさん
08/02/17 15:54:28
ポリゴンするならCGALあたりと組み合わせてみたらどうだい?
BIASだとopencvのbindingあってなおかつポリゴン使う枠組みあるみたいだけど
CGALよりメジャーじゃないみたいなのが不安なんだよね

361:デフォルトの名無しさん
08/02/18 19:08:38
fedora7で
gcc hoge.c -lopencv -lhighgui -lcxcore
てやってもcv.hがない、highgui.hがない、cxcore.hがないって起こられてしまうorz

インスコはfedora標準のパッケージマネージャで行いました。

なにか考えられる原因わかる方いらっしゃいますか。
解決法知ってたらお願いします

362:デフォルトの名無しさん
08/02/18 19:19:43
-Iオプション

363:デフォルトの名無しさん
08/02/18 22:41:58
haartrainingというプログラムを使って顔画像を学習し、ステージごとのパフォーマンスを比較したんですが、
最初の方だけ、ステージが増えるごとに検出率が増加してしまいました。
カスケードなので検出率は上がることはないはずなのですが・・・


364:デフォルトの名無しさん
08/02/19 09:04:34
libcv-devel
を入れる

365:デフォルトの名無しさん
08/02/19 11:46:54
>>362 >>364
ありがとうございます。
gcc hoge.c -I/usr/include/opencv/ -lcxcore -lhighgui -lcv
で無事コンパイルできました。

366:デフォルトの名無しさん
08/02/23 16:42:56
>>361です
JPG画像を表示させた後
cvWaitKey(5000)で5秒待ち、
cvDestroyWindowでウィンドウを閉じさせようとしたのですが
ウィンドウを閉じてくれません。こういうものなのでしょうか。
プログラムが終了するとウィンドウは閉じられます。
別の方法があるのでしょうか。

367:デフォルトの名無しさん
08/03/01 14:24:17
USBカメラでは、動画が表示できていますがDVカメラだと表示されません。
cvCreateCameraCapture()は、NULLではありません。
DVカメラは使えないのでしょうか。

368:デフォルトの名無しさん
08/03/01 17:42:20
3次元空間の点を2次元座標上に投影するために、
cvProjectPoints2を使いたいのですが、
リファレンスを読んでも詳しい使い方がわかりません。
どなたか教えてください。

369:デフォルトの名無しさん
08/03/01 17:55:32
>>368
リファレンスのcvProjectPoints2の前の"Pinhole Camera Model, Distortion"という節の
数式を読めば、cvProjectPoints2の各引数の意味するところはわからないかな?
URLリンク(opencvlibrary.sourceforge.net)

ただ投影したいだけなら、後半のヤコビヤンを取得する引数は要らないだろうし。

370:デフォルトの名無しさん
08/03/01 18:50:59
>369
ありがとうございます。
教えてもらったページを見て、だいたいの引数の意味はわかりました。
しかし、object_pointsとimage_pointsに関しては少し?な感じです。
object_pointsには3次元の入力データをそのまま与えればいいのでしょうか?
また、image_pointsにはどういった値を与えればいいのでしょうか?

371:デフォルトの名無しさん
08/03/01 18:58:54
image_pointsはoutput arrayって書いてあるだろうが・・・

372:デフォルトの名無しさん
08/03/01 23:08:51
>>367
IEEE1394カメラとDVカメラは別物
WindowsでキャプチャできるカメラならvideoInput使うかDirectShowと組合せれば使える。

373:デフォルトの名無しさん
08/03/02 01:29:58
>IEEE1394カメラとDVカメラは別物
>WindowsでキャプチャできるカメラならvideoInput使うかDirectShowと組合せれば使える
Windows用のOpenCVで用意されたのキャプチャー関数では、IEEE1394経由のDVカメラは使えないと
いう解釈でよろしいのでしょうか?

DirectShowでキャプチャーしてOpenCV用のフォマットに変換して処理させる事に成功しました。
アドバイスどうもありがとうございました。

374:デフォルトの名無しさん
08/03/02 02:34:41
>371
image_pointsの点データの決定の仕方やデータの与え方がわからないのですが。

375:デフォルトの名無しさん
08/03/02 03:11:44
   、ミ川川川彡                 ,ィr彡'";;;;;;;;;;;;;;;
  ミ       彡              ,.ィi彡',.=从i、;;;;;;;;;;;;
 三  ギ  そ  三            ,ィ/イ,r'" .i!li,il i、ミ',:;;;;
 三.  ャ  れ  三    ,. -‐==- 、, /!li/'/   l'' l', ',ヾ,ヽ;
 三  グ  は  三  ,,__-=ニ三三ニヾヽl!/,_ ,_i 、,,.ィ'=-、_ヾヾ
 三  で       三,. ‐ニ三=,==‐ ''' `‐゛j,ェツ''''ー=5r‐ォ、, ヽ
 三.   言  ひ  三  .,,__/      . ,' ン′    ̄
 三   っ  ょ  三   /           i l,
 三.  て   っ  三  ノ ..::.:... ,_  i    !  `´'      J
 三   る  と  三  iェァメ`'7rェ、,ー'    i }エ=、
  三   の   し  三 ノ "'    ̄     ! '';;;;;;;
  三   か  て  三. iヽ,_ン     J   l
  三  !?    三  !し=、 ヽ         i         ,.
   彡      ミ   ! "'' `'′      ヽ、,,__,,..,_ィ,..r,',",
    彡川川川ミ.   l        _, ,   | ` ー、≡=,ン _,,,
              ヽ、 _,,,,,ィニ三"'"  ,,.'ヘ rー‐ ''''''"
                `, i'''ニ'" ,. -‐'"   `/
               ヽ !  i´       /
               ノレ'ー'!      / O

てのは置いておいて…
object_pointsは3次元データでOK
image_pointsはサイズが合ってれば値は適当(あるいは初期値)でOK
それを渡すと,image_pointsに投影後の2次元座標(貴方の欲しいもの)が書き込まれる

376:デフォルトの名無しさん
08/03/02 12:08:53
>375
わかりました。
とりあえずやってみようと思います。

377:デフォルトの名無しさん
08/03/02 13:01:50
こういう質問する人ってC言語のポインタ渡しの作法がわかってないのかな・・・

378:366
08/03/03 13:03:02
cvDestroyWindow
実行後
cvWaitKey(1);
でウィンドウが消えました。
とりあえず報告まで。。。

379:デフォルトの名無しさん
08/03/04 17:52:25
>>325
警告だけでエラーが1つもない件。

380:デフォルトの名無しさん
08/03/05 14:27:52
他にも画像処理ライブラリーはたくさんあるのに
なぜOpenCV?

381:デフォルトの名無しさん
08/03/05 18:22:18
君が画像処理ライブラリの機能比較ページとか作ってくれたら、みんな喜ぶ

382:デフォルトの名無しさん
08/03/06 12:35:20
USBカメラのキャプチャ実行中にUSBを引っこ抜いたら
どうなんの?
こわくて実験できません

383:デフォルトの名無しさん
08/03/06 19:10:26
PCが物故割れる

384:デフォルトの名無しさん
08/03/10 16:50:51
あるJPEGファイル(ネットワークカメラの映像の1コマ)を
OpenCVのcvLoadImage関数に読ませようとすると、
IPLイメージにデータが入らず、
cvShowImageで表示させると灰色の画像が表示されます。

これはJPEGファイルに問題あり?
それともcvLoadImageのバグでしょうか?


.NET FrameworkのSystem::Drawing::Bitmapを使って
JPEGファイルを読み込んだときは問題なく表示されましたが
処理時間の高速なOpenCVを極力使いたいと考えています。

385:デフォルトの名無しさん
08/03/10 19:05:53
その「あるJPEG」をアップしてみたら?

386:デフォルトの名無しさん
08/03/11 02:05:38
二値化して、物体検出やってるのですが
二値化画像が真っ黒(要素がすべて0)かどうか判定するには
cvCountNonZeroを使うのが正解でしょうか?

387:384 ◆EbBEqBu6yI
08/03/11 10:22:41
384です。
問題の画像をアップしてみました。(Passは9999です)

URLリンク(www.uploda.org)

#JPEGファイルそのものに以上がないか、解析ツールでこちらでも調べてみます。

388:384 ◆EbBEqBu6yI
08/03/11 10:32:26
JpegCheckerで調べてみたところ
画像が破損しているということはありませんでした。

info_JPEGを使って調べてみたところ、
[ 画質 ] 93 %
[ サイズ ] 16082Byte
[ 画素数 ]( 320, 240 )
[サンプリング](2,1):(1,1):(1,1)
[インプラント ](なし)
[ サムネイル ]「○なし」
[ インタバル ](無効)
[ フォーマット ]基本DCT方式 / フォーマット「不明」

コメントは
「TOSHIBA NETWORK CAMERA IK-WB21」← 使用しているネットワークカメラ

Exif情報は、「なし」です。

389:デフォルトの名無しさん
08/03/11 11:06:18
cvLoadImageで読めて、cvShowImageで表示できたけど。
cvWaitKey?

390:384 ◆EbBEqBu6yI
08/03/11 11:37:16
確認していただいてどうもありがとうございます。
当方の環境では以下のような感じで読み込めないんですよ。

URLリンク(www.uploda.org) (pass:9999)

cvLoadImage実行後に画像データが代入されている(はずの)
IPLイメージのimageDataをデバッグ時に見てみると「ヘヘヘヘヘ・・・」となっているので
cvLoadImageの段階で失敗しているようです。

当方の環境は Visual Studio .NET 2003で C++(コンソールアプリケーション)を使っています。
CPUはGenuine Intel(R) CPU T2500 @ 2.00GHz を使用しています。
読み込める方もいらっしゃるということは、環境によるのでしょうか・・・。

391:デフォルトの名無しさん
08/03/11 12:03:43
同じプログラムで別のjpgファイルを読めるならjpgに原因が、そうでないならプログラムに原因があんじゃね
cvLoadImageは読み込めないとNULLを返すような気がすんだけど、imageDataが見れるってことはNULLじゃないんだよね?

392:384 ◆EbBEqBu6yI
08/03/11 12:57:36
cvLoadImageから返される結果は、NULLではないです。
(width, height, nChannelsも値が入って参照できているので)



393:デフォルトの名無しさん
08/03/11 16:00:32
>>392
関係無いだろうけどファイルのアクセス権限は?

394:384 ◆EbBEqBu6yI
08/03/11 16:49:35
>>393
ファイルのアクセス権限ですが、
どのユーザ権限でも「読み取り」「読み取りと実行」は許可されています。
(現在、当方のPCでは Administrators, SYSTEM, Users, XXX(当方のログイン名。Administrator権限。)が存在しています。)

ソースコードはこれだけです。
IplImage* pimgJpeg = cvLoadImage("test.jpg"); ← 387でアップした問題のjpg
cvSaveImage("OpenCV.bmp", pimgJpeg);

cvNamedWindow("test", 1);
cvShowImage("test", pimgJpeg);
cvWaitKey(0);
cvReleaseImage(&pimgJpeg);

同プログラム、同画像でを他のパソコンでも試してみたのですが
同様の症状となりました。

jpg画像を変えて試したところ、正常に読み込める(imageDataに値が入る)ことができました。

#私見ですが、どうもjpgに原因がありそうと感じてきました。



395:デフォルトの名無しさん
08/03/11 19:32:23
別のJPGでできて、
問題のJPGだけが出来ないのならJPGが壊れてるのかもね

問題のJPGは何で作った?デジカメ?フォトショから出力?
そのJPGをフォトショやirfanとかで再保存して読み込んでみたら?

問題のJPGデータを読み込みたいのであって
その画像を表示させたいのではないってのなら
意味無いけど

396:デフォルトの名無しさん
08/03/11 21:44:05
どうでもいいけど、>387が全然拾えない。まぁ恐らく、jpegのフォーマットがどこか変なんだよ。

397:384 ◆EbBEqBu6yI
08/03/12 19:19:36
遅くなってすみません。
JPGに問題があるのかな、と思いつつ明日cvLoadImageの関数内スコープして中で何をやっているか見ようと思います。
どうもありがとうございました。

>>395
問題のJPGデータは東芝のネットワークカメラから取得した画像です。
やりたいこととしては、問題のJPGデータを読み込みたい(ネットワークカメラから取得した画像をプログラムから直接読み込みたい)のです。

>>396
ご指摘を見て確認したら、うpろだから消えていましたので、
再度アップしました
(pass:どちらも9999)
URLリンク(www2.uploda.org) (問題の画像)
URLリンク(www.uploda.org) (実行結果、「問題の画像」という名前になっているのは間違いです)

398:デフォルトの名無しさん
08/03/12 19:35:04
普通に表示できたよ (´・ω・`)

399:デフォルトの名無しさん
08/03/13 00:04:26
>>397
だから、指摘されているにも拘らずそんなに流れの速いアップローダを使うのは嫌がらせ?

400:384 ◆EbBEqBu6yI
08/03/13 09:33:46
すみません。
アップローダ側で消されてしまうのに気づきませんでした。
画像が見れなければ話になりませんよね。

アップローダー変更しました。
ご迷惑おかけしてすみません。
URLリンク(sakuratan.ddo.jp) (問題の画像)
URLリンク(sakuratan.ddo.jp) (当方での実行結果)


401:デフォルトの名無しさん
08/03/13 11:43:08
一応報告 >>394のプログラムのコピペ+>>400の画像で動いたよ
WinXP + .NET 2003

402:デフォルトの名無しさん
08/03/13 22:50:47
>>400
コメントの入り方がちょっとおかしい悪寒。
今手元に細かいフォーマットチェックのできるツールがないからよく判らんけど。
IrfanViewだとコメントが文字化けする。

403:デフォルトの名無しさん
08/03/17 18:22:01
Cygwin上でOpenCV1.0.0をインストールして随分と使っています。
前からアレ?と思ってはいたのですが、
highguiを使用しているプログラム(ウィンドウやcvWaitKey)では、
更にいくつかの条件を満たしていないとプログラムが強制終了してしまいます。
具体的に見つけたケースとしては、実行されなくても良いから
cvMinEnclosingCircleやcvCvtColorを書いておく必要があります。

インストールに失敗しているのか、
何か手順が足りないのか分かっていません。
このため、他から持ってきたプログラムを動かせないケースがあったりして
困っています。何か御存知の方、いらっしゃいますか?


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4341日前に更新/119 KB
担当:undef