【Intel】OpenCV総合スレ【画像処理】at TECH
【Intel】OpenCV総合スレ【画像処理】 - 暇つぶし2ch369:デフォルトの名無しさん
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を書いておく必要があります。

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

404:デフォルトの名無しさん
08/03/17 19:49:53
どの関数で強制終了してますか?

405:デフォルトの名無しさん
08/03/17 20:20:47
>>403
てことは
if(0){
cvMinEnclosingCircle()
}
っていう風に書いておかないと落ちるってことか?
バッファ壊してるんじゃないの?

406:デフォルトの名無しさん
08/03/18 10:33:14
>>404
言葉足らずでした。条件を満たしていない場合には、プログラム自体が
起動直後に強制終了しているようです。最初のprint文も実行されませんので。

>>405
cvMinEnclosingCircle(NULL,NULL,NULL);というのを書いておけば大丈夫です。
実行されるとエラーになってしまうので実行はされていませんが。
バッファ壊しているというのはどんな状態を指しているのですか?

407:デフォルトの名無しさん
08/03/19 01:39:51
>実行されるとエラーになってしまうので実行はされていませんが。
禅問答ですか?

408:デフォルトの名無しさん
08/03/19 23:36:37
>>407
「実行されていませんが」は訂正します。
「実際には実行されていませんが」もしくは「実行されるようにしていませんが」です。
文章がおかしかったですorz

409:デフォルトの名無しさん
08/03/20 00:09:26
> 実際には実行されない

つまり

if(null) cvMinEnclosingCircle(NULL,NULL,NULL);

こういう事ですか?
そのままベタに書いたなら実行はされてますが

410:デフォルトの名無しさん
08/03/20 00:11:48
問題が再現する簡単なコードをくれ

411:デフォルトの名無しさん
08/03/20 01:35:33
>>408
「実行されていませんが」のような自分の解釈で状況説明しようとするから
問題が起きる。2chで質問する奴の9割はそいつ自身の状況把握が信用ならないの
だから、自分の解釈を入れることは極力避けなければならない。

ではどうするかというと、これこれこういう結果になった、こういうエラーが
出た、というのをコピペまたは手書きで写すことによって状況説明する。
つまり回答者の目を代行することに努める。回答者から見れば質問者の
解釈を経由するというのは情報に誤りが入る原因を増やすことでしかない。

412:デフォルトの名無しさん
08/03/21 09:34:18
よくある話。自分のバグでどこか領域を壊しているんだろ。
無関係のコードを書くと動くのは、そのコードによって壊す領域がずれて
たまたま動いているだけ。

413:403
08/03/21 13:17:19
短いコードを作って試しました。

[コンパイル]
g++ `pkg-config --cflags opencv` a.c `pkg-config --libs opencv` -o a.exe

414:403
08/03/21 13:18:19
[ケース1の動く例]
#include <stdio.h>
#include <cv.h>
#include <highgui.h>

int main( int argc, char** argv ){
printf("OK\n");
while(cvWaitKey(1) != 'A');

cvCvtColor(NULL,NULL,CV_BGR2Lab);
cvMinEnclosingCircle(NULL,NULL,NULL);

return 0;
}

この場合にはOKが出力されています。
また、cvCvtColorやcvMinEnclosingCircleは1つ以上書いてあれば良い。

415:403
08/03/21 13:19:05
[ケース1の動かない例]
#include <stdio.h>
#include <cv.h>
#include <highgui.h>

int main( int argc, char** argv ){
  printf("OK\n");
  while(cvWaitKey(1) != 'A');
  return 0;
}

この場合には何も出力されずに、プログラムも終了してしまいます。

416:403
08/03/21 13:19:41
ケース2の動く例
#include <stdio.h>
#include <cv.h>
#include <highgui.h>
void Dummy(){
  cvCvtColor(NULL,NULL,CV_BGR2Lab);
  cvMinEnclosingCircle(NULL,NULL,NULL);
}
int main(int argc,char** argv){
  printf("OK\n");
  while(1)cvWaitKey(1);
}
ケース1の動く例と同様の結果が得られます。

417:403
08/03/21 13:20:33
ケース2の動く例
#include <stdio.h>
#include <cv.h>
#include <highgui.h>
void Dummy(){

}
int main(int argc,char** argv){
  printf("OK\n");
  while(1)cvWaitKey(1);
}
ケース1の動かない例と同様の結果が得られます。
--

長く見苦しいものになってしまい申し訳ありません。
自分のコードからは問題点を見つけられず、
環境の構築に問題があるのでは?と考えてしまっているのですが
何かご存知の方が居られましたら御教授ください。

418:デフォルトの名無しさん
08/03/21 17:20:34
WinXPSP2
cygwin OpenCV1.0

[ケース1の動く例]
[ケース1の動かない例]
ケース2の動く例
ケース2の動く例(ケース2の動かない例?)
全部コンパイルできたし、動いたよ

実行後
OK
出たまま応答しなくなるけど・・・
これじゃキー入力は受け付けないよ、当たり前だけど

419:403
08/03/21 20:03:27
>>418
ケース2の2つめは動かない例です。書き間違えましたorz
キー入力を受け付けないことはプログラム通りですので問題ありません。
私も環境は同様ですので、OKが出ないケースがあることに困惑しています。
環境の構築に不備があると考えるのが妥当とは思うのですが、
どこに不備があるのかさっぱり分からなくて…

試していただきありがとうございます。

420:デフォルトの名無しさん
08/03/21 20:28:43
printfの次にexit()とかfflushとか入れてみたら。つかデバッガ使えば。


421:418
08/03/21 20:40:28
>>403
#include <stdio.h>
#include <cv.h>
#include <highgui.h>
int main(int argc,char** argv){
  printf("OK\n");
  while(1)cvWaitKey(1);
}
void Dummy(){
  cvCvtColor(NULL,NULL,CV_BGR2Lab);
  cvMinEnclosingCircle(NULL,NULL,NULL);
}

ケース2の動く例のmainとdummyを前後入れ替えただけ

これが動かなければ今までの経緯から
コード領域を壊してる恐れが高いと思われ
cywinの再インスコとOpenCVの再インスコを進める

それでも無理だったらOS再インスコもな
つかOpenCVはどうやってインスコしたんだ?

422:デフォルトの名無しさん
08/03/21 23:16:49
俺の記憶では(ver0.97)
cvWaitKey(1);
はバグがあった

括弧のなか0にしてもだめか?

423:403
08/03/22 00:32:49
>>418
入れ替えても動くことに変わりありませんでした。
また、入れ替えた場合にDummyの中身を消すと、同様に動かなくなりました。
しかし、やはり動作環境に問題がありそうですね。

>>420
実はデバッガの使い方がわからなくて。
再インストールの前に勉強して使って調べてみます。

>>420
OpenCVは1.0.0を入れています。括弧の中は0にしても変わりありませんでした。


OpenCVスレの皆様、あやふや文面の質問に対して、
親身なアドバイスをしていただきありがとうございます!!!

424:デフォルトの名無しさん
08/03/23 14:36:21
変わった事やろうとしてる癖にスキル低いな

425:デフォルトの名無しさん
08/03/24 00:20:51
cvAgvをつかってモノクロ画像の輝度平均値を求めたいのですが
cvAgvのマニュアルを読むとスカラー値に出力されるとなっています。
このスカラー値の扱いかたがよく分かりません。
スカラー値から欲しい平均値を取り出すにはどうしたら良いのでしょうか。


426:デフォルトの名無しさん
08/03/24 00:24:04
CvScalarのマニュアル読んでくれ

427:デフォルトの名無しさん
08/03/24 00:39:29
>>426
読んだけど分がらねえ
CvScalarを参照して代入している例文だけでも教えて頂けないでしょうか。
もしくはどのへんから出直したら良いか教えて下さい。

428:デフォルトの名無しさん
08/03/24 00:40:20
Cの文法からやりなおせ

429:デフォルトの名無しさん
08/03/24 07:56:33
>>427
ヘッダ嫁

430:デフォルトの名無しさん
08/03/24 14:32:15
>>429
.val[0]でとれました。
お騒がせしてすみません。
文法から出直しまふm(_ _)m


431:デフォルトの名無しさん
08/03/25 11:33:23
日本語マニュアルのcvCreateCameraCaptureで
---------------
関数 cvCreateCameraCapture は, カメラからビデオストリームを読み込むために,CvCapture 構造体を確保して初期化する.
Windows では,次の二つのカメラインタフェースが利用できる:Video for Windows(VFW),Matrox Imaging Library(MIL).
Linux では,次の二つカメラインタフェースが利用できる:Video for Linux(V4L),FireWire(IEEE1394).
---------------
とあります。
IEEE1394接続のカメラ(DVカメラではない)を使うにはDirectShowを経由すれば
よいようなのですが、具体的にはどのようにすればよいのでしょうか。

432:デフォルトの名無しさん
08/03/25 11:41:50
DirectShowで画像を取得して、
OpenCV用の画像フォーマットに変換

433:デフォルトの名無しさん
08/03/25 12:31:44
directshow samplegrabberでぐぐれ

434:デフォルトの名無しさん
08/03/26 08:26:47
>>431
IEEE1394カメラとDVカメラは別物

435:sage
08/03/26 20:22:14
2値画像でラベリングした結果、例えば、5円玉みたいな画像が取得できた場合、
その穴埋め処理を行うような関数ってない?

ラベリングはBlob extraction libraryを使用したけど、
ラベル毎に判定して埋めていくしかないのかな
それか自力で判定して埋めるか。

あと、他にBlob extraction libraryよりおすすめのラベリングライブラリあったら
教えてほしいっす



436:デフォルトの名無しさん
08/03/26 20:31:50
穴のサイズによる

437:435
08/03/27 10:44:59
膨張収縮では消えないくらい大きな穴です


438:デフォルトの名無しさん
08/03/28 21:53:15
スレ違いだったらすみません。
OpenCVで作ったWindow上のマウスポインタが
いきなりテキスト用のやつになったまま戻りません。
マウスイベントは使ってますが、
何をやらかしたのでしょうか。

439:デフォルトの名無しさん
08/03/29 00:47:48
はい

440:デフォルトの名無しさん
08/03/30 13:39:37
>>437
丸い閉鎖領域を探して塗れよ


441:デフォルトの名無しさん
08/03/31 03:15:37
オライリーからOpenCVの書籍が出るっぽいね!

442:デフォルトの名無しさん
08/03/31 22:08:51
Amazonによると 発売日は 2008/06 ってなってるね

443:デフォルトの名無しさん
08/03/31 23:16:27
アルゴリズムとかチュートリアルとかって書いてある。

444:デフォルトの名無しさん
08/04/02 13:02:32
OpenCV作者による解説らしいな
洋書だが買ってみるか

445:デフォルトの名無しさん
08/04/03 14:13:12
MacでOpenCVやってる人いる?

cvCaptureFromFileでファイル読み込んで再生するんだけど、
終了条件つけても動画がループしちゃうんだよね。
やっぱQuickTimeが原因かな・・・
誰かわかる?

終了条件はこんなかんじ↓
if(NULL == (input = cvQueryFrame(capture))){
return -1;
}

446:デフォルトの名無しさん
08/04/03 15:46:40
>>444
お、、まじで?
それなら買いだな!

447:デフォルトの名無しさん
08/04/03 22:01:10
作者に御礼したいし買うか

448:デフォルトの名無しさん
08/04/04 00:10:22
Google Summer of Codeにでやる人がいるのかな。
どれを実装してほしい?
URLリンク(opencvlibrary.sourceforge.net)


449:デフォルトの名無しさん
08/04/04 00:14:35
>>445
cvGrabFrame
cvRetrieveFrame
でやってみるとどう? 原因絞れるかもよ。


450:デフォルトの名無しさん
08/04/07 17:52:31
SummerOfCode でこんなのあるんだ
opencvは画像処理の標準になりつつあるのかなあ
boost.gilもいいと思うんだけど

451:デフォルトの名無しさん
08/04/09 19:50:41
boost.gilとは機能の差が違いすぎるだろ


452:デフォルトの名無しさん
08/04/11 10:48:50
boost.gilは他のboostの機能との連携がしやくなってるから
違う意味での機能は充実してるだけどね
ファイル入出力とか多次元配列とかlambdaとか

453:デフォルトの名無しさん
08/04/12 19:46:03
OSX でやってる人いる?


454:デフォルトの名無しさん
08/04/12 22:41:58
画像処理ライブラリが画像処理できないと意味ないだろ


455:デフォルトの名無しさん
08/04/16 20:06:02
フーリエ記述子のサンプルプログラムないん?

456:デフォルトの名無しさん
08/04/19 16:18:20
みなさんOpenCVの開発環境はどんな感じでやられていますか?
当方Fedora8+IEEE1394で開発行っているんですがIEEE1394から
firewireに名前が変更されてからカーネルの再構築を行わないと
カメラが使えない状態が続いています。

どの辺りを設定変更すれば普通に使えるようになるのか知っている方
がおられればお教授お願いします。


457:デフォルトの名無しさん
08/04/19 19:39:53
>>456
OSをWindowsにすると簡単だよ。

458:デフォルトの名無しさん
08/04/19 23:19:37
>>457

WindowsだとQtフリーで使えないし色々と不便なのです。またXPでは使えますが
Vistaでエクスプレス変換カードを使用すると画像取り込めないんです。

459:デフォルトの名無しさん
08/04/20 12:21:45
>>441
日本語のは出版未定ですか?

460:デフォルトの名無しさん
08/04/22 07:40:01
>>459
まだまだでないだろう


461:デフォルトの名無しさん
08/04/22 09:17:03
英語版でさえ6月?とかだからなぁ

462:デフォルトの名無しさん
08/04/22 22:58:55
原書買おうぜ!

463:デフォルトの名無しさん
08/04/24 16:46:58
opencv+マルチスレッドなコードを作っているんですが、
それぞれのスレッドでウィンドウを作成し、
cvwaitkeyやると

Xlib: unexpected async reply

って出てきて画像の更新がうまく出来ません。

解決するにはどうすれば良いでしょうか。
またOpenCV+マルチスレッドのサンプルコード、
記載されているページまたは書籍などご存知の方いましたら教えてもらえませんか。

464:デフォルトの名無しさん
08/04/24 16:52:11
ちゃんと、
XInitThreads();
g_thread_init(NULL);
してないんじゃね?
あんまOpenCVとは関係ないと思うが…

465:デフォルトの名無しさん
08/04/24 18:09:58
>>464
両方とも実行していませんでした。。。

XInitThreads();
g_thread_init(NULL);
を最初に実行することで
今のところエラーメッセージも出ず動いています。
ありがとうございました。

466:デフォルトの名無しさん
08/04/27 00:43:15
アラウンドビューモニタ見たいな事ってOpenCVだけで実現できるんでしょうか?

467:デフォルトの名無しさん
08/04/27 16:48:25
OpenCVに直接的な関数はないけど、
要するに画像の幾何的な変換と張り合わせなんだから、
がんばればできるんじゃね?

468:デフォルトの名無しさん
08/04/28 01:38:23
アラウンドビューモニタは高解像度画像の非線形変換だから、
CPUによるソフトウェア処理だけでリアルタイムの速度を出すのは難しいかもね。
GPUでテクスチャとして扱えば余裕で行けそうだけど。

469:デフォルトの名無しさん
08/04/28 08:30:01
解像度はあんまり本質的な問題ではないし、
非線形変換っつっても動的なものではないので、
適当な解像度に落としてLUT作っちゃえば終わりじゃね?

470:デフォルトの名無しさん
08/04/28 23:08:41
パターンマッチングするときに、ドーナツみたいな二重円の範囲で認識できますか?

471:デフォルトの名無しさん
08/04/29 01:37:53
テンプレートマッチングするときに、探索範囲を矩形以外の形に指定できるか、
という質問だとしたら、それは当然無理。再帰演算しにくいから効率悪いしね。
んで、そういうことがやりたいんだったら、
二重円を包含する矩形内でマッチングとって、その相関値のマップに(その形状の)フィルタかけて最大値をだす、
とかすればいいんじゃね?

・・・もしかして、テンプレート自体をドーナツ形状にする、とかいう話だったり?
いまいち良く分からん。

472:デフォルトの名無しさん
08/05/05 23:53:55
カメラではなくてキャプチャボードから直接画像を取り込もうとしています。
キャプチャボードはカメラと違って、どのチャネルから取ってくるかの選択がいると思うのですが、
(私の場合はビデオ入力から取得したいと考えています)この辺りの指定をOpenCVから
行うことはできるのでしょうか?
的外れな質問かもしれませんがよろしくお願いいたします。

473:デフォルトの名無しさん
08/05/06 02:43:33
>>472
関数にはそれっぽいのは無いなぁ。でも
せっかくフリーなのでインストールしてサンプルコンパイルしてレポートしてください。

474:デフォルトの名無しさん
08/05/06 03:16:33
カメラ番号でダメなのかな。
デフォルト引数ついているだけで指定していると思うけど。

LinuxならL4Vのインターフェースがあるからできそう。
highgui/cvcap_v4l.cppにコメントある。
Windowsはよく知らないけど、最悪DirectShowでブリッジしないといけないかも。


475:472
08/05/06 04:57:56
>>473,474
レスありがとうございます。
Windows環境だったのですが、結局OpenCVだけで指定することは無理だと踏み、DirectShowでチャネルを選択後、
OpenCVを噛ませることで解決しました。
カメラ番号はキャプチャデバイス(ウェブカメラやキャプチャボード)が複数存在する場合に
それらの機器を選択する番号のようで、今回の場合には使えませんでした。

476:デフォルトの名無しさん
08/05/06 07:31:33
>>475
レポ乙!

477:デフォルトの名無しさん
08/05/07 11:45:24
"共通言語ランタイム サポート(/clr)"による処理時間への影響が起こるのはなぜでしょうか。

画像の雑音除去にラべリング処理を行っていたのですが、
cvGetReal2DやcvSet2D関数による画像の配列へのアクセスの処理時間が
かなり掛かっていたようでした。
その時、この処理時間の問題とは別の理由があって
VisualStudio2005の
プロジェクトのプロパティ→構成プロパティ→全般→共通言語ランタイム サポートを
"共通言語ランタイム サポートを使用しない" から、
"共通言語ランタイム サポート(/clr)"に
変更した所、処理時間も速くなってしまいました。
偶然解決してしまったのですが疑問が残ったので質問させていただきます。

478:デフォルトの名無しさん
08/05/07 16:15:17
>>477
CLRのほうが遅いってのが常識だと思うけど、
変更したときに最適化オプションも変えていない?
cvSet2Dのような短い関数だと、関数がインライン展開される速くなると思うけど。
この話題を深く追求したいなら.NET系のスレに行ったほうがいいと思うよ。


479:477
08/05/08 12:00:23
>>478
説明に重要なミスがありましたw
"共通言語ランタイム サポートを使用しない" から、
"共通言語ランタイム サポート(/clr)"に変更

ではなく
"共通言語ランタイム サポート(/clr)"から、
"共通言語ランタイム サポートを使用しない"
でしたw逆ですwwサーセンwwww

>>cvSet2Dのような短い関数だと、関数がインライン展開される速くなると思うけど
まさにその通りでリファレンス読んで処理の速い配列アクセス方法に変更して
処理速度を上げていました。

今回の"共通言語ランタイム サポートを使用しない"に変更することによってさらに
速度が上がったので何でだろ?って思った次第です。

>>CLRのほうが遅いってのが常識だと思うけど
実はこの辺りからわからなくなってくるんですよねw
.NET勉強しますwww


480:デフォルトの名無しさん
08/05/16 20:13:34
4コアの2CPU環境だと、cvSmoothでガウシアンフィルタ(CV_GAUSSIAN)かけたときの挙動がおかしいんだけど、既出?
計算はされるけど、処理が異常に重くて、CPU使用率100%になる感じ


最初は俺のマシンのせいかと思ったんだけど、同じスペックの別マシンでも再現性アリだったんで、OpenCV側の問題なのかなと

環境:
・Xeon 5365 ×2 (2CPU)
・4GBメモリ
・Windows XP SP2 32Bit
・OpenCV 1.0
・VS 2005 pro SP1

481:デフォルトの名無しさん
08/05/16 22:58:23
>>480
ソース読め

482:デフォルトの名無しさん
08/05/20 23:00:53
背景差分を行ったあと、cvMatchShapesを使って画像のマッチングを行いと思ってます。

しかし、背景差分を行ったあとの画像は2値画像なんですが、
cvMatchShapesではグレースケールもしくは輪郭しか比較できません。

2値画像をグレースケールに変換(グレースケールの形式で表示?)する方法、
もしくは2値画像でマッチングを行う方法ありませんか??


483:デフォルトの名無しさん
08/05/21 20:19:10
自前でグレースケールに変換すればOK

484:デフォルトの名無しさん
08/05/21 20:41:41
cvCvtColor

485:デフォルトの名無しさん
08/05/23 12:13:44
もう画像処理の標準はOpenCvできまりなのか
少し前まではImageMagicだったが

486:デフォルトの名無しさん
08/05/23 12:15:12
機能がぜんぜん違う。
OpenCVは最先端の学術研究の成果が常に入ってくる。


487:デフォルトの名無しさん
08/05/23 12:32:51
>>486
本家のサイトみてみると
だいぶ長いこと更新されてないのだけど
本当に最新の結果が入ってるの?
shift operatorとかもあるの?

488:デフォルトの名無しさん
08/05/23 12:40:11
cvs先端みとけばいいのか?

489:デフォルトの名無しさん
08/05/23 12:50:09
最新は言いすぎ
更新はcvsに入ってるよ
SIFTは特許があるからダメかもしれないけど
追加機能の候補には挙がっていたよ



490:デフォルトの名無しさん
08/05/23 14:07:03
最先端は無理でしょ。
でもただのウェブ屋さんとかにとっては、すんげー、ってのが入ってる

491:デフォルトの名無しさん
08/05/23 23:18:36
WEB屋さん的にはGIFの読み込みに対応していれば言うこと無いのだが
CVSには入っているのだろうか?

492:デフォルトの名無しさん
08/05/27 10:05:56
OpenCVでTIFFからJPEGに変換できますか?

493:492
08/05/27 11:15:43
やってみました。
読めるTIFFもあるけど読めないTIFFがほとんどですね。

494:デフォルトの名無しさん
08/05/27 11:35:04
>>493
TIFFは(タグ型ヘッダのお蔭もあって)方言がたくさんある。
取り敢えず、IIヘッダは読めるだろうからエンディアンの違うMMヘッダが読めるかどうかだな。
後は、圧縮方法の違いとマルチページ対応の違い辺り。
業界標準としてTIFFが使われているケースなんかだと、独自拡張されていたりするかもしれない。


495:デフォルトの名無しさん
08/05/27 16:17:35
GDI+のほうが読めるTIFFは多いよ。
OpenCVは無圧縮8bit以外は全滅だった気がする。

496:デフォルトの名無しさん
08/06/02 14:14:00
自作の関数をOpenCVに追加したいのですが,どうしたらいいのでしょうか.

497:デフォルトの名無しさん
08/06/02 14:48:27
開発者になってください

498:デフォルトの名無しさん
08/06/02 17:22:27
yahooのOpenCV グループに入って提案してくる

499:デフォルトの名無しさん
08/06/02 22:24:11
私用の範囲で、自分で作成した関数を使いたいということだったのですが、
ヘッダーなどをいじれば追加可能なのでしょうか?


500:デフォルトの名無しさん
08/06/02 22:25:17
なんていうか,OpenCVの質問でもない気がする

501:デフォルトの名無しさん
08/06/02 22:26:08
自分でライブラリ作ればいいじゃん
OpenCVの中に自作関数入れたいなんてやるじゃん!

502:デフォルトの名無しさん
08/06/02 23:07:11
>>259 の「自分で望みの関数を追加してみたら?」
の詳細が知りたいと思った次第なのですが、なにぶん知識が少ないもんで

503:デフォルトの名無しさん
08/06/02 23:19:57
普通にCかC++で関数書くだけだろ

504:デフォルトの名無しさん
08/06/02 23:22:21
>>502
ここで聞くよりC/C++スレに行ったほうがいいよ
サンプル作る以外に回答にしようがないから

505:デフォルトの名無しさん
08/06/02 23:37:07
質問するまでもねぇだろ。
int hoge() {
return 1;
}
でもかいて呼べるかためしてみろよ。

506:デフォルトの名無しさん
08/06/02 23:40:48
盛り上がっていると思ったらまたC言語もできないやつの質問かよ


507:デフォルトの名無しさん
08/06/02 23:57:29
こんなのではしゃいでるのは、やはり大文字英数か

508:デフォルトの名無しさん
08/06/03 11:20:33
yahooのグループは日本のyahooじゃないからね
intelのOpenCVのホームページからリンク張ってるyahoo.com内のページだからね

509:デフォルトの名無しさん
08/06/12 18:54:22
'cvSetMouseCallback' : 2 番目の引数を 'CvMouseCallback (int,int,int,int,void *)' から 'CvMouseCallback' に変換できません。
サンプルをそのままコピペしてるのにこんなエラー出るんですけどなぜでしょう。

510:デフォルトの名無しさん
08/06/12 19:23:39
それだけじゃなんとも…

511:デフォルトの名無しさん
08/06/12 20:39:53
C言語できないやつはC言語スレにいくべき

512:デフォルトの名無しさん
08/06/13 00:32:18
>>509
URLリンク(chihara.naist.jp)のやつ。

513:デフォルトの名無しさん
08/06/13 01:18:50
>>509
エラー内容から関数ポインタの型が違うことも分からないのなら
まずC言語の基本からやったほうがいいよ。


514:デフォルトの名無しさん
08/06/13 02:11:25
callback 関数の型が違うのはサンプル間違ってんじゃない
openCV本のページなのにね。昔と仕様が変わったのかな

515:デフォルトの名無しさん
08/06/13 03:13:58
>>512
型が違うみたいね。
URLリンク(www.developerfusion.co.uk)
の一番下。
仕様変わったんじゃない?

516:デフォルトの名無しさん
08/06/13 05:37:15
URLリンク(opencv.jp)

517:デフォルトの名無しさん
08/06/16 14:39:52
 どうも初心者です。
OpenCVを使って、彼女ができる可能性を2倍にしたいのですが、どうしたらいいですか。

518:デフォルトの名無しさん
08/06/16 22:16:04
OpenCVを使えばいい

519:デフォルトの名無しさん
08/06/16 23:27:57
OpenCVを使うようになって彼女はできるわ、出世するわ、人生大成功です。
・・・という事例があったら面白いなw

520:デフォルトの名無しさん
08/06/16 23:34:16
>>517
基が0なら何倍しても0

521:デフォルトの名無しさん
08/06/18 22:53:03
OpenCV使い始めて(2年後に)彼女できた

522:デフォルトの名無しさん
08/06/18 23:08:10
OpenCVを使ってから、上司のオレを見る眼が変わった


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch