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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
OpenCVとはインテルが開発・公開しているオープンソースのコンピュータビジョン向けのLinux/Windows向けC/C++ライブラリです。

実装分野は
・ユーザーインターフェイス
・物体分離
・セグメンテーションと認識
・顔認識システム
・ジェスチャー認識
・モーショントラッキング
・感情モーション
・モーション理解
・モーションからの構築(SFM)
・モバイルロボティクス


関連リンクなどは
>2-10くらい
2デフォルトの名無しさん:2007/06/26(火) 13:00:57
【関連スレ】
画像処理 その8
ttp://pc11.2ch.net/test/read.cgi/tech/1168868527/

【関連リンク】
OpenCVメモ - PukiWiki
ttp://nautilus.cs.miyazaki-u.ac.jp/~yoshi/pukiwiki/index.php?OpenCV%A5%E1%A5%E2
FrontPage - OpenCV@Chihara-Lab.
ttp://chihara.naist.jp/people/2004/kenta-t/OpenCV/pukiwiki/
OpenCV による画像処理
ttp://www-cv.mech.eng.osaka-u.ac.jp/~hamada/openCV/
OpenCVをVisual Studio .NETで使う
http://luvtechno.net/h/?OpenCV

こめIntel、画像処理ライブラリ「OpenCV 1.0」を公開
http://journal.mycom.co.jp/news/2006/11/08/360.html
3デフォルトの名無しさん:2007/06/26(火) 14:06:01
OpenCV先生!
cvLoadImageは
IplImage* image = cvLoadImage("画像ファイル");
のように画像のファイル名を指定して読み込むのですが、
メモリ上にある画像データ(jpeg,bmpなどの画像データ)を読み込むにはどのようにすればよいのですか?
4デフォルトの名無しさん:2007/06/26(火) 14:11:07
記念カキコ

>>3
cvCreateImageHeaderして、その後画像データをIplImage->ImageDataに
割り当てればいいと思う

そのままポインタに画像データのアドレスを代入するか、
cvSetDataで割り当てる
5デフォルトの名無しさん:2007/06/26(火) 14:11:13
ITKの日本語解説がほしい
64:2007/06/26(火) 14:11:57
ちなみに、jpegの場合はしらねー
7デフォルトの名無しさん:2007/06/26(火) 16:11:45
こんなのあったよー
リファレンス日本語訳
ttp://www.opencv.jp/reference/
8デフォルトの名無しさん:2007/06/26(火) 17:06:22
今ちょっとした類似画像検索をしようとしてるんですけど
このライブラリのテンプレート検出なるものを使えば出来るんでしょうか?

マッチさせたい物として
・完全一致
・リサイズ画像一致
・一部切り出し画像一致
・グレースケール後でも一致
・再圧縮によるノイズ付加でも一致

こういうものなんですが・・・
回転とかは含みませんし、ある程度精度が悪くても
何かしらの数字が出てくれるものが良いです。(全く違う画像が候補に出てしまうのは許容範囲内だが、逆に何も出ないのが困る)
9デフォルトの名無しさん:2007/06/26(火) 22:26:34
>>8
やってみてから判断すれば?
テンプレートでできるかどうか。
10デフォルトの名無しさん:2007/06/26(火) 22:36:10
>>8
使い方間違ってるYO!
このライブラリでやるのはあきらめた方が良い。

ちなみに、そこにノイズさえ無ければ出来る。
11デフォルトの名無しさん:2007/06/26(火) 22:56:44
>>10
ノイズ(というか、情報の欠落)があっても、ある程度は一致するんじゃね
精度が悪くてもいいって言ってるんだから。

大幅に間違うことはないと思うが
12デフォルトの名無しさん:2007/06/26(火) 23:08:35
一部切り出し画像一致ってテンプレは完全だが入力画像が一部ってこと?

それはどうなるか分からんが
それ以外なら回転も含めて出来る
>>8に出来るかは知らないがな
13デフォルトの名無しさん:2007/06/27(水) 02:42:49
テンプレはノイズがあっても一致すんの?
ドットレベルで完全一致しなくてもいいのか
14デフォルトの名無しさん:2007/06/27(水) 07:20:40

TV 画像で顔検出やってるんですが,思ったより検出しないんだけど,良い設定ありませんか?
15デフォルトの名無しさん:2007/06/27(水) 07:35:36
>>1
>Linux/Windows向け

Source Forge の対応 OS の所を見れば分かるが、Solaris や Mac OS X, *BSD でも使えるよ
Mac OS X 版は Carbon 化されて QuickTime にも対応している

あと、リンクはここも

http://opencvlibrary.sourceforge.net/
16デフォルトの名無しさん:2007/06/27(水) 07:40:11
本家にリンクしていないのはどういうことなんだってかんじだな
171:2007/06/27(水) 11:14:37
>>15-16
ごめん忘れてた。
酔っ払ってたんだ。許して
18デフォルトの名無しさん:2007/06/27(水) 11:21:45
類似画像検索ならITKにあるよ
19デフォルトの名無しさん:2007/06/27(水) 12:25:05
ITKとOpenCVだと、OpenCVの方が性能が良い。
20デフォルトの名無しさん:2007/06/27(水) 13:04:58
まぁIntelだからな
資金力が違う。
21デフォルトの名無しさん:2007/06/27(水) 14:50:49
>>13
リサイズした場合でも完全には一致しない(アルゴリズムが違う可能性があるので)

ドットレベルでは多少の誤差はあっても、近接ブロックとの相関演算で
マッチングしてるはずなので、画像全体ではそんなに誤差があるとは思えない
22デフォルトの名無しさん:2007/06/27(水) 18:18:20
いろんなアルゴリズムをインプリメントしてあるITKの方が私は好きだけどね
23デフォルトの名無しさん:2007/06/27(水) 22:10:37
>>17
いや、スレ立てしてくれただけで十分乙だ。
24デフォルトの名無しさん:2007/06/27(水) 22:26:59
OpenCVのユーザーインターフェイスってトラッバーと画像標準ウィンドウしかないん??

ボタンとかスタティックテキストとかつかいたす(´・ω・`)ショボーン
25デフォルトの名無しさん:2007/06/27(水) 22:39:20
おまけのGUIに何を期待してるんだ
26デフォルトの名無しさん:2007/06/28(木) 00:51:09
ちょっと凝ったものを作ろうとするなら、
GUIとキャプチャ部分は別のライブラリを使うなり、自前で書くなりするのが普通だとおも。
27デフォルトの名無しさん:2007/06/28(木) 00:59:24
自分はwxWidgetsと自前v4lコードで問題無くないけてるよん
28デフォルトの名無しさん:2007/06/28(木) 01:35:28
動作テストをこれでやってから最終的にはDirectShowなり処理独自実装なりが普通でない?
一時間程度で作らなきゃならんサンプルにわざわざWinAPIとかで窓制御書いてやるのはめんどいし、他のライブラリもいれんといかんのはなぁ〜せめてスタティックテキストくらいあればよかった。

後、トラックバーを出してる窓は「SetMouseCallback」関数でマウスのコールバック関数設定していても使えないのは仕様ですか?
29デフォルトの名無しさん:2007/06/28(木) 15:38:33
顔認識について調べてみたんだが、鼻の辺りの陰影を探してるぽ。
検出画像の中心が常に鼻になってるし、
布地の皺なんかが検出されやすいのも納得。
30デフォルトの名無しさん:2007/06/28(木) 16:35:39
OpenCVの顔認識だったら、Haar-like特徴を使ってるんだから、鼻付近の陰影がどうこうという話ではないと思う。
目や口を含む全体的な特徴や陰影が、畳み込まれて学習されているはず。
検出画像の中心が鼻辺りになるのは、(当たり前だけど)そういう風に正規化された画像群を使って学習させたから。
31デフォルトの名無しさん:2007/06/29(金) 03:48:36
顔認識じゃねぇ、顔検出だ
32デフォルトの名無しさん:2007/06/29(金) 03:50:08
>>29
顔の中心は鼻なんだから検出の中心が鼻にならないとむしろおかしいだろ?
33デフォルトの名無しさん:2007/06/29(金) 07:34:59
>>31
どっちでもおkぽ。現状は顔認識って言っちゃうのが一般的ぽ。
あくまで、ぽ。

>>32
いや、やってると顔の中心にきてないケースは結構ある。
つまり鼻が中心になっているせいでアゴや頭部がはみ出るような。
顔のでかさよりもバランスだな。
34デフォルトの名無しさん:2007/06/29(金) 10:00:39
>>33
1.いや、顔検出が一般的。顔認識は誰の顔かだ。どこかじゃない。
2.それはただの誤検出だ。
35デフォルトの名無しさん:2007/07/01(日) 12:27:48
心霊写真も検出される
36デフォルトの名無しさん:2007/07/01(日) 20:43:17
人面××も
37デフォルトの名無しさん:2007/07/02(月) 12:17:38
質問です。お答えいただければうれしいです。
IPLimageからヒストグラムを作るときに、カウントしない色を指定したいのですが
(例えば物体のみのヒストグラムをとるために、その物体がないところを一色でぬりつぶす)
どうすればその指定された1色を除くことができるのでしょうか
また他に画像全体じゃなく指定された領域のみ(四角形ではない)のヒストグラムをとる方法があれば
教えていただきたいです。
38デフォルトの名無しさん:2007/07/03(火) 23:27:13
■ おすすめ2ちゃんねる 開発中。。。 by FOX ★
このスレを見ている人はこんなスレも見ています。(ver 0.20)
【池の下に】奈良先端科学技術大学院大学 Part.14【極秘研究施設】 [大学学部・研究]
39デフォルトの名無しさん:2007/07/03(火) 23:38:11
無修正を判別したいのでおまんこの検出方法を教えてください
40デフォルトの名無しさん:2007/07/05(木) 18:54:42
2chに貼る
スレの反応を形態素解析に掛ける
抽出した単語に、予め用意しておいた用語が含まれていたら検出完了
41デフォルトの名無しさん:2007/07/05(木) 19:51:41
2chなんか形態素解析かけて、まともな結果が出るとでも?
どんな辞書使うつもりだよ。
42デフォルトの名無しさん:2007/07/05(木) 20:53:05
まじでレス返されてもw
43デフォルトの名無しさん:2007/07/07(土) 11:27:53
>>41
なんで人間なあら判断できてるんなろう
44デフォルトの名無しさん:2007/07/18(水) 19:58:35
認識系の研究を2年ほど追いかけてなかったんだけど、
やっぱりboosted cascadeが最高なのは変わらないの?
45デフォルトの名無しさん:2007/07/22(日) 19:36:22
速度と認識率と対象物の関係で変わるよ。
色なら遺伝的アルゴリズムの方がよさげ。
46デフォルトの名無しさん:2007/07/27(金) 10:15:10
輪郭抽出のcvFindContoursを使用して取得した輪郭データ(CvSeq)を解析したいんだが
CvSeqをどう扱えばいいんだろうか
ソース見て解析するしかない?
47デフォルトの名無しさん:2007/07/27(金) 18:42:39
マニュアル見れば分かりますよ。
48デフォルトの名無しさん:2007/07/31(火) 17:32:00
リファレンスマニュアルのCvSeqの項目以外だと、どこをみればいいのでしょうか?
49デフォルトの名無しさん:2007/07/31(火) 20:27:45
cvSaveImageでjpegを保存するとき、品質を変更して保存したいんですけど
いい方法はありますか?
50デフォルトの名無しさん:2007/07/31(火) 21:32:19
OpenCVを自分でビルドすればいけなかったかな?
51デフォルトの名無しさん:2007/07/31(火) 23:32:45
画像をソケット通信でやりとりしてパソコン間で画像処理したいんだけどIplImageを送受信ってできる?
一応通信用のライブラリはあるからやり方を教えてほしいです
52デフォルトの名無しさん:2007/08/02(木) 00:38:35
haartrainingをビルドしてhaartrainingd.exeを作ったまではいいけど、実行するとエラーがでる・・・
なんでだ?

Runtime Error!
Program: C:\〜\haartrainingd.exe
R6034
An application has made an attempt to load the C runtime library incorrectly.
Please contact the application's support team for more information.
53デフォルトの名無しさん:2007/08/02(木) 01:30:33
>>51
そりゃできるが、無圧縮の画像なんてネットワークでやり取りしたらとんでもない
帯域が必要になると思うぞ。動画じゃないなら別にいいけど。

IplImage->imageDataの内容をそんぐり送ればいいんじゃない?
54デフォルトの名無しさん:2007/08/02(木) 03:52:12
ギガビットのLANを2本引いてうちは通信させてる。
もちろんローカルでマシン間はPear to pearでね。
普通に実用的な速度で動くよ。

55デフォルトの名無しさん:2007/08/02(木) 04:06:19
>>53
IplImage->imageDataってどんな情報?
あとIplImage->width,height,depthとかは送らなくていい?
56デフォルトの名無しさん:2007/08/02(木) 04:14:30
>>52
おれのメモ
I got Runtime error R6034 (Visual Studio 8).
On Visual Studio,  right Click Solution > Properties > Configuration Properties > Change all Configurations to 'Release' from 'Debug'
Rebuild Solution. It worked.
5752:2007/08/02(木) 08:51:16
>>56
Releaseビルドして、haartraining.exeが上書きされっからそれ使えばいいんだね。
サンクス!
58デフォルトの名無しさん:2007/08/02(木) 14:46:22
>>48
CvSeqの項を読めば分かると思うけど、例えば何がやりたいの?
59デフォルトの名無しさん:2007/08/03(金) 08:51:51
>>58
http://opencv.jp/reference/opencvref_cxcore.html#decl_CvSeq
これですよね?

CvSeqから輪郭データを座標値で取得できるならしてみたいんです
CvSeqに輪郭データがどういう形式で保存されているのかがわかれば、
そこから座標値を抜き出して表示したり、CSVファイル形式で保存したりできるかなと・・・

cvDrawContoursで空のメモリに描画させる方法で座標値を取得できないこともないんだけど
可能なら直接座標値を取得したいので
60デフォルトの名無しさん:2007/08/03(金) 15:43:46
>>59
たぶん、こんな感じじゃない?

for(i=0; i<contour->total; i++)
point = CV_GET_SEQ_ELEM(CvPoint, contour, i);

もし、輪郭が複数あるなら、TreeNodeIterator使ってたどればいいよ。
61デフォルトの名無しさん:2007/08/06(月) 08:24:40
>>60
感動した
ありがとうございます
試してみます
6255:2007/08/07(火) 01:14:04
>>53
通信できた
ありがとうございます!
6355:2007/08/08(水) 01:14:01
一歩進んでUSBカメラからキャプチャして送受信(ストリーミング)をさせてるんだが、
実行してしばらくするとメモリ使用量がどんどん増えていって最終的にはパソコンがフリーズしてしまった
解決策教えてください
64デフォルトの名無しさん:2007/08/08(水) 02:18:54
メモリを増やせばいいよ
65デフォルトの名無しさん:2007/08/08(水) 08:40:55
>>63
キャプチャした画像をcvCloneImageしてってのを繰り返してるだろ
ループの外で取得したIplImage*を使い回してcvCopyImageしとけばメモリ食わない
66デフォルトの名無しさん:2007/08/09(木) 11:36:40
どなたか
cvFindHandRegion
または
cvCreateHandMask
を使用した方はいらっしゃいますか?
これらを使って手認識をしようかと考えているのですが、参考文献があまりに少なくて手も足も出なくて…。
参考にできるページ等あればお願いします。
67デフォルトの名無しさん:2007/08/09(木) 13:24:56
cvauxの関数は、使わんほうがいいんじゃないかね。
ちゃんと動作する確信があるなら別だけど。
68デフォルトの名無しさん:2007/08/09(木) 20:33:22
>>67
だわな
auxはソース読んで自己責任。
あとはYahoo!Groupsに入れば英語で情報追える。
69デフォルトの名無しさん:2007/08/19(日) 10:24:32
超初心者な質問で申し訳ないのですが助けてください

複数台のUSBカメラを制御しようとして座礁しています
cvCaptureFromCAM();で1台目はキャプチャできるのですが、index
を変えても2台目がキャプチャできません

cvcamGetCamerasCount( );でカメラの数を確認したらあっていたので
認識自体はされていると思うのですが・・・
70デフォルトの名無しさん:2007/08/20(月) 18:41:40
>>67,68

参考になりました。ありがとうございます。
auxの使用はあきらめて、他からアプローチをかけようと思います。
71デフォルトの名無しさん:2007/08/23(木) 20:10:11
MFCも使ってるんだけどIplImage画像をピクチャコントロールに表示する方法ってある?
72デフォルトの名無しさん:2007/08/23(木) 20:25:07
ある
7371:2007/08/23(木) 20:50:33
どうやるか教えてくれ
74デフォルトの名無しさん:2007/08/23(木) 20:57:34
Windowsのことはよく知らないけど、IplImage->imageDataって各ピクセルの値が並んでるだけだよ?
alignmentは調整されてるけど。
75デフォルトの名無しさん:2007/08/25(土) 02:12:40
おまけにBGRだしな
76デフォルトの名無しさん:2007/09/04(火) 00:38:31
OpenCVで64ビットWindows用のはありませんか?
64ビットにしたらDLLが使えなくなったので探してます。
77デフォルトの名無しさん:2007/09/04(火) 04:21:51
>>76
自分でビルドすりゃ使えるんじゃね?
78デフォルトの名無しさん:2007/09/04(火) 10:33:26
>>77
天才
79デフォルトの名無しさん:2007/09/04(火) 19:00:00
>>77
なるほどd
ってソースはどれだろ・・・
80デフォルトの名無しさん:2007/09/05(水) 10:08:52
sourceforgeのWinの OpenCV_1.0.exe に入ってるよ
81デフォルトの名無しさん:2007/09/05(水) 11:36:14
opencvのサンプルコードのページ、Operaで見ると表示が場繰りマス
82デフォルトの名無しさん:2007/09/08(土) 02:36:02
age
83デフォルトの名無しさん:2007/09/08(土) 14:15:12
OpenCV プログラミングブック

http://book.mycom.co.jp/book/978-4-8399-2354-9/978-4-8399-2354-9.shtml

9月下旬発売だそうな
84デフォルトの名無しさん:2007/09/19(水) 18:51:15
買うかどうか迷っている
85デフォルトの名無しさん:2007/09/19(水) 19:31:44
リファレンス見れば大体解決するからなぁ
web上でも日本語の情報も増えてるし
これから画像処理始めたいって人向けじゃなかろうか
86デフォルトの名無しさん:2007/09/20(木) 00:14:33
mycomってのが最大のネックだなw
87デフォルトの名無しさん:2007/09/20(木) 00:15:58
ページ数多いんだけどほとんどリファレンスっぽいしなあ。
立ち読みして判断するか
88デフォルトの名無しさん:2007/09/21(金) 13:14:07
あれ?今日発売日?
89デフォルトの名無しさん:2007/09/21(金) 14:47:53
マイコミのサイトでは今日発売ってなってる。アマゾンでは、明日発売って書いてあるね。
90デフォルトの名無しさん:2007/09/25(火) 02:22:38
質問者いらっしゃい
91初心者です:2007/09/25(火) 02:27:22
cvFindStereoCorrespondenceって関数で距離画像だせますけど、
そのときの距離の値って、視差の値を直接正規化して画像化してるんですかね?
視差から奥行き距離を算出してるわけではないですよね??
カメラの基線長とか焦点距離とかわかんないし・・・
92デフォルトの名無しさん:2007/09/25(火) 16:53:15
視差画像だからね。
93デフォルトの名無しさん:2007/09/25(火) 20:31:16
94デフォルトの名無しさん:2007/09/25(火) 20:32:48

★東芝、「セル」技術をパソコンに採用

・東芝は来春にも、ソニーなどと共同開発したMPU(超小型演算処理装置)、
 「セル」の中核技術を採用したノートパソコンを発売する。映像処理に優れた
 セルの技術をパソコン用半導体チップに転用した。ホームビデオで撮影した
 フルハイビジョン映像をパソコン上で視聴しながら編集するといった処理が
 可能になる。液晶テレビなど他のデジタル家電にも採用するほか、外販する方針。

 東芝の新半導体チップ「スパーズエンジン」は、セル向けに開発した演算処理
 中枢回路を4つ搭載する。現在製品化に向けた開発を進めており、大分県の
 生産拠点で量産する計画。搭載するノートパソコンの価格などは今後詰める。

ソース/日本経済新聞社
http://it.nikkei.co.jp/pc/news/index.aspx?n=AS1D2007O%2020092007
95デフォルトの名無しさん:2007/09/26(水) 11:33:47
OpenCV本使えねぇ!
元ネタのNAISTのサイトの方が100倍マシだぁ。
巻末のリファレンスがお守りになるくらいだ。
96デフォルトの名無しさん:2007/09/26(水) 12:30:22
>>95
haartrainingとかは載っていました?
97デフォルトの名無しさん:2007/09/26(水) 13:41:48
>>95
さては、amazonの書評書いた奴かww
98デフォルトの名無しさん:2007/09/27(木) 01:41:09
>>96

95じゃないけど載ってなかった
9996:2007/09/27(木) 01:46:28
>>98
どもです。
なら購入はなしかな。
リファレンスで十分だし。
100デフォルトの名無しさん:2007/09/27(木) 10:24:08
まぁ、初心者には良いんじゃないの?
初心者が画像処理やるかはしらんが?
windowsへのインストールに1章なんていらんだろ。
101デフォルトの名無しさん:2007/09/27(木) 11:02:16
水増しw
102デフォルトの名無しさん:2007/09/27(木) 23:00:48
顔検出を試してみたくて色々いじってたんだけど、
ただ単純に1枚の画像について矩形特徴量を全部計算する関数が見つからない。
cvIntegralで矩形領域の画素総和値を計算することはできるんだけど、
どう計算するのかわからんし。
103デフォルトの名無しさん:2007/09/27(木) 23:10:42
矩形特徴量てなに??
104デフォルトの名無しさん:2007/09/27(木) 23:18:59
haarなんとかってやつ?
105デフォルトの名無しさん:2007/09/28(金) 08:43:24
toolでhaartrainingというのがあるよ
106デフォルトの名無しさん:2007/09/29(土) 01:00:23
cvhaartraining.cppにicvCreateIntHaarFeaturesってのがあるな
107デフォルトの名無しさん:2007/09/30(日) 12:16:30
構造体(IplImageとか)をまるまるファイルに保存したいのですが、
どうやれば良いのでしょうか?
cvStartWriteStructを使うのでしょうか?
それともcvSaveを使うのでしょうか?
108デフォルトの名無しさん:2007/10/01(月) 00:28:46
質問です。
8ビット1チャンネルの画像の場合、
1ピクセル(x,y)は
((uchar)( img->imageData + img->widthStep*y))[x];
で表現されるのでしょうか?
8ビット3チャンネルの画像の場合は、
1ピクセル(x,y)は、
((uchar)( img->imageData + img->widthStep*y))[x*3];B
((uchar)( img->imageData + img->widthStep*y))[x*3+1];G
((uchar)( img->imageData + img->widthStep*y))[x*3+2];R
で表現されてましたけれども。
109デフォルトの名無しさん:2007/10/01(月) 07:12:56
>>108
考え方はあってるけどキャストが間違ってるだろw
110デフォルトの名無しさん:2007/10/01(月) 21:03:28
>>107
cvWrite使えばいいんじゃない?
111デフォルトの名無しさん:2007/10/01(月) 21:22:27
>>107
まるまる保存というのが、完全な保存だったら(nSizeとかIDとか)自分でちまちまWriteするしかない。
内部で定義されているopencv-image(ROIとかは含まれる)でいいんだったら、
cvSaveなりcvWriteなりして保存すればいい。
112デフォルトの名無しさん:2007/10/02(火) 01:28:07
cvHoughCirclesってどうやってるんですか?
エッジ部分があったら半径ごとに円周上を投票空間に投票してくんですかね?
その割にはずいぶん処理が速いような気がするんですが
113デフォルトの名無しさん:2007/10/02(火) 01:59:56
すいません。
2値化した画像のモーメントについて教えてください。
このモーメントという奴は、
背景が黒で対象物が白の場合に正しい値を出すんですよね?
背景が白で対象物が黒の場合じゃないですよね?
cvMoments (2値化した画像, &moments, 1);
とやるんですが、どうも、とんちんかんな値を出してしまって困っています。
114デフォルトの名無しさん:2007/10/07(日) 05:40:34
どなたか力をお貸しください。
ヒストグラムの各ビンの合計を求めたいのですが、
cvQueryHistValue_1D()をビンの個数分だけループさせて、
出てきた値を足せば良いでしょうか?
115デフォルトの名無しさん:2007/10/07(日) 05:50:16
ヒストグラムの各ビンの合計って・・・全部のビンの値足したら画像の画素数なんじゃないの?
正規化する前なら。
116デフォルトの名無しさん:2007/10/07(日) 08:08:47
ああ、そうか。
その通りですね。
ところで、
cvGetMinMaxHistValue(hist, &min_value, &max_value, 0, 0);
でmax_valueに代入されるヒストグラムの
最大値ってどういう意味なんでしょうか?
cvQueryHistValue_1D()で各ビンの高さがでますけれど、
その中の最も値が大きいものとは明らかに違うんですけれど。
117デフォルトの名無しさん:2007/10/07(日) 12:19:59
>>116
%dで表示しているに一票
118デフォルトの名無しさん:2007/10/08(月) 02:22:19
いやぁ、すいません。
cvQueryHistValue_1D()で取得した値が、
スケーリングされたものだとすっかり忘れていました!
えへへ。
119お願いします:2007/10/08(月) 20:34:45
OpenCVの離散フーリエ変換のやり方が載っている
ttp://opencv.jp/sample/discrete_transforms.html
の振幅画像がcvSaveImageで保存することができません。
どなたか保存方法を教えてください。お願いします;
120デフォルトの名無しさん:2007/10/08(月) 20:50:46
>>119
IPL_DEPTH_64Fだからだろ。
そのまま255倍して8Uにすれば保存はできるが、直流だけになる可能性大。
手っ取り早いのはLogスケールで変換かな。
121119:2007/10/08(月) 21:05:59
>>120
返信ありがとうございます!とても助かります!
習いたてで、知らない部分が多く、困っています;
ご迷惑になると思いますが、Logスケールで変換というのは、
cvLogを用いればいいのでしょうか?
122デフォルトの名無しさん:2007/10/08(月) 21:18:49
>>121
cvLogで良いと思うならそれで良いし、
自分でスケーリングしたければ直接データを弄ればいい
123119:2007/10/08(月) 21:30:24
>>121
重ね重ね、親切にお答えいただき、ありがとうございます!
たった今、サンプルページのcvScale後に
IplImage *img = cvCreateImage(cvGetSize(image_Re), IPL_DEPTH_8U, 1);
cvConvertScale(image_Re, img, 255, 0);
と、加えたところ、cvSaveImageでも画像保存が出来るようになりました。
今後はcvLogでも出来るよう、勉強していく予定です。
120、121さん、本当にありがとうございました!
124119:2007/10/08(月) 21:33:52
121ではなく、122さんでした;
本当に申し訳ないありませんorz
125デフォルトの名無しさん:2007/10/22(月) 16:55:57
IPL_DEPTH_8Uで読み込んだIplImageを浮動小数点の行列としてで数学処理して、
また8Uに戻して表示したいんだけど、変数型ってどうやって変えればいいんですか?
126125:2007/10/22(月) 17:04:02
自己解決。
cvCopyじゃなくてcvScaleを使えば良さそうですね。
127デフォルトの名無しさん:2007/10/28(日) 12:16:50
Windowsプログラムでの話です。

IplImage に読み込まれた画像を任意のウィンドウに、
任意の矩形で貼り付けるにはどうすればいいでしょうか?
128デフォルトの名無しさん:2007/10/28(日) 14:54:15
ならWindowsプログラムのスレ行けよw
129デフォルトの名無しさん:2007/10/29(月) 15:23:07
>>127
CvvImageを使う
130127:2007/11/02(金) 22:57:16
ありがとう!
131デフォルトの名無しさん:2007/11/02(金) 23:23:20
・・・・・・
・・・・・・
・・・・・・
・・・・・・


上のようなキャリブレーション画像のドット中心座標を取得したいのですが
opencvで容易に取得できる関数はありませんか?
132デフォルトの名無しさん:2007/11/05(月) 00:09:39
IplImage *img=0;

img = cvLoadImage("C:\a.jpg", -1);

でコンパイルはできるのですがimgに画像を読み込めません。
どこかの設定がおかしいのでしょうか?
133デフォルトの名無しさん:2007/11/05(月) 00:12:42
はい。どこかの設定がおかしいです。
134デフォルトの名無しさん:2007/11/05(月) 00:18:30
>>133
そこ詳しくお願いします
135デフォルトの名無しさん:2007/11/05(月) 00:19:11
>>132
Cの基礎からやり直せ

C:\\a.jpg
136デフォルトの名無しさん:2007/11/05(月) 00:26:27
>>135
おお、そんな単純なことを忘れてたとは。
指摘ありがとうございます。
137デフォルトの名無しさん:2007/11/12(月) 23:42:37
これってタブレットからの入力は取れない?
それとバージョンアップはしてくれないんだろうか
138デフォルトの名無しさん:2007/11/12(月) 23:48:41
???
139デフォルトの名無しさん:2007/11/13(火) 02:17:21
上から撮影すれば・・・w
140デフォルトの名無しさん:2007/11/13(火) 15:53:44
pythonと連動して使ってる人いる?
boost.pythonには行列(numpy)とのインターフェイスあるけど
PILの画像とのインターフェイスはないよね
OpenCVが独自でpythonインターフェイスもってたりする?
141デフォルトの名無しさん:2007/11/13(火) 19:54:56
持っていません。
142デフォルトの名無しさん:2007/11/13(火) 22:30:25
cvSplit使って色相画像表示したら上下逆さまになった
なんで?
143デフォルトの名無しさん:2007/11/13(火) 22:32:04
仕様だから
144デフォルトの名無しさん:2007/11/13(火) 22:46:18
まじ、そうなの?
とりあえず回しとけばOKかな…
145cvop:2007/11/14(水) 07:46:05
プログラミング初心者ですが、
画像処理のプログラミングで、PGM画像中にある、
それぞれのオプティカルフローの角度[度]と大きさ[pixel]の
頻度の分布(縦軸:フローの頻度、横軸:フローの角度or大きさ)を
検出し、グラフにしたい(ヒストグラムみたいに)のですが、
どのようなプログラムを作れば良いのでしょうか?
分かる方がいらっしゃれば教えて頂けないでしょうか。
言語はC言語です。
146デフォルトの名無しさん:2007/11/14(水) 08:56:32
>>145
それぞれのオプティカルフローの角度[度]と大きさ[pixel]の
頻度の分布(縦軸:フローの頻度、横軸:フローの角度or大きさ)を
検出し、グラフに(ヒストグラムみたいに)するようなプログラムを作れば良いです
147デフォルトの名無しさん:2007/11/14(水) 10:00:29
>>145
↓こっちの質問のほうが早く答えにたどり着けるぞ


人間初心者ですが、
「それぞれのオプティカルフローの角度[度]と大きさ[pixel]の
頻度の分布(縦軸:フローの頻度、横軸:フローの角度or大きさ)を
検出し、グラフに(ヒストグラムみたいに)するようなプログラムを作る」
そのためには、どこでどのように質問するのがよいでしょうか?
当方、人間初心者なので日本語を解する猿程度にもわかるよう具体的に回答願います
148デフォルトの名無しさん:2007/11/14(水) 11:14:50
さ、初心者叩きの開始です。
149デフォルトの名無しさん:2007/11/14(水) 11:21:37
初心者かどうかに関係なく質問の意味がわからないんだけど、
そういうプログラムを作ってよこせって事?
150デフォルトの名無しさん:2007/11/14(水) 11:32:04
自分で考えたり調べたりしない初心者は、伸びないので
厳しいかと思いますがアドバイスはしません。
151デフォルトの名無しさん:2007/11/14(水) 11:43:20
うむ、徹底的に叩くべき。
152デフォルトの名無しさん:2007/11/14(水) 14:06:07
ちょ、みんなヒドス
とりあえず>>145は自分で考えろ。
わかんなかったらググるか本買ってくるくらいしろ。
153デフォルトの名無しさん:2007/11/14(水) 20:34:35
ubuntuのパッケージリストみてみたらopencvとpythonのインターフェースあった
154デフォルトの名無しさん:2007/11/14(水) 21:34:53
?
155デフォルトの名無しさん:2007/11/18(日) 14:16:25
本が発売されてからスレが加速し始めたな
156デフォルトの名無しさん:2007/11/18(日) 16:27:24
そりゃ気のせいだ。
157デフォルトの名無しさん:2007/11/19(月) 09:17:45
IntelMacなんですけど
130万画素の外付けwebカメラが320*240になってしまう。
ただ、同メーカーの30万画素のカメラは640*480で認識。
内蔵iSghitは640*480で認識


cvCaptureFromCAMの引数をいろいろ変えて
CV_CAP_QTとか試してるんだけど、同じ

Macで外部webカメラでVGA取り込みしてるかたいらっしゃいますか?
158デフォルトの名無しさん:2007/11/19(月) 22:15:15
>>157
WindowsならDirectShowかvideoInput使えば制御できるんだが。
OS XでもQuickTimeで比較的楽に制御できるんじゃないの?
159デフォルトの名無しさん:2007/11/20(火) 08:14:34
>158
そうですか。。
QTでのフレームのグラブって情報全然見あたらなくて

160デフォルトの名無しさん:2007/11/20(火) 20:43:07
これって解像度どれぐらい以上のWEBカメラならちゃんと動作する?
161デフォルトの名無しさん:2007/11/20(火) 21:26:12
意味がわからん。
キャプチャできるかどうかという意味での動作ならどれでも動くんじゃね?
そもそも普通のアプリケーションで動かんなら問題あるが。
162名無し募集中。。。:2007/11/22(木) 00:24:42
OpenCVってなんでMatroxのMIL使った画像取り込みが標準装備なの?
163デフォルトの名無しさん:2007/11/22(木) 21:55:19
付属のサンプルプログラムのletter_recog.cppのdata_filenameはこれから判定する入力画像の特徴量
でしょうか?だとしたらこの特徴量はどうやって作っているんでしょうか?
164デフォルトの名無しさん:2007/11/28(水) 16:27:39
フィックスターズ,Cell上でOpenCVを高速化できるモジュールを開発
PLAYSTATION 3とCore 2 Duo搭載機と比較して最大27倍に
http://itpro.nikkeibp.co.jp/article/NEWS/20071128/288185/
165デフォルトの名無しさん:2007/11/28(水) 21:36:11
cvFindStereoCorrespondenceって大多数の素朴な要求に入出力が
一番近いという意味で便利だと思うけど、obsoleteでなかった?
166デフォルトの名無しさん:2007/11/29(木) 01:56:44
Linux版とwindows版で画像が逆転するのは仕様ですか?????
167名無し募集中。。。:2007/12/01(土) 10:50:25
OpenCV on the Cell
http://itpro.nikkeibp.co.jp/article/NEWS/20071128/288185/
PS3に接続できるGigEカメラは無いのか (USBはあるけどな
168デフォルトの名無しさん:2007/12/05(水) 22:28:43
>>166
IplImageのoriginを設定すればおk
169デフォルトの名無しさん:2007/12/06(木) 08:01:18
windows、VS2005で2台のUSBカメラを用いて同時に画像のキャプチャを行おうとしてるんですが
cvCreateCameraCapture()で指定するインデックスはwindowsではどのような決まりになっているんでしょうか?
170デフォルトの名無しさん:2007/12/06(木) 09:15:39
>>169
なんとなく
171デフォルトの名無しさん:2007/12/07(金) 13:35:48
>>157

IntelMac + 130万画素UVC (ELECOM UCAM-DLM130HWH)ですが、
キャプチャ画像が1280*1024で固定になってしまいます。

> 130万画素の外付けwebカメラが320*240になってしまう。

ボクは逆に320*240にして取りこみしたいのですけどねぇ。
(縮小すると遅いので、取りこむ時に小さなものが欲しい)
cvGetCaptureProperty()もcvSetCaptureProperty()も動作していな
いようなんです。

誰か教えて!!
172デフォルトの名無しさん:2007/12/07(金) 18:40:20
>171
ソース嫁。
173デフォルトの名無しさん:2007/12/14(金) 13:42:50
CvCaptureFromAVIで動画ファイルをキャプチャしようとしてもいつもNULLになる。。。
NetBSDで動かしてるんだけど、何が問題なんだろ。。。

char* filename = "cat2.avi";
CvCapture* capture = cvCaptureFromAVI(filename);
if( capture == NULL ){
printf("err\n");
return -1;
}

たのんますーーー
174デフォルトの名無しさん:2007/12/14(金) 13:54:56
ブヒャwww
175デフォルトの名無しさん:2007/12/14(金) 22:15:53
OpenCVでウインドウ生成するときにタイトルバーって消せないの?
ウインドウの枠とか全部とっぱらった全画面表示したいんだけど、リファレンスにものってないし。
176デフォルトの名無しさん:2007/12/14(金) 23:07:31
ライブラリを書き換えればOK
177デフォルトの名無しさん:2007/12/15(土) 00:11:02
>>176
ごめん、ライブラリのどこでそれが書きかえれるのか分からないんだ…
さらにどう書き換えるかもわからん/(^O^)\
178デフォルトの名無しさん:2007/12/15(土) 00:21:14
ウィンドウを生成する関数はわかってるんだから、そこから調べればいいだろ
179デフォルトの名無しさん:2007/12/15(土) 14:41:04
>>178
createWindowの引数見てますが
defStyleを WS_VISIBLE | WS_MAXIMIZE にするだけじゃぁだめなんでしょうか?
最大化されないし、タイトルバーも出っ放し。
180デフォルトの名無しさん:2007/12/15(土) 16:22:31
>>179
ウィンドウ作ってからタイトルバー外して最大化でもすれば
181デフォルトの名無しさん:2007/12/15(土) 16:28:17
>>179
何もないウィンドウはWS_POPUP。これに必要なスタイルを追加する。
182175:2007/12/15(土) 16:37:57
>>180
そのタイトルバーの外し方が分かんないです

>>181
WS_POPUPも試しましたが何故かウインドウスタイルが変わらず。
cvNamedWindowは親ウインドウと子ウインドウを生成しますが何か関係あるのでしょうか?
183デフォルトの名無しさん:2007/12/15(土) 16:58:52
>>182
問題の切り分けは出来てる?

まずOpenCV抜きで、ウィンドウを表示するだけのプログラム書いてみたらどうかな。
少なくともこちらの環境では、WS_POPUPでタイトルバー無しのウィンドウは作れてるよ。
うまくいかない
→GetWindowLongでウィンドウスタイルの確認をしてみると良い。
うまくいく
→cvNamedWindowに導入する際の問題だけど、間違えそうなところは見当たらない。

ちなみに前者の話はスレ違いなので、こっちでは続けないほうが良い。

ライブラリに変更加えたのにビルドしてないとかだったら氏ね。
184175:2007/12/15(土) 18:09:50
求めていた表示になりました、みなさん回答ありがとうございます。

>>183
debugモードでビルドしてましたので氏んできます
185名無し募集中。。。:2007/12/15(土) 21:56:28
8UのiplImageを上下限2値化する場合
cvthresholdとcvInRangeSでどっちが速いだろう?
ってやってみればいいんだけどね
186デフォルトの名無しさん:2007/12/16(日) 17:35:38
初歩的な質問失礼します。
ネット上で紹介されていた画像処理についてのサンプルプログラムをその通り実行してみたところ、
error: 'for' loop initial declaration used outside C99 mde
というエラーが出ました。
C99の意味がよく分かりません。
どなたかお分かりの方がいらっしゃればお教えください。
よろしくお願いいたします。
187デフォルトの名無しさん:2007/12/16(日) 17:39:19
>>186
ネットで紹介されてたのならリンクはろうよ…
188デフォルトの名無しさん:2007/12/16(日) 17:43:12
C99でググレ
189デフォルトの名無しさん:2007/12/16(日) 19:37:21
C99が何か知らなくてもエラーの報告された該当行を見れば
構文エラーの理由はわかるでしょうに。
190デフォルトの名無しさん:2007/12/17(月) 13:34:52
Cでfor(int i = 0; i < x; i++)
みたいに書いてあったんじゃね?
191デフォルトの名無しさん:2007/12/18(火) 00:59:49
超初心者で申し訳ありません。
画像処理の勉強のためネットをみながら頑張ってOpenCVをインストール
しました。
例として2値化を行うソースをコピーしてVisualC++でコンパイルして、
自分が持っているサンプル画像を実行した所、しっかりと2値化された画像
を表示させることができました。
この画像を保存しようと思いソースの最後に
cvSaveImage("output.bmp", img);
cvReleaseImage(&img);
を記述しましたがうまくいきませんでした。
どうすれば処理した画像をパソコンに保存できるのかどなたか
教えてもらえないでしょうか?
192デフォルトの名無しさん:2007/12/18(火) 01:02:00
「うまくいかない」
じゃあ何もわかりません。

状況をできるだけ詳しく教えてください。
193名無し募集中。。。:2007/12/18(火) 03:19:22
imgがどんなフォーマットなのかによるんじゃない?
2値化なら8Uかな
194デフォルトの名無しさん:2007/12/18(火) 14:53:32
例えば、10×10の行列(IplImage)があった時に、(3,4)成分から(7,6)成分までの矩形を
コピーして5×3の行列を作る関数って無いですか?
毎回CreateImageして、ピクセルに直接アクセスして代入してるんだけど重い。
195デフォルトの名無しさん:2007/12/18(火) 14:59:38
あるから調べてみ
196194:2007/12/18(火) 17:41:34
レスサンクス。あるのか。
あるとしたらCXCOREの配列操作だと思って探してみたんだけど見つからなかったんだよな。
もう一度見てみます。
197デフォルトの名無しさん:2007/12/18(火) 18:15:15
さきゅばすのP905i用オプション書いてみた。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<entry key="EXT">MP4</entry>
<entry key="MAIN"></entry>
<entry key="IN"></entry>
<entry key="OUT">-flags bitexact -vol 30 -vcodec xvid -s 640x480 -r 14.985 -b 1500 -acodec aac -ac 2 -ar 24000 -ab 64 -f psp</entry>
</properties>

変換してファイル名変更してSDに突っ込めば横画面で
コメント付きニコ動が見れるぜ!!!

-vol の数字はボリュームなので適当に。100がデフォルト。
198デフォルトの名無しさん:2007/12/18(火) 18:55:38
誤爆><
199デフォルトの名無しさん:2007/12/18(火) 23:14:18
>>191
公開されているソースにその記述を加えたけどパソコンに保存されないってことかな?
VisualC++だと何か問題あったかも。カラー画像の場合はチャンネルの順番を
考慮したりと
200悩める人:2007/12/19(水) 06:02:33
はじめまして!
初心者ながらOpenCVを用いて画像処理を
しなければならなくなりました。
画像処理を用いて読唇術を行うのですが、
何からはじめたらいいかわかりませんonz
処理の流れをおしえていただければうれしいです。
201デフォルトの名無しさん:2007/12/19(水) 06:16:46
それって一般的な手法が確立された処理じゃないんじゃないか
202悩める人:2007/12/19(水) 06:25:13
ですよね^^;
ネットなんかで調べてもあまり分からなくて
勉強不足です。
エッジ検出を使ったりするらしいのですが・・・
203デフォルトの名無しさん:2007/12/19(水) 07:43:54
とりあえず論文くらいでてるだろうから調べるべし
204悩める人:2007/12/19(水) 08:03:19
はい!
しょうもない質問してすみません
205デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/12/23(日) 07:36:19
>>206
マジかぁ。
OpenCV使ってるwebアプリ公開してるんだが、
昨日初公開したとき、「gif使えないっすよ」って、
フィードバックが有ってしらべてたのねん。
有り難う。
Imagemagic使ってjpgに変換する事にします。
しかし、使えないのは特許のせいなのかしら?
208デフォルトの名無しさん:2007/12/23(日) 08:29:59
>>207
少なくとも日本では特許切れてた気がするけどね
海外はわからない
209デフォルトの名無しさん:2007/12/23(日) 11:33:36
210デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/12/26(水) 16:43:11
ちなみに参考のプログラムはここにあります。
http://opencv.jp/sample/object_detection.html#face_detection
212デフォルトの名無しさん:2007/12/26(水) 18:10:01
>>210-211
それならここでわかりますよ!
http://www.google.co.jp/
213デフォルトの名無しさん:2007/12/26(水) 19:29:25
>>195
CvMatならあったけど、IplImageは無さそうだな。
IplImageからCvMatに簡単に変換できたらいいんだけど
214デフォルトの名無しさん:2007/12/26(水) 20:30:55
ヒント: ROI
215宣伝:2008/01/04(金) 00:29:37
>>212
ソースググっても何の意味も無いだろ。
google codeならともかく。

>>210
つまるところが見つからない。
NAISTが出してる本をお勧めする。
216デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/01/04(金) 06:06:02
>>216
未実装らしい。
サイズ変えたきゃvideoInput使うかDirectShowからフレーム強奪なら何とかなるらしい。
218デフォルトの名無しさん:2008/01/04(金) 07:15:29
Ver1.0から進展ないよね。
219デフォルトの名無しさん:2008/01/04(金) 21:26:01
そか。やってみるかー。おおきに。
220デフォルトの名無しさん:2008/01/06(日) 03:38:37
OpenCVかIPLでYV12フォーマットをRGB24に変換する関数ありませんか?

手作りすると処理重いので探しています。
IPPは金かかるからNGで。
221デフォルトの名無しさん:2008/01/08(火) 01:02:44
>>220
ttp://opencv.jp/opencv/document/opencvref_cv_filters.html#decl_cvCvtColor
色変換の関数はここにあるけど、その変換があるかはわかんないな。
222デフォルトの名無しさん:2008/01/08(火) 20:35:09
223デフォルトの名無しさん:2008/01/08(火) 21:51:19
>>221
ありがとうございます。なさそですね。

>>222
???
よくみるサイトです。
行列計算して早くするまではしたことありますけどMMXやSSEの命令まではわからないから手作りできないのです。
そこでM社が作ったIPP以外のライブラリを探してます
224デフォルトの名無しさん:2008/01/09(水) 15:10:18
OpenCVで画像を切り取ったりするのには特別な関数が必要ですか?
225デフォルトの名無しさん:2008/01/09(水) 16:34:18
2枚の白黒画像を重ね合わせて、黒色の画素がマッチした画素数を
マッチングスコアとして知りたいんだけど…
OpenCVでできるのかな?テンプレートマッチングとか使うのかな…
初歩的な質問ならごめん…
226デフォルトの名無しさん:2008/01/09(水) 22:26:53
>>224
ROI指定してCopy
>>225
反転させてAndしてCountNonZero
227デフォルトの名無しさん:2008/01/10(木) 09:54:30
>>210
そこは自分もつまづいている所だ。
結局その部分は使用せずソースコードで直接画像を指定して読み込む方法で解決した。

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

お互い分かったことがあったらここに書き込もうぜ。
228デフォルトの名無しさん:2008/01/10(木) 13:43:23
google://コマンドライン引数
229225:2008/01/10(木) 13:46:23
>>226
ありがとう!調べてみるよ!
230デフォルトの名無しさん:2008/01/10(木) 18:21:37
opencv初心者なのですが
別端末のwebcamで撮った映像をネットワーク経由で受け取って
それをリアルタイムに処理する方法とかないでしょうか・・・
ググって見たんですけど見当たらなくて。


別に動画じゃなくても良いのですが
ネットワーク越しにファイルなりなんなりを読み込む方法を
ご存知の方いらっしゃいましたら教えていただけないでしょうか。
よろしくお願いいたします。
231デフォルトの名無しさん:2008/01/10(木) 22:08:40
>>230
無理。別のライブラリを探してくるしかない

私はそれをやるのにDirectShOwフィルタを作ってもらった。たしか普通のWebカメラならHTTPをGetしてくる形でコーディングすればいいとおも。
232デフォルトの名無しさん:2008/01/10(木) 22:12:50
>>227
どこが難しいのかよくわからない(´・ω・`)
詳しく!

ヒキスウつけて実行しないとプログラムが動かないって事ですか?
233デフォルトの名無しさん:2008/01/10(木) 22:32:51
が、画像処理以前にCをおべんきょ・・・いやなんでもない
234230:2008/01/10(木) 22:38:46
>>231

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

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

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

linuxなんですけど、なんかいい案ないですかね(´・ω・`)
235デフォルトの名無しさん:2008/01/10(木) 22:44:38
/dev/usbcam を垂れ流す cgi でも作れば、HTTP サーバが適切に chunked で
垂れ流してくれるんじゃないの?
236デフォルトの名無しさん:2008/01/10(木) 22:58:17
>>210
>>227
引数に画像のファイル名がない or 画像読み込み失敗で return -1
読み込んだ画像をグレースケール変換
これでおk?
237デフォルトの名無しさん:2008/01/10(木) 23:15:15
変換じゃなくて、読み込んだ画像と同じサイズの画像を作成だった
238デフォルトの名無しさん:2008/01/11(金) 00:27:55
>>231ですが、
>>235さんの方法に同意。
別ライブラリとはいっても見つからないとおもわれる。
だからVideoForLinuxで自作する他ないのかもしれませんね
検討を祈る
239デフォルトの名無しさん:2008/01/11(金) 03:36:33
OpenCVには、画像の任意率の拡大縮小とか
指定ピクセルだけ平行移動する関数ってありますか?
並進移動ってのはあったんだけどなんか違う気が・・・
240デフォルトの名無しさん:2008/01/11(金) 05:22:33
239だけど・・・
両方アフィン行列変換でどうにかなるみたいですね…
お騒がせしました・・・
241213:2008/01/11(金) 13:25:02
>>214
亀レスだが、サンクス。
242デフォルトの名無しさん:2008/01/11(金) 15:44:15
for文の中で処理を繰り返して、繰り返すたびに処理画像をbmp保存したり
バッファとしてキャプチャしておく方法ってある?
当たり前だけどcvShowImageとかcvSaveImageをfor文の中に入れたら上書きされちゃうんだ・・・
243デフォルトの名無しさん:2008/01/11(金) 16:00:48
別のメモリにコピーしておいて
あとで保存すればいいんじゃ?
244名無し募集中。。。:2008/01/11(金) 17:10:20
cvSaveImageのファイル名を変えないとfor文じゃなくても上書きされるな
245デフォルトの名無しさん:2008/01/11(金) 20:52:39
なんか急にレベル下がったね。
どっかの学校で課題でも出されたのか?
246デフォルトの名無しさん:2008/01/11(金) 21:03:26
レベルの高い話なんてしてたっけ?
247デフォルトの名無しさん:2008/01/11(金) 21:21:04
学生がウラヤマ(´・ω・`)
248デフォルトの名無しさん:2008/01/12(土) 00:26:19
OpenCVの使い方ではなくCについて聞くような
レベルまでは低くは無かったんじゃないかな
249デフォルトの名無しさん:2008/01/12(土) 20:50:31
ここはプログラミング初心者スレじゃないよ
250230:2008/01/14(月) 07:38:21
>>235
>>238

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

卒論で使いたかったのですが、
自作してる時間がなさそうなので方向転換します;
251デフォルトの名無しさん:2008/01/15(火) 11:42:21
初心者でも高度なプログラムが書けるっつうのがOpenCVの理念だろ。

上級者ぶってるヤツも文句言わず教えろよクズどもw
252デフォルトの名無しさん:2008/01/15(火) 12:00:28
OpenCVの前にCを勉強しろよ
初心者上級者以前にスレ違い
253デフォルトの名無しさん:2008/01/15(火) 18:04:56
うむ
252が正論だな
Cの質問かOpenCVの質問かきりわけるのが礼儀だな。
254デフォルトの名無しさん:2008/01/18(金) 11:28:02
CamShift, CamshiftTrackerの使い方がいまいちよくわからないのですが、いいサンプルコードとかないですか?
255デフォルトの名無しさん:2008/01/18(金) 18:50:53
本買えばいいんじゃね?
256デフォルトの名無しさん:2008/01/18(金) 21:17:25
質問です。
ライブラリの中の、get_関数が用意されていない変数の値をとってくるには、
どうし書いたらいいでしょうか。
具体的には、mlem.cppのなかのinv_eigen_valuesとcov_rotate_matsの値が欲しいのですが。。
257デフォルトの名無しさん:2008/01/18(金) 21:32:47
デバッガ使えないの?
258デフォルトの名無しさん:2008/01/18(金) 22:04:26
>>257
>>256です。
少し調べたのですがデバッガの扱いがわかりません。。しかし、知りたい変数は行列なので、見れるか微妙な気がします。もうすこしだけ、ヒントいただけないでしょうか。
259デフォルトの名無しさん:2008/01/18(金) 23:56:01
>>256
自分で望みの関数を追加してみたら?
260デフォルトの名無しさん:2008/01/19(土) 04:10:34
>>259
256です。
それはそうなんですが、関数、というかアルゴリズムがかなり大変なので、ライブラリから取ってこれればそれに越したことはないのです。
実行時間もライブラリのほうが自分で書いたものより早いですし。
261デフォルトの名無しさん:2008/01/19(土) 04:13:11
ヘッダに無かったら自分で作るしかないだろ
262デフォルトの名無しさん:2008/01/19(土) 04:18:56
ライブラリのソースがあるんだからget_だけ実装すればいいんじゃね
263デフォルトの名無しさん:2008/01/19(土) 11:36:40
画像の輝度を1ピクセルごとに取得して配列に格納できるような関数ってありますか?
例えば100×100サイズの画像なら、x[0][0]に座標0,0の輝度が入って、x[99][99]に座標100,100の輝度が入っていくようなものです。
264デフォルトの名無しさん:2008/01/19(土) 11:43:40
>>260
>>259はライブラリのソースに加えりゃいいだろという話
265デフォルトの名無しさん:2008/01/19(土) 11:43:53
>x[0][0]に座標0,0の輝度が入って、x[99][99]に座標100,100の輝度が入っていく
どうやっても無理じゃね、普通
266デフォルトの名無しさん:2008/01/19(土) 13:50:13
>>263
img->imgDataから自分で2次元配列作れ
267デフォルトの名無しさん:2008/01/19(土) 13:50:52
×imgData
○imageData
268デフォルトの名無しさん:2008/01/19(土) 15:13:45
>>265のつっこみにみんな気付いてあげて
269256:2008/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デフォルトの名無しさん:2008/01/19(土) 15:37:36
>>269
うまくいかないじゃわからないよ。
何を期待して、現状どうなのかを書かないと。
271デフォルトの名無しさん:2008/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使いの妄想を垂れ流してみる。
クラスについてよく分からないから、正しいのか分からないけれど。
272271:2008/01/19(土) 21:19:32
せめて、何か反応してくれよ〜
こんな感じでうまくいくんじゃね?とか駄目とか。
273デフォルトの名無しさん:2008/01/19(土) 22:58:26
カラー画像から色での2値化で切り抜いているのですが
色の境目のにじみできれいに切り抜けていません。
にじみをとれるようなフィルタってないでしょうか。
274デフォルトの名無しさん:2008/01/20(日) 13:13:25
>>273
ここはOpenCVの・・・
275デフォルトの名無しさん:2008/01/20(日) 15:09:07
>>273
色での二値化の意味がわからん。
各チャネルに分解してcvThresholdかましてcvAnd、また結合すりゃおk
276デフォルトの名無しさん:2008/01/20(日) 15:36:20
>>275
その方法でやってます。
jpegの写真を処理しているのですが、色の境目の
ところがグラデーションになっていて、それがノイズになって
誤検出してしまいます。
そいつを取り除きたいのですが・・・・・
ちなみにHSV色空間でやってます。


277デフォルトの名無しさん:2008/01/20(日) 15:45:16
>>276
グレイスケール→平滑化→二値化
278デフォルトの名無しさん:2008/01/20(日) 16:27:33
>>277
グラデーションをとって
ぼかしを除去したいので
平滑化とは逆のような気がするんだけど


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

単に陰影で物体の形状を奇麗に切り取れないって言うなら自分で高度なアルゴリズムを調べるしかないんじゃないの?
280デフォルトの名無しさん:2008/01/20(日) 17:05:58
形状を滑らかに抽出するならSnakesが実装されてなかったっけ?
281デフォルトの名無しさん:2008/01/20(日) 17:09:27
>>279
まとまりのない質問ですみません。
切り取った形状の淵がすごいギザギザになるので
何とかならないかと思って・・・・

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

入力画像に問題があると思うのでそちらを
見直してみます。
282デフォルトの名無しさん:2008/01/20(日) 17:13:47
>>281
なら平滑化してみなよ
やらないよりいくらかましだと思うけど
283デフォルトの名無しさん:2008/01/20(日) 17:26:44
>>281
まるっきり画像処理に関する質問だな。
色認識の論文とか調べればいい方法あるんじゃないの?

正確性を気にせずギザギザがとりたいのなら
検出結果側にフィルタをかければいいと思うが。
284デフォルトの名無しさん:2008/01/20(日) 17:54:05
285デフォルトの名無しさん:2008/01/20(日) 18:16:56
>>282,>>283,>>284
スレ違いなのにすみません。
とりあえず全部実験してみます。

何だかjpeg形式にも問題があるような気が
するので、bmpとかでもやってみます。
286デフォルトの名無しさん:2008/01/20(日) 21:20:57
thresholdにヒステリシス特性のあるフィルタをかます
287デフォルトの名無しさん:2008/01/20(日) 23:41:26
265さんのツッコミが素敵です。
ただ、信号処理の観点から265のツッコミをみると101/100のリサンプルすればいいだけ。簡単にできるお

質問者のやりたいことはもっとレベル低いとはおもう
288デフォルトの名無しさん:2008/01/21(月) 00:49:15
>>287
>100×100サイズの画像なら
という前提があるのでリサンプリングしてもやっぱり無理。
289デフォルトの名無しさん:2008/01/21(月) 01:32:45
その通りですね。
よくよんでみて気がついた。
100×100の画像で0〜100の座標はないわ。
290デフォルトの名無しさん:2008/01/23(水) 10:21:25
質問です。
cvLoadImageで読み込んだ画像をウィンドウに表示するとグレーの歪んだ画像が表示されます。
画像の拡大などをして保存しても歪んだ画像が保存されます。
原因がわからないので知ってる方がいたら教えてください。

Xcodeを使っています。
291デフォルトの名無しさん:2008/01/23(水) 10:28:35
プログラムは思ったとおりには動かない
書いたとおりに動く
292デフォルトの名無しさん:2008/01/23(水) 11:39:37
>>291
至言だな
293デフォルトの名無しさん:2008/01/23(水) 22:06:38
だな。

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

でも、IPLImageの確保サイズや色の指定が違うんだろう。と、ゆとりにいってみる
294290:2008/01/24(木) 05:54:41
ウィンドウズの方でコードを書いたら正常に動作しました。
295デフォルトの名無しさん:2008/01/24(木) 18:24:46
>>291は良い言葉だが、この場合は「Macは糞」が正解だったようだな

てかwinあんならwin使えばいいじゃん
296デフォルトの名無しさん:2008/01/24(木) 21:59:11
どちらにしろ
もっともシンプルなコード書いて実験だな
んでコード晒せ
バグがあるのかも知れんね
297デフォルトの名無しさん:2008/01/24(木) 22:22:27
Macで使っているが、特に問題はない。
>>290
のコードが悪かったとしか思えない。
298デフォルトの名無しさん:2008/01/24(木) 23:04:14
だろうな。LoadImageなんて根本的なとこでバグってたらOpenCVの機能の大半使えないもんな
299デフォルトの名無しさん:2008/01/26(土) 21:16:02
単眼カメラでカメラで取得した座標から実空間の座標を
求めたいんですけど、みなさんどうやってもとめてますか?
あと、実空間と画像との誤差はどれくらいでるのか気になります。
OPENCVでやりたいなと思っています。よろしくお願いします。
300デフォルトの名無しさん:2008/01/26(土) 21:45:25
>>299
キャリブレするか特定の平面からしか無理じゃね?
301デフォルトの名無しさん:2008/01/27(日) 00:17:51
229
真上からのカメラ映像があれば後は基準となる物から座標補正してやればおk

なんか最近それ関連の仕事きたなぁ
302デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/01/29(火) 22:39:24
不完全な円(画像から一部がはみだしている)を検出したいのですが
cvHoughCircles では無理でしょうか。
よろしくお願いいたします。
304デフォルトの名無しさん:2008/01/30(水) 02:52:45
もっとデカいIplImageの中心にROI設定してCopyしてからHoughやってみたら?
305デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/01/31(木) 08:37:54
>>299
ゲーム制作板の企画スレ見てみ
「企画」で検索な
307デフォルトの名無しさん:2008/01/31(木) 08:44:07
308デフォルトの名無しさん:2008/01/31(木) 21:44:41
OpenCV初心者なのですが、OpenCVをWindows form applicationで使えますか?
使おうとしているのですが、なかなかうまくいきません。
使えるのであればどのように設定すればよいか教えてください。
よろしくお願いします。
309デフォルトの名無しさん:2008/01/31(木) 22:34:26
初心者という表現は使うな。関係ない

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

で、何の開発ツール使っているの?
310デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/01/31(木) 23:41:52
OpenCVの話じゃないな
312デフォルトの名無しさん:2008/02/01(金) 00:02:15
>311
申し訳ございません。
OpenCVを用いているのでここに書き込ませていただいたのですが他をあたってみます。
313デフォルトの名無しさん:2008/02/01(金) 00:43:07
cvWaitKeyしなければキーボード入力を待たずに処理するよ。
314デフォルトの名無しさん:2008/02/01(金) 01:02:37
>>310
あっという間にメモリ食い潰しそうだなw
ループの前にIplImage確保しといてcvCopyImageにしとけ。
あとcvWaitKey(10)とかやっときゃキー入力待ちのウェイトが10msになって
入力が無い時は勝手に回るようになる
315デフォルトの名無しさん:2008/02/01(金) 02:46:07
>>309
>>308です。
フリーで配布されているMaicrosoft visual c++ 2005 Express Editionです。
「追加の依存ファイル」にhighgui.hとか貼り付けて#includeすれば
formApplicationで使えると思ったのですが、うまくいっていない
というのが今現在の状態です。
316デフォルトの名無しさん:2008/02/01(金) 02:48:37
え”・・・。
317デフォルトの名無しさん:2008/02/01(金) 02:54:53
間違えました。
highgui.h→highgui.lib
318デフォルトの名無しさん:2008/02/01(金) 02:56:18
まあ、エラーメッセージくらい書いてくれないと何にもわからないよ
319デフォルトの名無しさん:2008/02/01(金) 03:30:51
わからないなら黙っててください。
320デフォルトの名無しさん:2008/02/01(金) 03:41:36
・・・
321デフォルトの名無しさん:2008/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 [email protected]
Room 1204, 12/F
48-62 Hennessy Road
Wan Chai, Hong Kong
Hong Kong
+852.30173700
322デフォルトの名無しさん:2008/02/01(金) 07:24:49
>>317
VCでのライブラリの扱い方がわかんないんだね。

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

OpenCVのフォルダのなかにある*.libファイルをソースが並んでるところにほおりこんでみな
323デフォルトの名無しさん:2008/02/01(金) 07:35:18
その前にフォームアプリケーションもビルドできるかすら怪しい
324デフォルトの名無しさん:2008/02/01(金) 07:44:07
OpenCV 以前だよ〜。VC のスレにでもいけよ〜。
325デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/02/02(土) 02:28:53
C4793でググってみるといいよ
327デフォルトの名無しさん:2008/02/02(土) 03:52:53
大学の情報学科もピンキリなんだなぁ。
328デフォルトの名無しさん:2008/02/02(土) 14:13:11
インクルードするヘッダはちゃんとパス通ってるのか?

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

どーしてもというならプロジェクト作ってやるけど
329デフォルトの名無しさん:2008/02/02(土) 15:25:21
パスの設定はしました。
皆さんの話からOpenCVじゃなくて
VCの使い方が問題のようなので
もっといろいろ調べてみます
いろいろありがとうございました。
330デフォルトの名無しさん:2008/02/02(土) 16:09:12
VC++は(フリーのやつに限らず)MS独自拡張Cモードでプロジェクトを作る。
これをOFFにしてANSI-CモードにするのがVC++の最初の一歩です。
331デフォルトの名無しさん:2008/02/03(日) 03:37:06
OpenCVをC#で使えるようにしたラッパーありますか?
332デフォルトの名無しさん:2008/02/03(日) 09:25:42
333デフォルトの名無しさん:2008/02/03(日) 11:23:53
sherperCVって本家に完全対応してるの?
334デフォルトの名無しさん:2008/02/06(水) 16:14:35
cvFindContoursを使って輪郭抽出をした後、各輪郭における
すべての座標を取得したいのですが、どうすればいいでしょうか?
>>60 さんの書き込みを見てもなかなかうまく解決できなくて
友達に聞いても誰も分からないのでお手上げ状態になってます。
335デフォルトの名無しさん:2008/02/06(水) 19:37:27
>>334
このページぐらいは探してみたほうがいいじゃないか?
http://opencv.jp/sample/tree.html
336デフォルトの名無しさん:2008/02/08(金) 09:23:47
自分めも

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

OpenCVのソースコードデバッグするには中間ファイルを作り、cvd.libなど後ろに「d」がついている
スタティックリンクライブラリをリンクすればいい
337デフォルトの名無しさん:2008/02/09(土) 09:06:14
なぜdがついてるの?
338デフォルトの名無しさん:2008/02/09(土) 09:21:22
d=デバッグ用
339デフォルトの名無しさん:2008/02/09(土) 18:08:04
デブ
340デフォルトの名無しさん:2008/02/10(日) 05:57:11
336だけど、cvd.libはcvd.libとファイルサイズかわらず97kだったよ。
だからデブのdではないなw
341デフォルトの名無しさん:2008/02/10(日) 06:05:39
そりゃー同じもの比べたら同じだろうが
342デフォルトの名無しさん:2008/02/10(日) 07:09:57
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
343デフォルトの名無しさん:2008/02/10(日) 12:37:48
いや誤記だが携帯からだと訂正めんどくさかったんだ。
後、低レベルな奴が多いからOpenCVのバグを取る奴もいないと思った
344デフォルトの名無しさん:2008/02/10(日) 18:44:52
>>343
Yahoo Groups読んでると分かるが、バグ!とメールする奴は大抵使い方がおかしい
345デフォルトの名無しさん:2008/02/10(日) 19:04:06
グレースケールにして表示すると上下逆さになるのは?
346デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/02/11(月) 21:39:06
縦のみ伸縮させたいのですが、
アフィン変換とかしないとダメですか
やりたいのは画像内の楕円を円にする事です。
よろしくお願いします。
348デフォルトの名無しさん:2008/02/11(月) 21:40:29
cvResizeは?
349デフォルトの名無しさん:2008/02/11(月) 22:10:44
>>348
即レスありがとうございます。
画像を見ながらトラックバーで調整したいのですが
可能でしょうか。
350デフォルトの名無しさん:2008/02/11(月) 22:13:00
叶姉妹
351デフォルトの名無しさん:2008/02/11(月) 22:13:31
余裕でcvResizeで可能です。はい次
352デフォルトの名無しさん:2008/02/11(月) 23:11:14
>>349
トラックバーのサンプルはProgram Files\OpenCV\samples見れ
353デフォルトの名無しさん:2008/02/12(火) 00:09:19
サンクス
出来マスター
入力画像のROIを変化させたらうまいこといきマスター
354デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/02/15(金) 10:06:52
ガッ!
356デフォルトの名無しさん:2008/02/15(金) 10:12:53
>>354
NULL配列ポインタを渡さないようにする。
357デフォルトの名無しさん:2008/02/15(金) 14:38:55
誰かCvSubdiv2Dの使い方を教えてください。
ドロネー図を書いて、3角形にテクスチャを張りたいのですが、どうやって貼り付けたらいいかわかりません。
おねがいします!
358デフォルトの名無しさん:2008/02/15(金) 20:40:53
>>354
存在しない画像ファイルを読んだとか。
359デフォルトの名無しさん:2008/02/15(金) 23:38:11
>>357
ポリゴンのROIは無いからなぁ
注目するポリゴン内の点と連結する部分にマスクかけてcvCopy(src,dst,mask)かね
360デフォルトの名無しさん:2008/02/17(日) 15:54:28
ポリゴンするならCGALあたりと組み合わせてみたらどうだい?
BIASだとopencvのbindingあってなおかつポリゴン使う枠組みあるみたいだけど
CGALよりメジャーじゃないみたいなのが不安なんだよね
361デフォルトの名無しさん:2008/02/18(月) 19:08:38
fedora7で
gcc hoge.c -lopencv -lhighgui -lcxcore
てやってもcv.hがない、highgui.hがない、cxcore.hがないって起こられてしまうorz

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

なにか考えられる原因わかる方いらっしゃいますか。
解決法知ってたらお願いします
362デフォルトの名無しさん:2008/02/18(月) 19:19:43
-Iオプション
363デフォルトの名無しさん:2008/02/18(月) 22:41:58
haartrainingというプログラムを使って顔画像を学習し、ステージごとのパフォーマンスを比較したんですが、
最初の方だけ、ステージが増えるごとに検出率が増加してしまいました。
カスケードなので検出率は上がることはないはずなのですが・・・
364デフォルトの名無しさん:2008/02/19(火) 09:04:34
libcv-devel
を入れる
365デフォルトの名無しさん:2008/02/19(火) 11:46:54
>>362 >>364
ありがとうございます。
gcc hoge.c -I/usr/include/opencv/ -lcxcore -lhighgui -lcv
で無事コンパイルできました。
366デフォルトの名無しさん:2008/02/23(土) 16:42:56
>>361です
JPG画像を表示させた後
cvWaitKey(5000)で5秒待ち、
cvDestroyWindowでウィンドウを閉じさせようとしたのですが
ウィンドウを閉じてくれません。こういうものなのでしょうか。
プログラムが終了するとウィンドウは閉じられます。
別の方法があるのでしょうか。
367デフォルトの名無しさん:2008/03/01(土) 14:24:17
USBカメラでは、動画が表示できていますがDVカメラだと表示されません。
cvCreateCameraCapture()は、NULLではありません。
DVカメラは使えないのでしょうか。
368デフォルトの名無しさん:2008/03/01(土) 17:42:20
3次元空間の点を2次元座標上に投影するために、
cvProjectPoints2を使いたいのですが、
リファレンスを読んでも詳しい使い方がわかりません。
どなたか教えてください。
369デフォルトの名無しさん:2008/03/01(土) 17:55:32
>>368
リファレンスのcvProjectPoints2の前の"Pinhole Camera Model, Distortion"という節の
数式を読めば、cvProjectPoints2の各引数の意味するところはわからないかな?
http://opencvlibrary.sourceforge.net/CvReference#cv_3d

ただ投影したいだけなら、後半のヤコビヤンを取得する引数は要らないだろうし。
370デフォルトの名無しさん:2008/03/01(土) 18:50:59
>369
ありがとうございます。
教えてもらったページを見て、だいたいの引数の意味はわかりました。
しかし、object_pointsとimage_pointsに関しては少し?な感じです。
object_pointsには3次元の入力データをそのまま与えればいいのでしょうか?
また、image_pointsにはどういった値を与えればいいのでしょうか?
371デフォルトの名無しさん:2008/03/01(土) 18:58:54
image_pointsはoutput arrayって書いてあるだろうが・・・
372デフォルトの名無しさん:2008/03/01(土) 23:08:51
>>367
IEEE1394カメラとDVカメラは別物
WindowsでキャプチャできるカメラならvideoInput使うかDirectShowと組合せれば使える。
373デフォルトの名無しさん:2008/03/02(日) 01:29:58
>IEEE1394カメラとDVカメラは別物
>WindowsでキャプチャできるカメラならvideoInput使うかDirectShowと組合せれば使える
Windows用のOpenCVで用意されたのキャプチャー関数では、IEEE1394経由のDVカメラは使えないと
いう解釈でよろしいのでしょうか?

DirectShowでキャプチャーしてOpenCV用のフォマットに変換して処理させる事に成功しました。
アドバイスどうもありがとうございました。
374デフォルトの名無しさん:2008/03/02(日) 02:34:41
>371
image_pointsの点データの決定の仕方やデータの与え方がわからないのですが。
375デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/03/02(日) 12:08:53
>375
わかりました。
とりあえずやってみようと思います。
377デフォルトの名無しさん:2008/03/02(日) 13:01:50
こういう質問する人ってC言語のポインタ渡しの作法がわかってないのかな・・・
378366:2008/03/03(月) 13:03:02
cvDestroyWindow
実行後
cvWaitKey(1);
でウィンドウが消えました。
とりあえず報告まで。。。
379デフォルトの名無しさん:2008/03/04(火) 17:52:25
>>325
警告だけでエラーが1つもない件。
380デフォルトの名無しさん:2008/03/05(水) 14:27:52
他にも画像処理ライブラリーはたくさんあるのに
なぜOpenCV?
381デフォルトの名無しさん:2008/03/05(水) 18:22:18
君が画像処理ライブラリの機能比較ページとか作ってくれたら、みんな喜ぶ
382デフォルトの名無しさん:2008/03/06(木) 12:35:20
USBカメラのキャプチャ実行中にUSBを引っこ抜いたら
どうなんの?
こわくて実験できません
383デフォルトの名無しさん:2008/03/06(木) 19:10:26
PCが物故割れる
384デフォルトの名無しさん:2008/03/10(月) 16:50:51
あるJPEGファイル(ネットワークカメラの映像の1コマ)を
OpenCVのcvLoadImage関数に読ませようとすると、
IPLイメージにデータが入らず、
cvShowImageで表示させると灰色の画像が表示されます。

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


.NET FrameworkのSystem::Drawing::Bitmapを使って
JPEGファイルを読み込んだときは問題なく表示されましたが
処理時間の高速なOpenCVを極力使いたいと考えています。
385デフォルトの名無しさん:2008/03/10(月) 19:05:53
その「あるJPEG」をアップしてみたら?
386デフォルトの名無しさん:2008/03/11(火) 02:05:38
二値化して、物体検出やってるのですが
二値化画像が真っ黒(要素がすべて0)かどうか判定するには
cvCountNonZeroを使うのが正解でしょうか?
387384 ◆EbBEqBu6yI :2008/03/11(火) 10:22:41
384です。
問題の画像をアップしてみました。(Passは9999です)

http://www.uploda.org/uporg1298511.jpg.html

#JPEGファイルそのものに以上がないか、解析ツールでこちらでも調べてみます。
388384 ◆EbBEqBu6yI :2008/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デフォルトの名無しさん:2008/03/11(火) 11:06:18
cvLoadImageで読めて、cvShowImageで表示できたけど。
cvWaitKey?
390384 ◆EbBEqBu6yI :2008/03/11(火) 11:37:16
確認していただいてどうもありがとうございます。
当方の環境では以下のような感じで読み込めないんですよ。

http://www.uploda.org/uporg1298567.jpg.html (pass:9999)

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

当方の環境は Visual Studio .NET 2003で C++(コンソールアプリケーション)を使っています。
CPUはGenuine Intel(R) CPU T2500 @ 2.00GHz を使用しています。
読み込める方もいらっしゃるということは、環境によるのでしょうか・・・。
391デフォルトの名無しさん:2008/03/11(火) 12:03:43
同じプログラムで別のjpgファイルを読めるならjpgに原因が、そうでないならプログラムに原因があんじゃね
cvLoadImageは読み込めないとNULLを返すような気がすんだけど、imageDataが見れるってことはNULLじゃないんだよね?
392384 ◆EbBEqBu6yI :2008/03/11(火) 12:57:36
cvLoadImageから返される結果は、NULLではないです。
(width, height, nChannelsも値が入って参照できているので)

393デフォルトの名無しさん:2008/03/11(火) 16:00:32
>>392
関係無いだろうけどファイルのアクセス権限は?
394384 ◆EbBEqBu6yI :2008/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デフォルトの名無しさん:2008/03/11(火) 19:32:23
別のJPGでできて、
問題のJPGだけが出来ないのならJPGが壊れてるのかもね

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

問題のJPGデータを読み込みたいのであって
その画像を表示させたいのではないってのなら
意味無いけど
396デフォルトの名無しさん:2008/03/11(火) 21:44:05
どうでもいいけど、>387が全然拾えない。まぁ恐らく、jpegのフォーマットがどこか変なんだよ。
397384 ◆EbBEqBu6yI :2008/03/12(水) 19:19:36
遅くなってすみません。
JPGに問題があるのかな、と思いつつ明日cvLoadImageの関数内スコープして中で何をやっているか見ようと思います。
どうもありがとうございました。

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

>>396
ご指摘を見て確認したら、うpろだから消えていましたので、
再度アップしました
(pass:どちらも9999)
http://www2.uploda.org/uporg1300870.jpg.html (問題の画像)
http://www.uploda.org/uporg1300869.jpg.html (実行結果、「問題の画像」という名前になっているのは間違いです)
398デフォルトの名無しさん:2008/03/12(水) 19:35:04
普通に表示できたよ (´・ω・`)
399デフォルトの名無しさん:2008/03/13(木) 00:04:26
>>397
だから、指摘されているにも拘らずそんなに流れの速いアップローダを使うのは嫌がらせ?
400384 ◆EbBEqBu6yI :2008/03/13(木) 09:33:46
すみません。
アップローダ側で消されてしまうのに気づきませんでした。
画像が見れなければ話になりませんよね。

アップローダー変更しました。
ご迷惑おかけしてすみません。
http://sakuratan.ddo.jp/uploader/source/date73885.jpg (問題の画像)
http://sakuratan.ddo.jp/uploader/source/date73886.jpg (当方での実行結果)
401デフォルトの名無しさん:2008/03/13(木) 11:43:08
一応報告 >>394のプログラムのコピペ+>>400の画像で動いたよ
WinXP + .NET 2003
402デフォルトの名無しさん:2008/03/13(木) 22:50:47
>>400
コメントの入り方がちょっとおかしい悪寒。
今手元に細かいフォーマットチェックのできるツールがないからよく判らんけど。
IrfanViewだとコメントが文字化けする。
403デフォルトの名無しさん:2008/03/17(月) 18:22:01
Cygwin上でOpenCV1.0.0をインストールして随分と使っています。
前からアレ?と思ってはいたのですが、
highguiを使用しているプログラム(ウィンドウやcvWaitKey)では、
更にいくつかの条件を満たしていないとプログラムが強制終了してしまいます。
具体的に見つけたケースとしては、実行されなくても良いから
cvMinEnclosingCircleやcvCvtColorを書いておく必要があります。

インストールに失敗しているのか、
何か手順が足りないのか分かっていません。
このため、他から持ってきたプログラムを動かせないケースがあったりして
困っています。何か御存知の方、いらっしゃいますか?
404デフォルトの名無しさん:2008/03/17(月) 19:49:53
どの関数で強制終了してますか?
405デフォルトの名無しさん:2008/03/17(月) 20:20:47
>>403
てことは
if(0){
cvMinEnclosingCircle()
}
っていう風に書いておかないと落ちるってことか?
バッファ壊してるんじゃないの?
406デフォルトの名無しさん:2008/03/18(火) 10:33:14
>>404
言葉足らずでした。条件を満たしていない場合には、プログラム自体が
起動直後に強制終了しているようです。最初のprint文も実行されませんので。

>>405
cvMinEnclosingCircle(NULL,NULL,NULL);というのを書いておけば大丈夫です。
実行されるとエラーになってしまうので実行はされていませんが。
バッファ壊しているというのはどんな状態を指しているのですか?
407デフォルトの名無しさん:2008/03/19(水) 01:39:51
>実行されるとエラーになってしまうので実行はされていませんが。
禅問答ですか?
408デフォルトの名無しさん:2008/03/19(水) 23:36:37
>>407
「実行されていませんが」は訂正します。
「実際には実行されていませんが」もしくは「実行されるようにしていませんが」です。
文章がおかしかったですorz
409デフォルトの名無しさん:2008/03/20(木) 00:09:26
> 実際には実行されない

つまり

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

こういう事ですか?
そのままベタに書いたなら実行はされてますが
410デフォルトの名無しさん:2008/03/20(木) 00:11:48
問題が再現する簡単なコードをくれ
411デフォルトの名無しさん:2008/03/20(木) 01:35:33
>>408
「実行されていませんが」のような自分の解釈で状況説明しようとするから
問題が起きる。2chで質問する奴の9割はそいつ自身の状況把握が信用ならないの
だから、自分の解釈を入れることは極力避けなければならない。

ではどうするかというと、これこれこういう結果になった、こういうエラーが
出た、というのをコピペまたは手書きで写すことによって状況説明する。
つまり回答者の目を代行することに努める。回答者から見れば質問者の
解釈を経由するというのは情報に誤りが入る原因を増やすことでしかない。
412デフォルトの名無しさん:2008/03/21(金) 09:34:18
よくある話。自分のバグでどこか領域を壊しているんだろ。
無関係のコードを書くと動くのは、そのコードによって壊す領域がずれて
たまたま動いているだけ。
413403:2008/03/21(金) 13:17:19
短いコードを作って試しました。

[コンパイル]
g++ `pkg-config --cflags opencv` a.c `pkg-config --libs opencv` -o a.exe
414403:2008/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つ以上書いてあれば良い。
415403:2008/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;
}

この場合には何も出力されずに、プログラムも終了してしまいます。
416403:2008/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の動く例と同様の結果が得られます。
417403:2008/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デフォルトの名無しさん:2008/03/21(金) 17:20:34
WinXPSP2
cygwin OpenCV1.0

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

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

試していただきありがとうございます。
420デフォルトの名無しさん:2008/03/21(金) 20:28:43
printfの次にexit()とかfflushとか入れてみたら。つかデバッガ使えば。
421418:2008/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デフォルトの名無しさん:2008/03/21(金) 23:16:49
俺の記憶では(ver0.97)
cvWaitKey(1);
はバグがあった

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

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

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


OpenCVスレの皆様、あやふや文面の質問に対して、
親身なアドバイスをしていただきありがとうございます!!!
424デフォルトの名無しさん:2008/03/23(日) 14:36:21
変わった事やろうとしてる癖にスキル低いな
425デフォルトの名無しさん:2008/03/24(月) 00:20:51
cvAgvをつかってモノクロ画像の輝度平均値を求めたいのですが
cvAgvのマニュアルを読むとスカラー値に出力されるとなっています。
このスカラー値の扱いかたがよく分かりません。
スカラー値から欲しい平均値を取り出すにはどうしたら良いのでしょうか。
426デフォルトの名無しさん:2008/03/24(月) 00:24:04
CvScalarのマニュアル読んでくれ
427デフォルトの名無しさん:2008/03/24(月) 00:39:29
>>426
読んだけど分がらねえ
CvScalarを参照して代入している例文だけでも教えて頂けないでしょうか。
もしくはどのへんから出直したら良いか教えて下さい。
428デフォルトの名無しさん:2008/03/24(月) 00:40:20
Cの文法からやりなおせ
429デフォルトの名無しさん:2008/03/24(月) 07:56:33
>>427
ヘッダ嫁
430デフォルトの名無しさん:2008/03/24(月) 14:32:15
>>429
.val[0]でとれました。
お騒がせしてすみません。
文法から出直しまふm(_ _)m
431デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/03/25(火) 11:41:50
DirectShowで画像を取得して、
OpenCV用の画像フォーマットに変換
433デフォルトの名無しさん:2008/03/25(火) 12:31:44
directshow samplegrabberでぐぐれ
434デフォルトの名無しさん:2008/03/26(水) 08:26:47
>>431
IEEE1394カメラとDVカメラは別物
435sage:2008/03/26(水) 20:22:14
2値画像でラベリングした結果、例えば、5円玉みたいな画像が取得できた場合、
その穴埋め処理を行うような関数ってない?

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

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

436デフォルトの名無しさん:2008/03/26(水) 20:31:50
穴のサイズによる
437435:2008/03/27(木) 10:44:59
膨張収縮では消えないくらい大きな穴です
438デフォルトの名無しさん:2008/03/28(金) 21:53:15
スレ違いだったらすみません。
OpenCVで作ったWindow上のマウスポインタが
いきなりテキスト用のやつになったまま戻りません。
マウスイベントは使ってますが、
何をやらかしたのでしょうか。
439デフォルトの名無しさん:2008/03/29(土) 00:47:48
はい
440デフォルトの名無しさん:2008/03/30(日) 13:39:37
>>437
丸い閉鎖領域を探して塗れよ
441デフォルトの名無しさん:2008/03/31(月) 03:15:37
オライリーからOpenCVの書籍が出るっぽいね!
442デフォルトの名無しさん:2008/03/31(月) 22:08:51
Amazonによると 発売日は 2008/06 ってなってるね
443デフォルトの名無しさん:2008/03/31(月) 23:16:27
アルゴリズムとかチュートリアルとかって書いてある。
444デフォルトの名無しさん:2008/04/02(水) 13:02:32
OpenCV作者による解説らしいな
洋書だが買ってみるか
445デフォルトの名無しさん:2008/04/03(木) 14:13:12
MacでOpenCVやってる人いる?

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

終了条件はこんなかんじ↓
if(NULL == (input = cvQueryFrame(capture))){
return -1;
}
446デフォルトの名無しさん:2008/04/03(木) 15:46:40
>>444
お、、まじで?
それなら買いだな!
447デフォルトの名無しさん:2008/04/03(木) 22:01:10
作者に御礼したいし買うか
448デフォルトの名無しさん:2008/04/04(金) 00:10:22
Google Summer of Codeにでやる人がいるのかな。
どれを実装してほしい?
http://opencvlibrary.sourceforge.net/SummerOfCode
449デフォルトの名無しさん:2008/04/04(金) 00:14:35
>>445
cvGrabFrame
cvRetrieveFrame
でやってみるとどう? 原因絞れるかもよ。
450デフォルトの名無しさん:2008/04/07(月) 17:52:31
SummerOfCode でこんなのあるんだ
opencvは画像処理の標準になりつつあるのかなあ
boost.gilもいいと思うんだけど
451デフォルトの名無しさん:2008/04/09(水) 19:50:41
boost.gilとは機能の差が違いすぎるだろ
452デフォルトの名無しさん:2008/04/11(金) 10:48:50
boost.gilは他のboostの機能との連携がしやくなってるから
違う意味での機能は充実してるだけどね
ファイル入出力とか多次元配列とかlambdaとか
453デフォルトの名無しさん:2008/04/12(土) 19:46:03
OSX でやってる人いる?
454デフォルトの名無しさん:2008/04/12(土) 22:41:58
画像処理ライブラリが画像処理できないと意味ないだろ
455デフォルトの名無しさん:2008/04/16(水) 20:06:02
フーリエ記述子のサンプルプログラムないん?
456デフォルトの名無しさん:2008/04/19(土) 16:18:20
みなさんOpenCVの開発環境はどんな感じでやられていますか?
当方Fedora8+IEEE1394で開発行っているんですがIEEE1394から
firewireに名前が変更されてからカーネルの再構築を行わないと
カメラが使えない状態が続いています。

どの辺りを設定変更すれば普通に使えるようになるのか知っている方
がおられればお教授お願いします。
457デフォルトの名無しさん:2008/04/19(土) 19:39:53
>>456
OSをWindowsにすると簡単だよ。
458デフォルトの名無しさん:2008/04/19(土) 23:19:37
>>457

WindowsだとQtフリーで使えないし色々と不便なのです。またXPでは使えますが
Vistaでエクスプレス変換カードを使用すると画像取り込めないんです。
459デフォルトの名無しさん:2008/04/20(日) 12:21:45
>>441
日本語のは出版未定ですか?
460デフォルトの名無しさん:2008/04/22(火) 07:40:01
>>459
まだまだでないだろう
461デフォルトの名無しさん:2008/04/22(火) 09:17:03
英語版でさえ6月?とかだからなぁ
462デフォルトの名無しさん:2008/04/22(火) 22:58:55
原書買おうぜ!
463デフォルトの名無しさん:2008/04/24(木) 16:46:58
opencv+マルチスレッドなコードを作っているんですが、
それぞれのスレッドでウィンドウを作成し、
cvwaitkeyやると

Xlib: unexpected async reply

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

解決するにはどうすれば良いでしょうか。
またOpenCV+マルチスレッドのサンプルコード、
記載されているページまたは書籍などご存知の方いましたら教えてもらえませんか。
464デフォルトの名無しさん:2008/04/24(木) 16:52:11
ちゃんと、
XInitThreads();
g_thread_init(NULL);
してないんじゃね?
あんまOpenCVとは関係ないと思うが…
465デフォルトの名無しさん:2008/04/24(木) 18:09:58
>>464
両方とも実行していませんでした。。。

XInitThreads();
g_thread_init(NULL);
を最初に実行することで
今のところエラーメッセージも出ず動いています。
ありがとうございました。
466デフォルトの名無しさん:2008/04/27(日) 00:43:15
アラウンドビューモニタ見たいな事ってOpenCVだけで実現できるんでしょうか?
467デフォルトの名無しさん:2008/04/27(日) 16:48:25
OpenCVに直接的な関数はないけど、
要するに画像の幾何的な変換と張り合わせなんだから、
がんばればできるんじゃね?
468デフォルトの名無しさん:2008/04/28(月) 01:38:23
アラウンドビューモニタは高解像度画像の非線形変換だから、
CPUによるソフトウェア処理だけでリアルタイムの速度を出すのは難しいかもね。
GPUでテクスチャとして扱えば余裕で行けそうだけど。
469デフォルトの名無しさん:2008/04/28(月) 08:30:01
解像度はあんまり本質的な問題ではないし、
非線形変換っつっても動的なものではないので、
適当な解像度に落としてLUT作っちゃえば終わりじゃね?
470デフォルトの名無しさん:2008/04/28(月) 23:08:41
パターンマッチングするときに、ドーナツみたいな二重円の範囲で認識できますか?
471デフォルトの名無しさん:2008/04/29(火) 01:37:53
テンプレートマッチングするときに、探索範囲を矩形以外の形に指定できるか、
という質問だとしたら、それは当然無理。再帰演算しにくいから効率悪いしね。
んで、そういうことがやりたいんだったら、
二重円を包含する矩形内でマッチングとって、その相関値のマップに(その形状の)フィルタかけて最大値をだす、
とかすればいいんじゃね?

・・・もしかして、テンプレート自体をドーナツ形状にする、とかいう話だったり?
いまいち良く分からん。
472デフォルトの名無しさん:2008/05/05(月) 23:53:55
カメラではなくてキャプチャボードから直接画像を取り込もうとしています。
キャプチャボードはカメラと違って、どのチャネルから取ってくるかの選択がいると思うのですが、
(私の場合はビデオ入力から取得したいと考えています)この辺りの指定をOpenCVから
行うことはできるのでしょうか?
的外れな質問かもしれませんがよろしくお願いいたします。
473デフォルトの名無しさん:2008/05/06(火) 02:43:33
>>472
関数にはそれっぽいのは無いなぁ。でも
せっかくフリーなのでインストールしてサンプルコンパイルしてレポートしてください。
474デフォルトの名無しさん:2008/05/06(火) 03:16:33
カメラ番号でダメなのかな。
デフォルト引数ついているだけで指定していると思うけど。

LinuxならL4Vのインターフェースがあるからできそう。
highgui/cvcap_v4l.cppにコメントある。
Windowsはよく知らないけど、最悪DirectShowでブリッジしないといけないかも。
475472:2008/05/06(火) 04:57:56
>>473,474
レスありがとうございます。
Windows環境だったのですが、結局OpenCVだけで指定することは無理だと踏み、DirectShowでチャネルを選択後、
OpenCVを噛ませることで解決しました。
カメラ番号はキャプチャデバイス(ウェブカメラやキャプチャボード)が複数存在する場合に
それらの機器を選択する番号のようで、今回の場合には使えませんでした。
476デフォルトの名無しさん:2008/05/06(火) 07:31:33
>>475
レポ乙!
477デフォルトの名無しさん:2008/05/07(水) 11:45:24
"共通言語ランタイム サポート(/clr)"による処理時間への影響が起こるのはなぜでしょうか。

画像の雑音除去にラべリング処理を行っていたのですが、
cvGetReal2DやcvSet2D関数による画像の配列へのアクセスの処理時間が
かなり掛かっていたようでした。
その時、この処理時間の問題とは別の理由があって
VisualStudio2005の
プロジェクトのプロパティ→構成プロパティ→全般→共通言語ランタイム サポートを
"共通言語ランタイム サポートを使用しない" から、
"共通言語ランタイム サポート(/clr)"に
変更した所、処理時間も速くなってしまいました。
偶然解決してしまったのですが疑問が残ったので質問させていただきます。
478デフォルトの名無しさん:2008/05/07(水) 16:15:17
>>477
CLRのほうが遅いってのが常識だと思うけど、
変更したときに最適化オプションも変えていない?
cvSet2Dのような短い関数だと、関数がインライン展開される速くなると思うけど。
この話題を深く追求したいなら.NET系のスレに行ったほうがいいと思うよ。
479477:2008/05/08(木) 12:00:23
>>478
説明に重要なミスがありましたw
"共通言語ランタイム サポートを使用しない" から、
"共通言語ランタイム サポート(/clr)"に変更

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

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

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

>>CLRのほうが遅いってのが常識だと思うけど
実はこの辺りからわからなくなってくるんですよねw
.NET勉強しますwww
480デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/05/16(金) 22:58:23
>>480
ソース読め
482デフォルトの名無しさん:2008/05/20(火) 23:00:53
背景差分を行ったあと、cvMatchShapesを使って画像のマッチングを行いと思ってます。

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

2値画像をグレースケールに変換(グレースケールの形式で表示?)する方法、
もしくは2値画像でマッチングを行う方法ありませんか??
483デフォルトの名無しさん:2008/05/21(水) 20:19:10
自前でグレースケールに変換すればOK
484デフォルトの名無しさん:2008/05/21(水) 20:41:41
cvCvtColor
485デフォルトの名無しさん:2008/05/23(金) 12:13:44
もう画像処理の標準はOpenCvできまりなのか
少し前まではImageMagicだったが
486デフォルトの名無しさん:2008/05/23(金) 12:15:12
機能がぜんぜん違う。
OpenCVは最先端の学術研究の成果が常に入ってくる。
487デフォルトの名無しさん:2008/05/23(金) 12:32:51
>>486
本家のサイトみてみると
だいぶ長いこと更新されてないのだけど
本当に最新の結果が入ってるの?
shift operatorとかもあるの?
488デフォルトの名無しさん:2008/05/23(金) 12:40:11
cvs先端みとけばいいのか?
489デフォルトの名無しさん:2008/05/23(金) 12:50:09
最新は言いすぎ
更新はcvsに入ってるよ
SIFTは特許があるからダメかもしれないけど
追加機能の候補には挙がっていたよ

490デフォルトの名無しさん:2008/05/23(金) 14:07:03
最先端は無理でしょ。
でもただのウェブ屋さんとかにとっては、すんげー、ってのが入ってる
491デフォルトの名無しさん:2008/05/23(金) 23:18:36
WEB屋さん的にはGIFの読み込みに対応していれば言うこと無いのだが
CVSには入っているのだろうか?
492デフォルトの名無しさん:2008/05/27(火) 10:05:56
OpenCVでTIFFからJPEGに変換できますか?
493492:2008/05/27(火) 11:15:43
やってみました。
読めるTIFFもあるけど読めないTIFFがほとんどですね。
494デフォルトの名無しさん:2008/05/27(火) 11:35:04
>>493
TIFFは(タグ型ヘッダのお蔭もあって)方言がたくさんある。
取り敢えず、IIヘッダは読めるだろうからエンディアンの違うMMヘッダが読めるかどうかだな。
後は、圧縮方法の違いとマルチページ対応の違い辺り。
業界標準としてTIFFが使われているケースなんかだと、独自拡張されていたりするかもしれない。
495デフォルトの名無しさん:2008/05/27(火) 16:17:35
GDI+のほうが読めるTIFFは多いよ。
OpenCVは無圧縮8bit以外は全滅だった気がする。
496デフォルトの名無しさん:2008/06/02(月) 14:14:00
自作の関数をOpenCVに追加したいのですが,どうしたらいいのでしょうか.
497デフォルトの名無しさん:2008/06/02(月) 14:48:27
開発者になってください
498デフォルトの名無しさん:2008/06/02(月) 17:22:27
yahooのOpenCV グループに入って提案してくる
499デフォルトの名無しさん:2008/06/02(月) 22:24:11
私用の範囲で、自分で作成した関数を使いたいということだったのですが、
ヘッダーなどをいじれば追加可能なのでしょうか?
500デフォルトの名無しさん:2008/06/02(月) 22:25:17
なんていうか,OpenCVの質問でもない気がする
501デフォルトの名無しさん:2008/06/02(月) 22:26:08
自分でライブラリ作ればいいじゃん
OpenCVの中に自作関数入れたいなんてやるじゃん!
502デフォルトの名無しさん:2008/06/02(月) 23:07:11
>>259 の「自分で望みの関数を追加してみたら?」
の詳細が知りたいと思った次第なのですが、なにぶん知識が少ないもんで
503デフォルトの名無しさん:2008/06/02(月) 23:19:57
普通にCかC++で関数書くだけだろ
504デフォルトの名無しさん:2008/06/02(月) 23:22:21
>>502
ここで聞くよりC/C++スレに行ったほうがいいよ
サンプル作る以外に回答にしようがないから
505デフォルトの名無しさん:2008/06/02(月) 23:37:07
質問するまでもねぇだろ。
int hoge() {
return 1;
}
でもかいて呼べるかためしてみろよ。
506デフォルトの名無しさん:2008/06/02(月) 23:40:48
盛り上がっていると思ったらまたC言語もできないやつの質問かよ
507デフォルトの名無しさん:2008/06/02(月) 23:57:29
こんなのではしゃいでるのは、やはり大文字英数か
508デフォルトの名無しさん:2008/06/03(火) 11:20:33
yahooのグループは日本のyahooじゃないからね
intelのOpenCVのホームページからリンク張ってるyahoo.com内のページだからね
509デフォルトの名無しさん:2008/06/12(木) 18:54:22
'cvSetMouseCallback' : 2 番目の引数を 'CvMouseCallback (int,int,int,int,void *)' から 'CvMouseCallback' に変換できません。
サンプルをそのままコピペしてるのにこんなエラー出るんですけどなぜでしょう。
510デフォルトの名無しさん:2008/06/12(木) 19:23:39
それだけじゃなんとも…
511デフォルトの名無しさん:2008/06/12(木) 20:39:53
C言語できないやつはC言語スレにいくべき
512デフォルトの名無しさん:2008/06/13(金) 00:32:18
513デフォルトの名無しさん:2008/06/13(金) 01:18:50
>>509
エラー内容から関数ポインタの型が違うことも分からないのなら
まずC言語の基本からやったほうがいいよ。
514デフォルトの名無しさん:2008/06/13(金) 02:11:25
callback 関数の型が違うのはサンプル間違ってんじゃない
openCV本のページなのにね。昔と仕様が変わったのかな
515デフォルトの名無しさん:2008/06/13(金) 03:13:58
>>512
型が違うみたいね。
http://www.developerfusion.co.uk/forums/p/41687/140185/
の一番下。
仕様変わったんじゃない?
516デフォルトの名無しさん:2008/06/13(金) 05:37:15
517デフォルトの名無しさん:2008/06/16(月) 14:39:52
 どうも初心者です。
OpenCVを使って、彼女ができる可能性を2倍にしたいのですが、どうしたらいいですか。
518デフォルトの名無しさん:2008/06/16(月) 22:16:04
OpenCVを使えばいい
519デフォルトの名無しさん:2008/06/16(月) 23:27:57
OpenCVを使うようになって彼女はできるわ、出世するわ、人生大成功です。
・・・という事例があったら面白いなw
520デフォルトの名無しさん:2008/06/16(月) 23:34:16
>>517
基が0なら何倍しても0
521デフォルトの名無しさん:2008/06/18(水) 22:53:03
OpenCV使い始めて(2年後に)彼女できた
522デフォルトの名無しさん:2008/06/18(水) 23:08:10
OpenCVを使ってから、上司のオレを見る眼が変わった
523デフォルトの名無しさん:2008/06/19(木) 00:09:14
ウホッ
524デフォルトの名無しさん:2008/06/19(木) 07:46:05
テンプレートマッチングをサーバ上で行うのって難しいんでしょうか?
525デフォルトの名無しさん:2008/06/19(木) 12:54:19
そんなことはない
526デフォルトの名無しさん:2008/06/19(木) 13:47:03
関係ないがアクセスが多いならやばい
527デフォルトの名無しさん:2008/06/21(土) 14:34:57
>517〜523
 ご丁寧に、ありがとうございます。
皆さんの意見を参考にして、OpenCVを使って、5kgのダイエットに挑みたいとおもいます。
528デフォルトの名無しさん:2008/06/24(火) 12:28:41
OpenCVでテンプレートマッチングするとき、
指定範囲で画像を検索したいのですが、ROI設定はどのように設定すればいいですか?

CvRect searchRegion; // 探索したい範囲
IplImage *gray; // 探索先画像
IplImage *temp; // テンプレート画像
IplImage *dst; // 結果格納用

cvSetImageROI( gray, searchRegion );
cvSetImageROI( dst, searchRegion ); // これだと実行時にエラーが出る

cvMatchTemplate( gray, temp, dst, CV_TM_CCOEFF_NORMED );
529デフォルトの名無しさん:2008/06/24(火) 14:17:11
>>528
範囲指定してないだろ
530デフォルトの名無しさん:2008/06/24(火) 14:32:56
範囲指定しているのだが、エラーが出ます。

IplImage *gray; // 探索先画像
IplImage *temp; // テンプレート画像
IplImage *dst; // 結果格納用

cvSetImageROI( gray, cvRect(72,54,45,35));
cvSetImageROI( dst, cvRect(72,54,45,35)); // これだと実行時にエラーが出る

cvMatchTemplate( gray, temp, dst, CV_TM_CCOEFF_NORMED );
531デフォルトの名無しさん:2008/06/24(火) 14:46:53
>>528,530ですが、
自己解決しました。
お騒がせて、申し訳ありませんでした。
532デフォルトの名無しさん:2008/06/25(水) 01:25:02
自己解決でも原因と解決方法を書こうぜ!
533デフォルトの名無しさん:2008/06/25(水) 15:21:44
>>532
結果格納用のdstを作る時に、ROIを設定したのに↓にあるようにROIのwidthに変更
してなかったことでした。

dst = cvCreateImage(cvSize(gray->roi->width - temp->width + 1,
gray->roi->height - temp->height + 1), IPL_DEPTH_32F, 1);

そして、cvSetImageROI( dst, cvRect(72,54,45,35)); // これだと実行時にエラーが出る
この一文は不要でした。

534デフォルトの名無しさん:2008/06/25(水) 16:12:49
byte[]列に保存された画像データをIplImageに変換することは可能ですか?
535デフォルトの名無しさん:2008/06/27(金) 05:40:01
536デフォルトの名無しさん:2008/07/07(月) 18:14:33
USBカメラから取り込んだ動画をクリックして、そのクリックした場所を中心に切り出す方法が分かりません。
どなたかご教授願えませんでしょうか。
537デフォルトの名無しさん:2008/07/08(火) 18:58:23
OpenCVのエラーじゃねーな
538デフォルトの名無しさん:2008/07/08(火) 23:31:51
ご教示
539デフォルトの名無しさん:2008/07/11(金) 01:31:45
OpenCVって実はこの先衰退してく?前回のメジャーアップデートからもう2年だし
FedoraCore6以降libdc1394関連のせいでIEEE1394カメラ使えないし
Windowsじゃいいかもしれんがリポジトリ切れたような古い環境の
Linux側は使いにくくて仕方ないんじゃ?
540デフォルトの名無しさん:2008/07/11(金) 01:45:43
CVSは更新されてるし、Yahooグループのほうも繁盛しているから大丈夫じゃね
541デフォルトの名無しさん:2008/07/11(金) 01:52:39
>>539
何か代わりになるようなものはあるのかね?
542デフォルトの名無しさん:2008/07/11(金) 02:59:04
そろそろメジャーアップデートが来るよ。
インテルの代わりに別の企業がサポートに付いてゴリゴリ開発中。
543デフォルトの名無しさん:2008/07/12(土) 17:24:29
>>536
USBカメラから取り込んだ動画をクリックして、そのクリックした場所を中心に切り出せばいいんじゃないでしょうか。
544デフォルトの名無しさん:2008/07/12(土) 17:36:13
cvCreateImageで作り出したImage画像を、
cvCreateImageHeaderで作ったHeaderに変換するにはどうすればいいでしょうか?

HeaderからImageへの変換ならcvCvtColorでできるのですが
ImageからHeaderへの変換はできませんでした。

cvReshapeとcvGetMatでは
「2 番目の引数を 'IplImage *' から 'CvMat *' に変換できません。」
とエラーが出てしまいます。

CvMatをImageHeaderに変換することができれば解決すると思うんですが…
545デフォルトの名無しさん:2008/07/12(土) 17:39:22
↓エスパーよろしく
546デフォルトの名無しさん:2008/07/12(土) 23:55:10
>>544
cvCreateImageもcvCreateImageHeaderも同じIplImage*型だろ
データ部分のアロケートしてないだけだよ
ソース読め
547デフォルトの名無しさん:2008/07/13(日) 00:02:27
>>544
>cvReshapeとcvGetMatでは
CvMatとIplImageの違いが分かっているのか?
C言語分かっているか?
548544:2008/07/13(日) 17:36:34
自己解決しました。お騒がせしてすみませんでした。

>>546
データの確保しっかりしていただけに疑問だったので質問した次第でした。
ただ解決の重要なヒントになりました。ありがとうございました。
549デフォルトの名無しさん:2008/07/13(日) 19:10:42
OpenCVのcvCaptureFromAVIは限定的にしか読み取れませんが
MPEG2やflvやwmv,MPEG4などを読み取れるようにはなりませんか?
550デフォルトの名無しさん:2008/07/13(日) 19:18:24
>>549
ミリ
551デフォルトの名無しさん:2008/07/13(日) 19:54:29
>>549
ffmpegをcvCaptureFromAVIにリンクさせ形質変化させれば一応読める
拡張子をそのままで読むってのは無理

どんな動画でも読み取って編集や参照するライブラリは現在存在しない
552デフォルトの名無しさん:2008/07/14(月) 02:02:33
OpenCVのJavaライブラリ化はまだされていませんよね?
553デフォルトの名無しさん:2008/07/14(月) 06:33:28
yahoo.comのMLによれば一部のデモの移植は成功例があるらしい。
ライブラリごとは未だ。
554デフォルトの名無しさん:2008/07/14(月) 15:53:47
コンピュータビジョンをJavaでやるやつなんていないだろ
555デフォルトの名無しさん:2008/07/14(月) 18:30:01
javaでやるくらいならMATLABやるわ
556デフォルトの名無しさん:2008/07/14(月) 18:48:58
MATLABでやるくらいならpylabでやるわ

ごめん、言ってみたかっただけ。
pylabでやるくらいなら、普通にPython使うかw
557デフォルトの名無しさん:2008/07/14(月) 23:13:32
pylab を作った人たちってなんで python で数値計算やりたかったんだろうか。
ruby, perl よりなにか言語仕様の時点でやりやすいとかあるのか?
558デフォルトの名無しさん:2008/07/14(月) 23:28:25
linux+OpenCVで複数カメラからの画像キャプチャしたいんですが
OpenCVだけでは複数カメラを同時に使うことはできないようでした。

CvCapture *cap0, *cap1;
IplImage *img0, *img1;
cap0 = cvCreateCameraCapture( 0 );
cap1 = cvCreateCameraCapture( 1 );
img0=cvQueryFrame(cap0);
img1=cvQueryFrame(cap1);

な感じのことをlinux環境で実現したいんですがどうすれば桶?
559デフォルトの名無しさん:2008/07/15(火) 02:23:07
>>557
Pythonの対話モード(インタラクティブシェル)や組み込み型が、
MATLABと親和性が高かったからでないかな。
最近の言語でインタタクティブシェルが標準で用意されてるのは
Pythonくらいだし、実際結構使いやすい。
560デフォルトの名無しさん:2008/07/15(火) 10:30:31
>>554
つ「>>552
561デフォルトの名無しさん:2008/07/15(火) 17:49:27
エラーは出ないのですが、カメラの解像度が指定できません。
どうしても320*240になってしまうのですがなんでだろ? 

double w = 640, h = 480;
CvCapture *capture = 0;

capture = cvCreateCameraCapture(0);
cvSetCaptureProperty (capture, CV_CAP_PROP_FRAME_WIDTH, w);
cvSetCaptureProperty (capture, CV_CAP_PROP_FRAME_HEIGHT, h);
562デフォルトの名無しさん:2008/07/15(火) 19:02:40
563561:2008/07/15(火) 19:14:00
>>562サンクス
すでに話題になってたんですか…見落としてました。
>>217のキーワードを参考に別の方法を探します。
564デフォルトの名無しさん:2008/07/15(火) 19:26:40
>>157-158>>171-172あたりも同じ話題だな
565デフォルトの名無しさん:2008/07/15(火) 20:46:21
OpenCVに備わっている関数の中身を見ることは可能でしょうか?
566デフォルトの名無しさん:2008/07/15(火) 22:03:33
うん
567デフォルトの名無しさん:2008/07/15(火) 22:08:42
>566
ありがとうございます。
568デフォルトの名無しさん:2008/07/16(水) 02:15:55
cvCVTcolor関数のソースってどこにありますかorz
569名無し募集中。。。:2008/07/16(水) 02:57:02
C:\Program Files\OpenCV\cv\src\cvcolor.cpp(2234)
570デフォルトの名無しさん:2008/07/17(木) 14:15:44
C++で書かれた既存のソースコードがあるのですが、この中に
Cで書かれたOpenCVを利用することは可能なのでしょうか。
571デフォルトの名無しさん:2008/07/17(木) 14:17:08
可能
逆が無理なだけ
572名無し募集中。。。:2008/07/17(木) 16:23:02
逆も無理ではないと思うが
573デフォルトの名無しさん:2008/07/17(木) 16:29:07
無理ではないが無理がある場合が多いw
574デフォルトの名無しさん:2008/07/17(木) 16:44:33
ソースコードがあればどうとでもなる
575デフォルトの名無しさん:2008/07/17(木) 16:45:15
そりゃそうだ
576デフォルトの名無しさん:2008/07/18(金) 13:52:37
実際にガウシアンフィルタを行っているのはいったいどのファイルなんでしょうか?
cvsmooth.cppとかcvfilter.cppとか色々みてるんですけど一体どこで実際の作業をしているのでしょうか?
577デフォルトの名無しさん:2008/07/18(金) 14:41:22
たぶんcvfilter.cppのどこか
578しんせつなおじさん:2008/07/19(土) 11:21:08
解決していたらすみません。

ガウシアンフィルタなど、コンボリューションフィルタには、カーネル生成と、コンボリューションの計算があります。

1. cvSmooth.cpp ll.1098-ll.1124
メインソースをみると、
CvSepFilter型のgaussian_filterが定義されてその中で処理している。

2. CvSepFilter型
宣言:cv.hpp
ソース:cvfilter.cpp
カーネル生成については、上記ソースのCvSepFilter::に書いてある。
処理部CvSepFilter::processについては,cv.hppによると、CvSepFilterがCvBaseImageFilterを継承しているので、
cvfilter.cppのcvBaseImageFilter::processをみれば実際の作業が書いてある
579デフォルトの名無しさん:2008/07/19(土) 12:40:25
少し前に画像処理スレで、OpenCVのガウシアンフィルタはFFTで処理してるから速いみたいな話があったが、
実際には普通にSeparableなコンボリューションをやってるだけなんだな。
IPLを利用する場合はまた違うのかもしれないが。
580デフォルトの名無しさん:2008/07/20(日) 21:26:03
ペットボトルを認識させるために、Haartrainingを用いて、
学習データを作成しようとしたのですが、
xmlファイルではなくtxtファイルができてしまいます。

サンプル数はnpos=60,nneg=60です。

ファイル名
AdaBoostCARTHaarClassifier.txt

↓ファイルの内容です

1
1
2
18 26 4 8 0 -1
20 26 2 8 0 2
haar_x2
1.215445e-003 0 -1
1.000000e+000 -9.999974e-001
1.000000e+000

-1
-1

色んなサイトを見て回りましたが、どれもxmlファイルができる
としか書いておらず、解決法が分かりません。

どなたか解決法をご存知の方がおられましたら、教えてください。
581デフォルトの名無しさん:2008/07/21(月) 03:46:56
たいていのサイトは xml ファイルつくらねージャン、ファッキン
ってかんじでかいてるけどな。英語でぐぐれ
582デフォルトの名無しさん:2008/07/21(月) 11:25:28
>>580
それステージファイルだろ
XMLは全ステージが終わった後にできる
あと、pos,neg 60じゃペットボトルなんて認識できない
583デフォルトの名無しさん:2008/07/21(月) 12:17:06
できねーだろ。作るためのコードが sample に入ってる‘
584デフォルトの名無しさん:2008/07/21(月) 12:59:35
全部終わればできるぞ。
cvCreateTreeCascadeClassifierの最後で保存している。
585デフォルトの名無しさん:2008/07/21(月) 20:45:39
たしかカレントディレクトリにできるはず
586デフォルトの名無しさん:2008/07/22(火) 07:08:30
いや、-datで指定したディレクトリがあるディレクトリにできる
587デフォルトの名無しさん:2008/07/24(木) 20:16:41
うちのPCカメラは古いので少しボケています。
キレイにする関数がありましたら教えてください
588名無し募集中。。。:2008/07/24(木) 20:26:37
cvSmooth(src,dst,CV_BLUR
589デフォルトの名無しさん:2008/07/24(木) 20:28:37
>>587
それが出来るくらいなら良いPCカメラを買う人はいませんよw
590デフォルトの名無しさん:2008/07/24(木) 20:33:50
ちとスレ違いではあるけど
OSSの超解像ライブラリでも出てきたら面白そうだよな
591デフォルトの名無しさん:2008/07/24(木) 22:44:32
モザイキングと超解像ってどう違うの?
592デフォルトの名無しさん:2008/07/24(木) 22:57:08
全く違うと思うが
593デフォルトの名無しさん:2008/07/25(金) 09:39:16
>>587
徘徊したり、食事の直後に飯はまだかと言ってきたりするのか。
594デフォルトの名無しさん:2008/07/25(金) 12:42:08
キレイにするため、ブラー+シャープ化、エッジを係数にしたフィルタなどを試しています。
超解像はわかりません……
595デフォルトの名無しさん:2008/07/25(金) 21:56:07
cv画像を綺麗に
596デフォルトの名無しさん:2008/07/26(土) 00:05:56
PCの電源を切り
「このカメラは非常に高品質で高画質なカメラだ」
と思い込む。
そして二度とそのカメラを使用しない。

・・・完璧。
597デフォルトの名無しさん:2008/07/26(土) 17:16:55
ピンボケ画像をキレイにするアルゴリズムを思いついたが、ここに書くには余白が少なすぎる。
598デフォルトの名無しさん:2008/07/26(土) 17:23:09
フェルマー乙
599デフォルトの名無しさん:2008/07/26(土) 17:31:19
これって課長の色ボケなおすのに使えそう?
600デフォルトの名無しさん:2008/07/26(土) 17:44:17
>>599
最適
601デフォルトの名無しさん:2008/07/27(日) 02:32:47
OpenCV使って「Oppai-Detect」とかやっている人がいた

http://yusukebe.com/archives/08/07/25/083750.html
602デフォルトの名無しさん:2008/07/27(日) 02:51:02
特徴少ないから無理だろ
603デフォルトの名無しさん:2008/07/27(日) 03:30:25
>>602
お前はおっぱいの無限の可能性を分かってないな
604デフォルトの名無しさん:2008/07/27(日) 03:49:19
エフ!
605名無し募集中。。。:2008/07/27(日) 07:18:45
>>601
パンツじゃないから恥ずかしくないDetectも頼む
606デフォルトの名無しさん:2008/07/27(日) 10:56:38
こんなのでよろこんで、おめでたいよねっつって
607デフォルトの名無しさん:2008/07/28(月) 20:05:50
おまえらならどうやっておっぱいを認識するの
608デフォルトの名無しさん:2008/07/28(月) 20:16:34
鼻の穴にチクビをはめてみる。
609デフォルトの名無しさん:2008/07/29(火) 00:44:09
顔を認識して
顔からの距離と色ヒストグラムを学習させる
610デフォルトの名無しさん:2008/07/30(水) 21:09:48
自動モザイクを夢見て陰毛detectに挑戦したが挫折した
611デフォルトの名無しさん:2008/07/30(水) 22:58:06
髪の毛にもモザイクかかるとか?
ってか陰毛だけモザイクしてもしょうがなくね?
612デフォルトの名無しさん:2008/07/30(水) 23:33:16
むしろ(近年の日本では)陰毛は掛ける必要が無いようだな
613デフォルトの名無しさん:2008/07/30(水) 23:53:40
アメリカだと剃るしな。
614デフォルトの名無しさん:2008/08/02(土) 16:45:53
MFCで作成されたカメラ(IEEE1394)からの取り込み用のソースコードを
いじって画像処理部にOpenCVが使えないか試しています。

MFCを使ったことがなかったので外してるかも知れませんが、CCaptureDoc.hに
IplImageと画像用バッファの宣言をして、そのメンバ関数OpenCV_Processing()で
処理を行う予定です。

それでOpenCV_Processing()を呼びだしたらcvCvtColor()の部分で以下のエラーで
止まってしまいます。
なにか解決策がありましたら教えて頂けないでしょうか。よろしくお願いします。


下のコードの(A)の部分で下記のエラーがでて止まってしまいます。
------------------------------------------------------------------------
OpenCV GUI ErrorHandler
------------------------------------------------------------------------
Bad flag (parameter or structure field) (Unrecognized or unsupported array type)
in function cvGetMat, C:\User\VP\opencv\cxcore\src\cxarray.cpp(2881)
------------------------------------------------------------------------
615614:2008/08/02(土) 16:47:11
------------------------------------------------------------------------
☆CCpatureDoc.h
class CCaptureDoc : public CDocument
{
public:
IplImage* cv_image; // OpenCVの画像
IplImage* cv_image2; // OpenCVの画像
char* pBuf1; // 画像データ用
char* pBuf2;
void OpenCV_Processing( );
〜(略)〜
}
616614:2008/08/02(土) 16:48:00
------------------------------------------------------------------------
☆CCaptureDoc.cpp
CFlyCapDoc::doGrabLoop(){ // 専用カメラ(IEEE1394)からの取り込みループ
〜(略)〜
OpenCV_Processing( )
〜(略)〜
}
CCaptureDoc::OpenCV_Processing( )
{
// メモリ領域を確保 (あ)
pBuf1 = new char[ 640 * 480 * 4 ];
pBuf2 = new char[ 640 * 480 * 4 ];
// OpenCV画像の作成(8ビット4チャネル)
cv_image = cvCreateImage( cvSize( 640, 480), IPL_DEPTH_8U, 4);
// OpenCV画像の作成(8ビット1チャネル)
cv_image2 = cvCreateImage( cvSize( 640, 480), IPL_DEPTH_8U, 1);
// バッファをIPLのイメージ保存部にセット (い)  (あ)と(い)の部分は必要ない?
cv_image->imageData = pBuf1;
cv_image2->imageData = pBuf2;
// 0をセットしてみる
cvSetZero(cv_image);
cvSetZero(cv_image2);
// (A) OpenCVの関数が使えるかテスト。ここでエラーがでる <=== (A)
cvCvtColor(cv_image->imageData, cv_image2->imageData, CV_BGR2GRAY);
〜(略)〜
}
617名無し募集中。。。:2008/08/02(土) 17:12:59
cvCreateImageはメモリ確保もしてるからpBufの処理は不要だな
よく調べないで書くけどcvCvtColor(cv_image, cv_image2, CV_BGR2GRAY)じゃないのかな
618614:2008/08/02(土) 17:47:00
>>617
ありがとうございます。

> cvCreateImageはメモリ確保もしてるからpBufの処理は不要だな
なるほど。

> よく調べないで書くけどcvCvtColor(cv_image, cv_image2, CV_BGR2GRAY)じゃないのかな
はい。それでちゃんと動くようになりました。
1週間ずっと悩んでました。orz
619名無し募集中。。。:2008/08/02(土) 18:17:48
技術料5000円です
620デフォルトの名無しさん:2008/08/02(土) 22:20:41
良心的な価格だな
621デフォルトの名無しさん:2008/08/04(月) 17:42:26
やっぱりGUIなんかちゃんとしたい時はMFCと組み合わせて使うのが一番いいのかな?
Win32コンソールアプリケーションとかだと限界があるような気がする。
622デフォルトの名無しさん:2008/08/04(月) 17:45:55
いまさら MFC は無いよ (俺的には)
623名無し募集中。。。:2008/08/04(月) 22:21:42
今からやるならMFCは薦めないけど
俺はMFC(Doc&View)+OpenCVでベースを作っちゃったから不可能では無いとだけ言っておく
624デフォルトの名無しさん:2008/08/05(火) 00:59:24
コア部分DLLにしてC#だろ
625デフォルトの名無しさん:2008/08/05(火) 01:06:28
>>624
ある程度以上のもの(実験とかトイでないもの)なら俺もそうする
626デフォルトの名無しさん:2008/08/05(火) 19:18:09
なんでWin32APIじゃだめなの?
627デフォルトの名無しさん:2008/08/05(火) 19:19:52
いや、別にいいけど。
画像処理部分以外は楽したいじゃん。
628デフォルトの名無しさん:2008/08/05(火) 20:21:01
>>627
d そういうことね
まだOpenCV始めたばかりだからもっと複雑なことやろうとするとWin32APIだと
何か不具合がでるのかと不安になった
629デフォルトの名無しさん:2008/08/05(火) 21:16:23
もっと複雑なことやろうとすると「超めんどくさい」という不具合が出るよw
630デフォルトの名無しさん:2008/08/06(水) 00:32:57
>>628
Win32API使いならやろうと思えば何でもできるでしょう。
デフォルトのWin32コンソールアプリケーション(Dos窓+Windows)の間違いじゃ?
631is:2008/08/06(水) 21:36:52
はじめまして。

opencvで、cvLine()などをつかった描画するときに、
CV_RGBで色を指定できますが、
RGBではなくHSVで色を指定したい場合はどうすればいいでしょうか?

HSV->RGBに一度戻してCV_RGBで指定するしか方法はないのでしょうか?
よろしければ、ご回答お願いします。
632614:2008/08/06(水) 21:37:47
>>623
>俺はMFC(Doc&View)+OpenCVでベースを作っちゃったから不可能では無いとだけ言っておく

ちょっとアドバイスをいただきたいです。

研究室の先輩のMFCで作れらたプログラムを拡張しなきゃ
ならいんだけど、みると処理(カメラからの動画像処理)はViewのOnDrawに
全部書いてあった。

自分で調べた範囲では処理とかはDocで書いて描画をViewにというのらしいのだが違うのかな?
あとMFCで動画像処理を行う上で参考にしたサイト、本などがあったら教えてください。
633名無し募集中。。。:2008/08/06(水) 22:28:04
Doc1つにViewが複数というのがMFCの思想だけど、1対1ならばViewに書いても構わないんじゃないかな
俺はDocでメモリ上に画像を取り込んだ時にViewに更新イベントを投げてる
メニューからの画像処理などはCMainFrameでやってるけど、SDIならどこでやってもいいかも
MDIだとどのViewにフォーカスされているかでメニューが有効にならないとかあって不便
このあたりはbmpファイルを開いて表示するMDIをMFCで組むなんて文献・サイトを参考にすれば良い
あくまでMFCなんて画像処理以外の部分だからね

「動画像」って?カメラから取り込んだ静止画を毎回処理するっていうのは、たぶん動画像とは言わないと思う
634デフォルトの名無しさん:2008/08/06(水) 22:53:56
>>632
別に構わん思いますよ。Docの意味が無いアプリケーションなんていっぱいあるわけで。
635デフォルトの名無しさん:2008/08/07(木) 05:58:49
これって作る側だけでなく使う側もOpenCVインストールしてないとだめなの?
636デフォルトの名無しさん:2008/08/07(木) 10:56:35
とりあえず、スタティックリンクとダイナミックリンクについて勉強してくるんだ!
637デフォルトの名無しさん:2008/08/07(木) 13:14:09
>>635
必要無い。
例えばWindowsの場合だと、アプリと一緒にDLLを配布すればOK。
638デフォルトの名無しさん:2008/08/07(木) 21:29:23
>>636-637
ありがとう。dllさえあったら動かせれるのね
639デフォルトの名無しさん:2008/08/07(木) 23:31:27
いいえ、「動かせれる」なんて言葉はありません。
640デフォルトの名無しさん:2008/08/07(木) 23:41:49
そうでもありません
641デフォルトの名無しさん:2008/08/07(木) 23:43:34
>>639
いいえ、それは間違った日本語なので存在はしています。
642デフォルトの名無しさん:2008/08/08(金) 09:57:38
そこにしびれる
643デフォルトの名無しさん:2008/08/08(金) 10:00:13
あこがれるー
644デフォルトの名無しさん:2008/08/10(日) 09:11:09
>>632
ここ三年ほどダイアログベースでしかMFCをいじってないので忘却による勘違いをしてるかもしれないけど
Doc で処理する必要があるのは、「現在のドキュメントの状態」として実現したい場合だけなんじゃないかな

一連の操作を反映した文書をMFCの枠組みで保存・読み込みに対応させるつもりではないのならDocで処理
しなければならないということもないはず
645デフォルトの名無しさん:2008/08/13(水) 05:35:01
前から気になってたんだけど、
なんで Intel が CV ライブラリ作るの?
646デフォルトの名無しさん:2008/08/13(水) 07:31:35
なんでだろう。IntelのCUPに最適化されてる有料版IPPを売るため?
なんにせよこれからもOpenCVの開発を続けてもらわないと困る。
647デフォルトの名無しさん:2008/08/13(水) 08:32:27
Athlon以来ずっとAMD派で今もPhenom X4使ってますサーセンwww
648デフォルトの名無しさん:2008/08/13(水) 11:49:04
そこにCVライブラリがあったから
649デフォルトの名無しさん:2008/08/13(水) 14:28:56
>>645
自らCPUの正しい使い方を知らしめたいという欲求の産物であろう。
650デフォルトの名無しさん:2008/08/13(水) 18:36:55
片手間に作ってみたものの、「そういや、俺らあんま関係ねーよな?」って事で
今は開発が停滞してんじゃね?

将来的にはGoogle辺りに売り払われそう。
651デフォルトの名無しさん:2008/08/13(水) 18:39:30
Intelは昔、サウンドもやってたよな。
CPU使わせることをいろいろやってるんじゃないかと。
652デフォルトの名無しさん:2008/08/13(水) 23:43:16
はじめまして。
opencvで画像を保存する際に、cvsaveImageを使うと、アスキー形式で保存されます。
これをバイナリ形式で保存したいのですが、うまくできません。
ライブラリのコンパイルが必要なのですが、やり方がよく分からず、うまくいきません泣
詳しく教えていただけないでしょうか。

環境は、
win xp sp3
visual studio2008
c++
です。
かなり困っています。
プログラミング初心者で汗
よろしくお願いします。
653デフォルトの名無しさん:2008/08/14(木) 04:55:18
まずは、画像形式についての説明をどうぞ。
654デフォルトの名無しさん:2008/08/14(木) 06:13:46
OpenCVプログラミングブック買ってやってるんですが、カメラを使うプログラムが
サンプルプログラムをそのままコピペしても参考画像みたいに上手く認識しない
これってカメラが悪いのか参考画像はたまたま上手くいったのを集めて載せてる
だけなのかどっちですか?
655デフォルトの名無しさん:2008/08/14(木) 10:37:14
両方じゃないすか?
656デフォルトの名無しさん:2008/08/14(木) 12:08:37
顔認識なんてのは、認識系では大体そうだけど不確定要素が多すぎて、
そうそうロバストに検出できるもんじゃない。照明光の問題もあるし。
だから今でも一大研究分野になってるんだろう。
サンプルで認識やろうとしてるって、何を目的にしてるのかな?
みんなはOpenCVって何のために使ってるの?
657デフォルトの名無しさん:2008/08/14(木) 12:16:38
認識させようとする顔が悪いんだろw

冗談さておき、日本人(アジア人種)の顔は、白人用に調整された顔認識では苦手だと思われるね。
658デフォルトの名無しさん:2008/08/14(木) 17:55:00
■■みんなでサイトつくろうぜwwwwwwwwwwwwwwww■■
「お前ら一緒にサイト作ろうぜwwwwwwwwww」
「2ちゃん越えるサイト作ろうぜwwww」

http://gacco.o0o0.jp/
http://yutori.2ch.net/test/read.cgi/news4vip/1218673130/
http://ex14.vip2ch.com/test/read.cgi/part4vip/1218612197/
興味沸いたらきてください!
======================!! 人材募集中 !!======================
■プログラムを組んでくれる人
 *サーバー側
  言語はRubyかPerlの予定ですが、Perlが有力候補。
  ・チャット
   定期的にクライアントから着信があり、それに対して更新されたチャットのメッセージを返信する程度の能力。じゃなくて機能。
   通信するときのフォーマットは未定。
  ・ログイン・アカウント管理
   ログイン認証、各アカウントの点数などの管理。データベースは未定。
  ・お絵描き
   未定。とりあえず鯖に負担がかからない程度にたまに画像を送信してあげるって感じで
 *クライアント側
  はっきり言って俺もわからね。Ajaxだとかflashだとかjavaだとか。
■機能提案(正しくは人材ではなく、意見?)
 「こんな機能があったら良い!」「こうするともっと楽しくなる!」などの意見募集中。
 挨拶とか気にせずスレにどんどん書き込んでくれればおk
■デザイン
 サイトのデザインを考えてくれる人、作ってくれる人募集中。
 できればphotoshop illustrator使える人(プロジェクト共有しやすいので)
659659:2008/08/18(月) 18:00:52
opencvでjpg画像の上に透明情報を持ったpng画像を
貼り付けるにはどうすればいいのでしょうか?

イメージとしては、jpg背景画像の上に、
png鳥画像を乗せるようなことがしたいです。
660デフォルトの名無しさん:2008/08/18(月) 18:06:13
やったことないけど、アルファチャンネルを使うんじゃないかな
661659:2008/08/18(月) 18:22:03
660さん、お返事ありがとうございます。

アルファチャンネルを使って自分で1ピクセルずつ
背景と前景の混ざり具合を計算して
画像を重ねていくしか方法はないのでしょうか?
662デフォルトの名無しさん:2008/08/18(月) 19:08:09
そもそも、png読み書きはアルファに対応してなかったような気がするけど。
間違ってたらすまん。
663659:2008/08/18(月) 19:26:13
662さん、お返事ありがとうございます。

そうかもしれません!
png画像を読み込んでアルファチャンネル部分だけ値を見てみると
絵とアルファチャンネルの値が対応していないようです。

png画像をそのまま貼り付けられればよかったのですが、
できないようなので別の方法を使おうと思います。
みなさん、ありがとうございました。
664デフォルトの名無しさん:2008/08/18(月) 22:21:37
とりあえず重ね合わせはcvCopyなりcvAddにマスクを指定すればいいかも
ttp://opencv.jp/sample/copying_and_filling.html
665デフォルトの名無しさん:2008/08/21(木) 21:46:24
cvmSetとcvmGetってCvMatが浮動小数点型じゃないと使えないんだな
気付かずにエラー起こしててソース見て納得

てか整数にも対応できんのになぜやらないんだ?なぞ
666659:2008/08/22(金) 01:03:08
664さん、重ね合わせはこれでうまくいきそうです!

これで、画像の上に画像を乗せて動かすことができます!

ありがとうございました。
667デフォルトの名無しさん:2008/08/22(金) 10:38:04
IplImageの矩形コピーってどうやればできますか?
まさか自力??
668デフォルトの名無しさん:2008/08/22(金) 10:46:13
cvCopy
669名無し募集中。。。:2008/08/22(金) 11:29:27
dstもsrcも同じサイズのROIを指定してcvCopyだったかな
670デフォルトの名無しさん:2008/08/22(金) 11:50:35
>>667
わざわざ ROI なんて仕組みがあるぐらいだじょー
671名無し募集中。。。:2008/08/22(金) 22:05:11
でも確かIPLじゃROIが無効なような気がしたぜ
IPLImageにはROIあるのにな
672デフォルトの名無しさん:2008/08/23(土) 08:43:35
>>645
DSP使わなくても画像処理できますからwwww って言いたかったから.
673デフォルトの名無しさん:2008/08/26(火) 03:21:08
BGR チャネルを B+G+R したりする関数ってある?
img1 と img2 の各要素毎で
(B1-B2)^2 + (G1-G2)^2 + (R1-R2)^2
ってのをちょちょいとやりたいだけなんだけど。
674デフォルトの名無しさん:2008/08/26(火) 09:44:17
cvSplit?
cvSub/cvMulとかでもできそうか
675デフォルトの名無しさん:2008/08/27(水) 22:16:02
cvSplitしてテンプレートマッチして結果マップの足し合わせ?
676デフォルトの名無しさん:2008/08/28(木) 00:05:26
やっぱり cvSub → cvMul  → cvSplit → cvAdd 2つ
とかせにゃならんのかい?
cvSub → cvMul → なんか
ですまないのかなぁと思ったんだけど。
グレースケール変換は1つの関数でできるのにねぇ。
677デフォルトの名無しさん:2008/08/28(木) 00:50:51
今現在ハフ変換を行って直線を検出しています。
それで複数の線が検出されるのですがx軸方向のみに伸びる線が
邪魔なので消したいんですがどうすればいいんでしょうか?ご教授お願いします。
678デフォルトの名無しさん:2008/08/28(木) 08:01:11
ご教示
679デフォルトの名無しさん:2008/09/02(火) 23:25:03
n個の(x, y)からなる(X, Y)群から点(a,b)と最もユークリッド距離が近い点を効率的に探すにはどうやったらいいですか?
データとしてはnx2の行列(X, Y)と1x2の行ベクトル(a, b)があります。
cvmGetしながらfor文で最小ノルムを探すしかないんでしょうか
680デフォルトの名無しさん:2008/09/03(水) 00:04:00
データ(X,Y)に拘束(ソートされてるとか)がない場合は、効率的なアルゴリズムってのはないんじゃないかな?
あんま詳しくないから自信ないけど。
行列の全データにアクセスするならcvmGet使うよりも、直接データポインタにアクセスしたほうが多少速いんじゃない?
コンパイラが最適化しやすい希ガス。
681デフォルトの名無しさん:2008/09/03(水) 01:14:26
距離の二乗で比較して√を求めない。なんていうのは当たり前として、

Nがバカでかくて、繰り返しこの検索をしないといけなくて、(X Y)が毎回全部変わるとかではない場合なら
あらかじめ適当な大きさの範囲ごとに割り振っておいて、(a b)がある範囲とその周囲だけからだけ検索するとかすれば。
(X Y)が移動するなら、範囲ごとの配置はリスト構造にしといて範囲間移動の負荷を軽減するようにするとか
状況によって最適な方法は変わるだろうし、がんばれば早くなるってもんでもないと思うけど
682679:2008/09/03(水) 01:32:15
>>680
(X, Y)はソートされてません。
ソートすると余計に時間がかかるかと思ってやっていません。

>>681
(a, b)は固定ですが、(X, Y)は毎回変わります。
Nは固定ですが、かなり巨大(1万弱)です。
683デフォルトの名無しさん:2008/09/03(水) 03:39:19
681です
毎回変わるにしても前の位置から全くかわるのか、少し動くのかとかにもよるかな。
何をするのかによってうまい方法があったりなかったりということ
でも、たかだか1万ならストレートに作って、その部分のシステム時間を計ってみてから考えてもいいんじゃないだろか
684デフォルトの名無しさん:2008/09/03(水) 04:00:41
まぁ全計算だよね。knn っしょ?
685デフォルトの名無しさん:2008/09/03(水) 15:00:18
探索開始点と終了点を指定して輪郭線を抽出する方法は無いでしょうか。
例えば、四角形の画像があったら左上の頂点から右下の頂点までの
輪郭線を抽出するというような感じです。

cvFindContours関数を使うと開始点が指定できないですし、またぐるっと
一周して終了点が開始点のところに戻ってきてしまうので、希望する処理が
できません。
686デフォルトの名無しさん:2008/09/03(水) 15:29:03
いまいち、やりたい事が分からない。
エスパー頼む。
687デフォルトの名無しさん:2008/09/03(水) 23:32:36
>>685
1. 希望するサイズのcvImageを作る。
2. cvCopy
3. 輪郭線を取るなどの処理を行う
4. 必要なら元の画像にcvCopy

こういう手順がお望み?
688デフォルトの名無しさん:2008/09/04(木) 00:08:34
>>687
それならROIだけでいいはずだから違うんじゃないか?
689デフォルトの名無しさん:2008/09/04(木) 02:09:04
>>685
その例みたいにパスが2つある場合はどっちを辿るの?
まぁ cvFindContours で輪郭みつかっているんだから、
輪郭辿っていけばいいんじゃないかな?
690デフォルトの名無しさん:2008/09/04(木) 10:32:05
>>689
「ぐるっと一周してしまうので、希望する処理ができません」
と言ってるところをみると、そういう話でもない気がするが…謎
691デフォルトの名無しさん:2008/09/04(木) 20:05:20
CV_BGR2GRAYとかの2ってtoを表してたのか。洒落てるな
692デフォルトの名無しさん:2008/09/04(木) 20:17:12
いや2とか4とか普通に使うだろ?
693デフォルトの名無しさん:2008/09/04(木) 21:13:40
今の若い者はEXE2BINとか知らんのだろう
694デフォルトの名無しさん:2008/09/04(木) 22:23:49
大昔のMacにはp2cstr()とかp2cstr()とかあった。
695デフォルトの名無しさん:2008/09/04(木) 22:29:15
>>691
おまえはプログラミングど素人か。そうなんだろうけど。
696デフォルトの名無しさん:2008/09/04(木) 22:42:01
>大昔のMacにはp2cstr()とかp2cstr()とかあった。
大事なことなので二度言いました。
697デフォルトの名無しさん:2008/09/04(木) 22:43:34
ごめんなさいp2cstr()とc2pstr()の間違いです><
698デフォルトの名無しさん:2008/09/04(木) 23:32:49
"P2P"もそうだな
699名無し募集中。。。:2008/09/05(金) 16:45:08
atoiあたりしか知らない世代なんじゃない?
700デフォルトの名無しさん:2008/09/05(金) 16:52:51
Core2Duo
701デフォルトの名無しさん:2008/09/05(金) 17:45:05
>>700
それは違(ry
702デフォルトの名無しさん:2008/09/05(金) 18:23:23
2chもだよな
703685:2008/09/06(土) 16:32:36
説明が下手で申し訳ない。
具体的に書くと
1. 画面フレームに入ってきた対象物体を背景差分で抽出する。
(ただし、対象物体が他の物体(邪魔な物体)で一部隠されている場合がある)
2.対象物体の輪郭情報を抽出し、これを事前準備した辞書データ(複数の物体の
輪郭情報を保持)と照合して一致度が高いものを選択する
ということがしたいのです。

以下の□が邪魔な物体で、三種類の丸(○,◎,●)が対象物体。
輪郭情報として●の部分を指定した場所(始点)から順序よく取りたいの
ですが、cvFindContours関数を使うと◎の部分も含んで輪郭としてとってしまうという
ことです。

 始点
□↓
□●●●●
□◎○○○●●●●
□◎○○○○○○○●●●●●
□◎○○○○○○○○○○○●
□◎○○○○○○○○○○●
□◎○○○○○○○●●●
□◎○○○●●●●
□●●●●
□↑
 終点
704デフォルトの名無しさん:2008/09/06(土) 17:58:26
>>703
ものすごく基本的な前提だけど、
□と●と◎、特に●と◎にはコンピュータが判断できるような明白な差異はあるの?

差異が無いなら cvFindContours関数の挙動は正しく、あなたはその関数を
使う以外の方法を考える必要がある。そもそも輪郭を使うという発想自体が
目的にそぐわないかもしれない。

差異があるなら cvFindContours関数のソースを探してきてその差異を考慮するように
改良すればいい。そうすれば「□に隣接する輪郭だけ消す」とか実現できるんじゃないの。
705デフォルトの名無しさん:2008/09/06(土) 19:20:26
cvFindContoursの結果からお好みの範囲だけを使えばいいんじゃない
706デフォルトの名無しさん:2008/09/09(火) 01:57:37
多変量正規分布の関数って自分で書かないといけない?
探したけどないっぽい・・・
707デフォルトの名無しさん:2008/09/09(火) 01:59:47
コンピュータヴィジョンのライブラリにそこまで期待するんだw
708デフォルトの名無しさん:2008/09/09(火) 03:11:44
つーかそんなん1行なんじゃ…?
709デフォルトの名無しさん:2008/09/09(火) 06:22:22
>>707
GMM はあるんですよ?なぜ別個の関数がないのかと。
predict のソースをみたけれど自力で書いているっぽい。
なぜ別個の関数がないのかと。
>>708
cvSub と cvTranspose と cvInverse と cvMul, cvMul の5行に
正規化項が必要なら6行だと思います。多変量ですよ。
実際、cvCreateMat などのせいでもう10行ぐらい増えそうなのが一番めんどうくさい。
710デフォルトの名無しさん:2008/09/09(火) 08:35:12
「多変量正規分布の関数」ってのが意味分からないんだけど、
それに従う乱数が欲しいって話?
んー、でも、それなら別にソースはWeb上にありそうだし、全然違う話かなぁ・・・

どっちみち>>709によると16行ぐらいで書ける(?)らしいし、
そんなにメンドくさー言わんでもいいんでないの?
711デフォルトの名無しさん:2008/09/09(火) 15:08:34
>>709
> なぜ別個の関数がないのかと

そういう目的のライブラリではないからだと思う
712デフォルトの名無しさん:2008/09/11(木) 20:59:38
cvKMeans2を使おうとしているんですが、下記のプログラムの
errorのコメントのところでコンパイルエラーがでます。
原因がさっぱり分からなく、困っています。
どこが悪いか指摘してください。
よろしくお願いします。
MyImageはIPL_DEPTH_8U 、nChannels=1,width=512,height=512
という形式で初期化も終わっており、表示させて確認しています。
     size = MyImage->width * MyImage->height;
CvMat *cv_clst_clusters = cvCreateMat (size, 1, CV_8UC1);
CvMat *cv_clst_points ;
cv_clst_points = cvCreateMat (size, 1, CV_8UC1);
int cv_clst_cnt= 0;
for( int x = 0;x< MyImage->width;x++ ){
for( int y = 0;y< MyImage->height;y++ ){
cv_clst_points->data.fl[cnt_cv_clst] = MyImage->imageData[
                              MyImage->widthStep*y + x];//error
cv_clst_cnt++;
}
}

cvKMeans2(cv_clst_points,30,cv_clst_clusters,
cvTermCriteria (CV_TERMCRIT_EPS , 10, 1.0));

713デフォルトの名無しさん:2008/09/11(木) 21:02:42
>>712
とりあえず cnt_cv_clst が宣言されてないな。
cv_clst_cnt はあるけど。
714デフォルトの名無しさん:2008/09/11(木) 21:50:16
>>713
書き込むときに、指摘されたとこがみっともなく見えて、cnt_cv_clstから
cv_clst_cntにとりあえず修正したんですが、全部直っていなかったようです・・・
↓訂正したソースです

size = MyImage->width * MyImage->height;
CvMat *cv_clst_clusters = cvCreateMat (size, 1, CV_8UC1);
CvMat *cv_clst_points ;
cv_clst_points = cvCreateMat (size, 1, CV_8UC1);
int cv_clst_cnt= 0;
for( int x = 0;x< MyImage->width;x++ ){
  for( int y = 0;y< MyImage->height;y++ ){
    cv_clst_points->data.fl[cv_clst_cnt] = MyImage->imageData[
                              MyImage->widthStep*y + x];//error
    cv_clst_cnt++;
  }
}

よろしくお願いします。
715デフォルトの名無しさん:2008/09/11(木) 22:02:56
なんにも確認しないで書くけど、
MyImage は1チャネル?
CV_8UC1 で data.fl でいいんだっけ?
716デフォルトの名無しさん:2008/09/11(木) 22:49:11
それもよくないけど、コンパイルエラーはデータ型の違いだと思う。
C言語初心者乙なのか、CvMatの仕様が分かっていないのか知らないけどリファレンス読んだほうがいい。

717715:2008/09/12(金) 00:20:15
>>714
あ、ちなみにその目的には cvReshape が使える。
入力が IplImage でも cvMat 返してくれそう。
なんにも確認してないけどね。
718デフォルトの名無しさん:2008/09/12(金) 02:08:56
ところで cvKMeans2 って中央の値 (codebook) とるインターフェースないのな。
量子化できないな。なんだかしょっぺーな。
719デフォルトの名無しさん:2008/09/12(金) 10:17:35
cvkmeans2はしょっぱいと思ったので、俺は自作した。
2週間あれば組めるでしょ。
720デフォルトの名無しさん:2008/09/12(金) 11:41:32
>>719
せっかくだからそれを公開できるレベルまで仕上げて
公開しておいてくらさい。
721デフォルトの名無しさん:2008/09/12(金) 15:21:26
>>719
2週間wwwwwwwwww
722デフォルトの名無しさん:2008/09/12(金) 16:34:42
まあ本職でやってるわけじゃないからな。
毎日ちょっとづつやってそれくらいかかったし。
それにおまいらが俺の書いたソース見たらプゲラの嵐だぞ。
723722:2008/09/12(金) 16:39:06
なんというか、忠実に
http://ibisforest.org/index.php?k-means%E6%B3%95
をコードに直しただけだ。
このスレの住人なら俺より早くつくれるだろ?
自分で書けばcodebookは配列に格納するだけだし、
中央値で何するか知らないけど操作は容易でしょ。
多次元化も直ぐだし。
724720:2008/09/12(金) 16:49:32
急ぐんならコードあげるけどどうする?
725722:2008/09/12(金) 16:50:17
失礼
>720
726720:2008/09/12(金) 21:53:47
おれは別に急いでないけど
ttp://tech.groups.yahoo.com/group/OpenCV/message/57079
の人が欲しがってた。
727デフォルトの名無しさん:2008/09/13(土) 02:47:36
cvGetCol はあるのに cvSetCol がないのはなぜだ?><
728デフォルトの名無しさん:2008/09/13(土) 08:53:16
そんなの当たり前だろ
729デフォルトの名無しさん:2008/09/13(土) 13:08:16
なにが当たり前?
730デフォルトの名無しさん:2008/09/13(土) 13:30:56
SetColが無い理由
731デフォルトの名無しさん:2008/09/13(土) 15:39:16
会話をしてください><
732デフォルトの名無しさん:2008/09/13(土) 17:57:15
>>157,171,216,561
すごく亀レスだけどこれ試してみたらどうだろう

Momma's Wiki: OpenCV/cvCaptureFromCAMでのキャプチャサイズの変更 - 未実装だったcvSetCapturePropertyでのサイズ変更について...
http://www.eml.ele.cst.nihon-u.ac.jp/~momma/wiki/wiki.cgi/OpenCV/cvCaptureFromCAM%E3%81%A7%E3%81%AE%E3%82%AD%E3%83%A3%E3%83%97%E3%83%81%E3%83%A3%E3%82%B5%E3%82%A4%E3%82%BA%E3%81%AE%E5%A4%89%E6%9B%B4.html
733デフォルトの名無しさん:2008/09/18(木) 12:13:07
opencvって停滞してたのか。
じゃあいろいろコード書いてyahooのグループに書いては
noooo
とか言われてアーカイブ消される遊びでもすっかな
734デフォルトの名無しさん:2008/09/20(土) 03:09:38
リファレンスに例文を挙げてください ><
735デフォルトの名無しさん:2008/09/20(土) 14:51:34
難しい日本語だな・・・
736デフォルトの名無しさん:2008/09/21(日) 21:18:41
>>732
任意のサイズで取り込めるようになった。
Thanks!
737デフォルトの名無しさん:2008/09/24(水) 19:29:21
質問なんだけどさ

もともとpointsに800個くらいの構造体が格納されていて、
for(){
:
       :
cvSeqPush( points, new_point );

free( new_point );
}

ってすると、freeのところで、points->totalの数が4こくらい減るんだ。
データを後ろに追加したあとは、もうnew_pointとは関係ないよね?
なんでだろう?
738デフォルトの名無しさん:2008/09/24(水) 19:43:53
cvFreeだろ
739デフォルトの名無しさん:2008/09/24(水) 19:59:12
freeでもやってることいっしょじゃん
740デフォルトの名無しさん:2008/09/24(水) 20:07:11
OpenCVが確保してるメモリはalignを調節しているから違うだろ
自分でmallocしてるなら逆にfreeじゃないと駄目だからワカラネーヨ

741デフォルトの名無しさん:2008/09/24(水) 20:38:22
それは知らなかった。ここで言うalignって何ですか?
742デフォルトの名無しさん:2008/09/24(水) 21:58:48
アライメント
743デフォルトの名無しさん:2008/09/25(木) 05:45:46
cvAllocはmallocしたポインタを16バイト境界にずらして返してる
744デフォルトの名無しさん:2008/09/25(木) 08:08:42
OpenCVにQR分解する関数はないですか?
745デフォルトの名無しさん:2008/09/25(木) 10:30:03
>>744
GNU Scientific Library (GSL)でもつかっとけ
ttp://na-inet.jp/na/gslsample/linear_system_qr.html
つか GSL はとりあえずいれとけ。
746デフォルトの名無しさん:2008/09/29(月) 14:30:28
Watershedアルゴリズムによる画像の領域分割 cvWatershed
http://opencv.jp/sample/segmentation_and_connection.html#watershed

を動かそうとするとcvWatershedが見つけられなくてビルドできません。
探してもソースが見つけられないのですが、どこにあるのでしょうか?
747デフォルトの名無しさん:2008/09/29(月) 17:42:22
>>745
ライセンスはGPLだよね・・・
748デフォルトの名無しさん:2008/09/29(月) 21:49:41
GPL・・使い物にならん
749デフォルトの名無しさん:2008/09/29(月) 23:02:09
インターレース解除する関数ってないでしょうか?
もしくは、インターレース解除に使えそうな関数などがありましたら、ご教示ください。
750名無し募集中。。。:2008/09/30(火) 03:52:07
memcpy
751デフォルトの名無しさん:2008/09/30(火) 10:56:23
ライセンス汚染気になるからGPL使えないの?
dllで別ファイルにしてもだめ?
752デフォルトの名無しさん:2008/09/30(火) 11:29:12
dll にしてもだめでしょ。
バイナリ配布しなきゃいいんだよ。っつって
753デフォルトの名無しさん:2008/09/30(火) 21:02:27
>>749

>>750とwidthStep
754749:2008/09/30(火) 23:58:00
>>750,753
ありがとうございます。

avisynsthのAutoDeintみたいなことをしたかったんですが、
なかなか難しそうですね。
その手の論文とかあるのかな・・・
755デフォルトの名無しさん:2008/10/01(水) 00:42:27
某ブログで発見
ttp://sourceforge.net/forum/forum.php?forum_id=872077

おおぅ!
756デフォルトの名無しさん:2008/10/01(水) 01:45:13
えぇこっちゃ
757デフォルトの名無しさん:2008/10/01(水) 01:47:24
ロボットベンチャーか
758デフォルトの名無しさん:2008/10/01(水) 04:10:02
ttp://engineering.stanford.edu/eday08/presenterbios.html
上から三番目の人っぽいね
759デフォルトの名無しさん:2008/10/02(木) 21:42:37
cvd.libってopencv1.0に入ってます?
cv.libならあるんですが、こいつがないので、デバッグができないです
760デフォルトの名無しさん:2008/10/02(木) 23:05:36
デバックモードでビルドしる
761デフォルトの名無しさん:2008/10/03(金) 11:47:54
cvd.libが見つかりませんってでます…
762デフォルトの名無しさん:2008/10/03(金) 11:59:17
cvd.lib をビルドする
763デフォルトの名無しさん:2008/10/03(金) 12:00:14
cvd.lib をビルド????
ごめんなさい、よくわからないです。
764デフォルトの名無しさん:2008/10/03(金) 22:09:20
>>763
_make\opencv.slnをデバッグモードやったらできない?
Ver.6.0だったらopencv.dsw
765名無し募集中。。。:2008/10/03(金) 23:02:46
opencvをdebugしようと思う人じゃないとcvd.libは無関係
766デフォルトの名無しさん:2008/10/04(土) 01:07:05
そうでもない
767デフォルトの名無しさん:2008/10/04(土) 04:28:44
OpenCVにbugがあるとは普段疑わないけど、
自分のコードがおかしくて、OpenCVのライブラリの中でそのおかしさが露呈してる場合もあるから、
OpenCVの中のコードを追っかけられたほうが簡単な場合もあると思うけどねえ。
だからcvd.libがあったほうがいい場合もあるんじゃない?
まあ、OpenCVのコードは一切読む気ありませんっていう人だったらいらないだろうけど。
768デフォルトの名無しさん:2008/10/04(土) 17:18:27
この種の「楽ができるぜイェイ!」系のライブラリで
ソースコードを読まないとかありえないだろ。

らくがきレベルのなんちゃってツールでいいなら別だが。
769デフォルトの名無しさん:2008/10/04(土) 21:08:43
>>768
ごめんなさいごめんなさい
770デフォルトの名無しさん:2008/10/04(土) 21:11:21
「楽ができるぜイェイ!」系のライブラリ
って表現は始めて聞いたw
まぁ、ライブラリ全般が楽するためにあるような気はするが
771デフォルトの名無しさん:2008/10/05(日) 00:34:09
てか普通にopencv.jp読んでも何するんだかわかりにくいからソース読んで理解したほうが楽だよね。
772デフォルトの名無しさん:2008/10/05(日) 01:12:06
流石にそれはない
773デフォルトの名無しさん:2008/10/05(日) 17:54:28
すみません、http://opencvlibrary.sourceforge.net/でcvBlobsLibを手に入れたいのですがなんか消えてしまっているようで見られません。。
他にcvBlobsLibが手に入れられところがあったら教えていただけると嬉しいです _ _
774デフォルトの名無しさん:2008/10/05(日) 18:11:35
>>773
Yahoo Groupsのにv4ならあるね。
775名無し募集中。。。:2008/10/05(日) 18:19:37
それはMFCと共存できないと書いてあるのでコッチを使った
http://chihara.naist.jp/people/STAFF/imura/products/labeling
blobじゃなくてlabelingだけど
776773:2008/10/05(日) 20:20:31
>>774-775
ありがとうございます _ _
777デフォルトの名無しさん:2008/10/05(日) 21:42:53
初めまして、今晩和
error C2664: 'cvLoadImage':1番目の引数を'IplImage *'から'const char *'に変換できません。
って出るんですけど、コレって何故なんでしょう?
一応、凡ミスは潰してあるはずなんですが・・・・
C/C++の違いかとも思ったんですが
もしかしたら凄く低レベルな事なのかも知れないのですが、お願いします

IplImage *frameImage, *src_img, *src_gray;
src_img = cvLoadImage (frameImage, CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR);
778デフォルトの名無しさん:2008/10/05(日) 21:49:58
凡ミスです。
凄く低レベルです。



ドキュメント読んでください。
779デフォルトの名無しさん:2008/10/05(日) 21:54:47
>>777
つ highgui.h
つ リファレンス

>>778
つ 旦
780777:2008/10/05(日) 22:11:39
>>778
分かりました。ドキュメント読んで出直して来ます(_ _)

>>779
highgui.h?

せっかくの777を自分が踏んでしまっている・・・・
781773:2008/10/05(日) 22:37:42
cvBlobsLib見つかったので一応貼っておきます _ _
http://code.google.com/p/derin-deli-mavi/downloads/list
こっちは別物ですがhttp://code.google.com/p/cvblob/
782名無し募集中。。。:2008/10/06(月) 14:46:53
>>781
事後報告はいつも参考になる
783デフォルトの名無しさん:2008/10/08(水) 03:36:07
一つのマークの最も外側の輪郭に対して、4連結境界線追跡を行ってそのチェーンコードが欲しいのですがどのようにしたら良いでしょうか?
8連結であればcvFindContoursを使うことで出来たのですが
よろしくお願いします
784デフォルトの名無しさん:2008/10/08(水) 15:01:58
オライリーのOpenCV本を既に手に入れた方いますか?
日本在住で。
なかなか売ってなーい。
785デフォルトの名無しさん:2008/10/08(水) 17:47:30
CvCvtColorでBGR2GRAYを用いてグレースケールに変換すると、ImageJで8-bitグレースケールに
変換するより輝度値が低くなってしまいます。
どうすれば、ImageJを用いたグレースケール値をOpenCVで得られるでしょうか?
786デフォルトの名無しさん:2008/10/08(水) 18:01:56
グレースケール変換程度なら、ImageJのソース見て、
自分で実装しても大した手間ではなさそう
787デフォルトの名無しさん:2008/10/09(木) 11:37:43
すごい可能性を感じてたのに、全然話題ないんだな。残念
俺はこれからこれで人生を賭けてみるよ
788デフォルトの名無しさん:2008/10/09(木) 11:40:43
Insufficient memory (Out of memory)in function cvalloc
とかでるんですけど、どう対処したらいいでしょうか。
789デフォルトの名無しさん:2008/10/09(木) 12:38:31
>>788
確保しようとしているメモリ量を見直す。
790デフォルトの名無しさん:2008/10/09(木) 15:37:40
独学で最近OpevCVを勉強を始めたんですが、cvLoadImageで読み込んだ画像って-127〜128で取り込まれるんですか?
どうも結果がおかしいと思って階調値を出してみたら128以上の値が出なかったので
処理の上でそれだと面倒なのですが、どうにかならないものでしょうか

読み込んで出力するだけの最低限のプログラムで確認したのでバグはないと思うんですが
791デフォルトの名無しさん:2008/10/09(木) 17:27:19
>>790
IplImage::imageData が char* だからでは?
OpenCV 以前の問題。
792デフォルトの名無しさん:2008/10/09(木) 23:35:52
793790:2008/10/10(金) 14:58:00
直りました、ありがとうございます
もう少し基礎を勉強してから画像をいじることにします

返答遅くなってしまい申し訳ないです
794デフォルトの名無しさん:2008/10/11(土) 22:05:26
「CPad for Borland C++Compiler」でOpencvを試みようとしていますが、うまくいかず
「〜を含む関数はインライン展開できない」など多く出て実行できません。
Cpadで、Opencvを使えるようにするにはどうしたらいいでしょう?
いいサイトなどもあれば教えてください。
795デフォルトの名無しさん:2008/10/11(土) 22:33:13
>>794
先ずはbccを捨てましょう。
796デフォルトの名無しさん:2008/10/11(土) 22:49:37
っVC++2008 Express
797デフォルトの名無しさん:2008/10/12(日) 01:17:18
cvCreateCameraCaptureの引数の番号変えても2台目以降のwebカメラからデータが取れんぞい
798デフォルトの名無しさん:2008/10/12(日) 02:02:39
あるある。
799デフォルトの名無しさん:2008/10/12(日) 08:26:10
>>797
USBの転送速度を絞るといけるらしい。
それかUSB拡張ボード増設w
800デフォルトの名無しさん:2008/10/14(火) 16:21:32
xmlを作っていてエラーがでるので、調べてみると
haartraining.exeを再コンパイルする必要があることがわかりました。
手順がわからないのでどなたか うpしてくれませんか?
801デフォルトの名無しさん:2008/10/15(水) 01:04:47
vc++ の project ファイルなかったっけ?
それダブルクリックしてビルドすればいけんじゃね?
802デフォルトの名無しさん:2008/10/15(水) 03:54:26
>>800
再コンパイルは必要ないと思うが古い情報じゃないの。
ちなみに_makeのしたのプロジェクトをVC++ 2008で開けばビルドできます。
803デフォルトの名無しさん:2008/10/15(水) 11:12:38
chihara-labにあるやり方でキャリブレーションを行うとしているのですが、
あそこでいう実空間座標というのはどういった座標なのでしょうか?
804デフォルトの名無しさん:2008/10/15(水) 23:43:11
OPENCVのソースって読めませんか?
805デフォルトの名無しさん:2008/10/15(水) 23:52:13
読めるに決まってるジャン。Open じゃん。
806デフォルトの名無しさん:2008/10/15(水) 23:52:47
たとえば、GOODFEATURETRACK という関数があって、この関数で何をしているのか、中身を見たいんですよ。
807デフォルトの名無しさん:2008/10/15(水) 23:54:44
中身を見ればいいじゃん。Open じゃん。
808デフォルトの名無しさん:2008/10/16(木) 06:00:21
Intel のサイトから OpenCV のコンテンツ消え始めたな
809デフォルトの名無しさん:2008/10/16(木) 11:25:04
いったいなにがおきているんです?
810デフォルトの名無しさん:2008/10/16(木) 13:04:15
OpenCV有料化
811デフォルトの名無しさん:2008/10/16(木) 13:08:54
>>810
ソースは??
812デフォルトの名無しさん:2008/10/16(木) 13:20:42
>>810
有料化?なんのこっちゃ。
>>755 管理する団体が変わるんだろ?

opencv 1.1pre1 出たみたいだよー。
813デフォルトの名無しさん:2008/10/16(木) 16:33:15
うおおおお 動きがあったのか
てゆうか、俺の知らないところで動いてましたか?ずっとVer1.0でやきもきしてたんだが
814デフォルトの名無しさん:2008/10/16(木) 17:49:39
まじか
最近はじめたとこだけどいいタイミングだったのかな?
815デフォルトの名無しさん:2008/10/16(木) 17:57:09
Changelogみたけど機能や使い方が大幅に変わるとかそういうのは無いよ。
816デフォルトの名無しさん:2008/10/16(木) 21:54:51
opencvを使ってウインドウキャプチャのようなことは出来るのでしょうか?
directxで描画した画像を取り込ませて画像処理することを考えているのですが
817デフォルトの名無しさん:2008/10/16(木) 23:32:23
Changelog より。おいらの琴線に触れたものだけ。
interfaces/swig/octave が追加された!
Speeded-up Robust Features (SURF) が追加された!(Better Harris Corner みたいなもん)
RANSAC が追加された!
Approximate nearest neighbor が追加された!
HIGHGUI で FFMPEG が利用可能になった!
全般的に videoInput library ってのが使われるようになった!
あとカメラキャリブレーションとか stereo correspondence とか。
818デフォルトの名無しさん:2008/10/16(木) 23:41:39
ビデオ入出力関係の関数は改善されとるのかな?
819デフォルトの名無しさん:2008/10/17(金) 00:15:07
>>818
videoInputがマージされたようだから、directshowで素直に使えるデバイスなら結構楽になるかと。
素直じゃないのはゴリゴリ書かないと無理。
820デフォルトの名無しさん:2008/10/17(金) 00:38:18
あと全体的にいろいろ高速化もしてるみたい。
特にインテルのマルチコア使ってるならかなり良くなるかも。
821デフォルトの名無しさん:2008/10/17(金) 01:21:55
>>819
おーそれはありがてぇ
822デフォルトの名無しさん:2008/10/18(土) 01:18:58
cvCalcOpticalFlowPyrLKで怪しいフローを検出しないよう
条件を厳しくしたいんだけど、どのパラメータをいじったら手っ取り早い?

823デフォルトの名無しさん:2008/10/19(日) 19:21:41
昨日挑戦し始めたけど、cvcam.libが開けないとか言われてコンパイルできんかった。。
探してもcvcam関係が見つからないので1.0にしたらコンパイルできた。
824デフォルトの名無しさん:2008/10/22(水) 15:09:02
<cv.h>をcppの先頭につけるとエラー
error C2664: 'cvFree' : 1 番目の引数を 'CvGraphScanner **' から 'void **' に変換できません。(新しい機能 ; ヘルプを参照)
とでます。
原因に心当たりはないでしょうか。
825デフォルトの名無しさん:2008/10/24(金) 08:28:05
>[2009年09月30日] opencvサンプルコードの,"カメラキャリブレーション" を修正,解説を詳しくしました.

僕はこの一行に未来を感じ取りますた。
826デフォルトの名無しさん:2008/10/24(金) 11:53:42
いつのまにか、Linux版の1.1pre1もでてるんだね
827679:2008/10/29(水) 22:50:57
WarpAffineの行列成分を変数で与えて画像の拡大縮小を切り替えたいんですけど、
x方向の拡大率a、Y方向をbとすると行列は
| a 0 0 |
| 0 b 0 |
であってますよね?
aかbが1以上になると拡大がうまくいかずグレー1色になってしまいます。
縮小はきれいにできます。
WarpAffineでは縮小しかサポートされてないのでしょうか?
Resizeではウィンドウの大きさが変わってしまうので避けたいのですが、
ウィンドウサイズを変えずに拡大する方法はありますか?
828デフォルトの名無しさん:2008/10/30(木) 04:16:13
cvWarpAffineでもcvResizeでもどっちでもできるYO!
829デフォルトの名無しさん:2008/10/31(金) 00:51:24
827です。自己解決しました。
WarpAffineはインライン処理できないんですね。バッファに出してCopyで戻したら行けました。
画像処理関係はインラインできるのとできないのが混在してるんですね。全部行けると思ってました。
830デフォルトの名無しさん:2008/10/31(金) 07:40:12
インラインって何やねん
in-placeで処理可能な場合はヘルプにちゃんと書かれてる
831デフォルトの名無しさん:2008/10/31(金) 12:05:27
スレ違いかもしれませんが、H8マイコンやPICマイコンで、
OpenCVを扱って、ロボットに搭載するって出来ますか?
832デフォルトの名無しさん:2008/10/31(金) 12:57:58
マイコン用にコンパイルできるか?って意味なら、
不可能じゃないかもしれんが相当大変だと思うよ。
サイズの問題とかもあるし…試してみる気にはなれないな。
833デフォルトの名無しさん:2008/10/31(金) 13:10:03
>>832
ロボットの眼を作りたいんですが、OpenCVは不向きって事ですか?
834デフォルトの名無しさん:2008/10/31(金) 16:29:46
おとなしくPCをロボットに乗せるか、それが無理なら、画像処理は外部のPCに任せる。
ってのが一番手っ取り早いと思うよ。
マイコンでの処理に拘るなら、OpenCVは良い選択肢ではないかもね。
835デフォルトの名無しさん:2008/10/31(金) 17:02:24
>>834
参考になりました。ありがとうございます
836デフォルトの名無しさん:2008/10/31(金) 17:46:59
しかし近頃のデジカメで、ファインダー内顔を
おいかけることのできるものは、
OpenCVを組み込み用に移植したんじゃない?と
思っちゃう
837デフォルトの名無しさん:2008/10/31(金) 18:22:32
ねーよ。。カメラ会社馬鹿にすんな
838デフォルトの名無しさん:2008/10/31(金) 19:32:18
カメラ会社て…
839デフォルトの名無しさん:2008/10/31(金) 21:53:14
HarrLikeFeaturesくらい誰でも書けるだろ…
840デフォルトの名無しさん:2008/10/31(金) 22:01:49
HarrLikeFeatures に一致する情報は見つかりませんでした。

検索のヒント:

キーワードに誤字・脱字がないか確認します。
別のキーワードを試してみます。
もっと一般的なキーワードに変えてみます。
841デフォルトの名無しさん:2008/10/31(金) 22:41:44
>>830
インラインはinlineだろw
たしかマクロみたいにコンパイル時に展開される関数のこと
842デフォルトの名無しさん:2008/10/31(金) 22:44:31
インラインオブジョイトイ
843デフォルトの名無しさん:2008/10/31(金) 22:54:19
顔検出とかは意外と自前でも書けるし
特にOpenCVに依存する事もないと思うけどな
844デフォルトの名無しさん:2008/11/01(土) 00:02:33
>>843
顔検出って色でやるの?それとも目とか口とか基本パターンを追う感じで?
845デフォルトの名無しさん:2008/11/01(土) 00:10:24
OpenCVのやつは、そのどっちでもない。
>>843が自前で実装?してるやつがどうやってるかは知らん。
846デフォルトの名無しさん:2008/11/01(土) 09:11:27
haartraining.exeで、-mem 200としているにもかかわらず
起動直後にどんどんメモリを確保して、2GBに達したところ(1分ぐらいかかる)でメモリ確保に失敗して落ちます。
どんな要因が考えられるでしょうか?
Windows版の1.0と1.1pre1で両方同じ現象になりました。
ポジティブサンプルは約5000枚で、vecファイルは470MBですが、
ポジティブサンプルを100枚程度にしても落ちるまでの時間に変化がないので、画像が多すぎるからではないと思います。
847デフォルトの名無しさん:2008/11/01(土) 09:54:28
848846:2008/11/01(土) 13:14:01
32bitwindowsでプロセスが2GBまでしか確保できないのはいいのですが、
haartraining.exeが"-mem 200"による"メモリ200MB以内で処理してね"というコマンドを
無視するのが問題なのです。
849デフォルトの名無しさん:2008/11/01(土) 19:32:50
200を指定しないとどうなるの?
デフォルト200だよね
850846:2008/11/01(土) 21:58:23
200を指定せずデフォルトのままの場合も同じようにメモリを確保しまくって自滅しました。
逆に-mem 10としても同じ症状でした。
死亡時にはOpenCV GUI Error Handlerというダイアログが出るのですが、
枠だけでクライアント領域が描画されていない変なウィンドウです。
このときのメモリ使用量はタスクマネージャで見て2005MBでした。
以下は使用したオプションです。
haartraining.exe -data output -vec positives.vec -bg ..\negative.txt -npos 5106 -nneg 358 -w 240 -h 240 -mode BASIC
851デフォルトの名無しさん:2008/11/01(土) 22:22:32
-w 240 -h 240

って、でか過ぎじゃね?
852デフォルトの名無しさん:2008/11/03(月) 15:50:42
顔検出をすると、いくつか顔が検出されるんだけど
どれが最も顔に近いか知る方法ない?
853デフォルトの名無しさん:2008/11/04(火) 15:40:37
ソースをいじらない限り無理だとおも。
854デフォルトの名無しさん:2008/11/04(火) 22:17:20
いや、理論的に無理
855デフォルトの名無しさん:2008/11/04(火) 22:36:58
顔と目の位置を特定してその位置関係で精度をあげるというのを
どこかのWebプログラムでやっていたのを見つけたことがあるんだがURLを失念した。
見つけたら教えて欲しい。
856デフォルトの名無しさん:2008/11/04(火) 23:17:52
>>855
それって片方が検出失敗した時どうするの?死ぬなの?
こういう複数の分類器を組み合わせるのは理論的な
導出がなくて「やってみたら精度あがりました。」
程度の論文多くて萎える
857デフォルトの名無しさん:2008/11/05(水) 02:11:00
SURF 実装されたけど、特許とられるらしいな。
SIFT も特許あるし、いいかんじの interest point detector がないんだな。
858デフォルトの名無しさん:2008/11/05(水) 02:32:42
>>856
読んでる論文誌か学会誌のレベルが低いんじゃね?
あるいは、アプリ寄りの分野とか?
859デフォルトの名無しさん:2008/11/05(水) 02:48:44
それぐらいじゃ釣られないクマ
860デフォルトの名無しさん:2008/11/05(水) 14:55:15
>>856
「やってみたらできました」が工学。
理学部の理論屋さんは萎えるかもしれんが。
861デフォルトの名無しさん:2008/11/05(水) 15:00:11
工学の分野でも、数学的な方向からアプローチしてる人は多いと思うけどなぁ
862デフォルトの名無しさん:2008/11/05(水) 17:54:08
確かにぶっちゃけるとそんな感じなのも多いけど
まるで考察なしっていうのは流石に無い気が…
863デフォルトの名無しさん:2008/11/07(金) 15:30:36
opencvのpythonインターフェイスがバグだらけだったけど
バージョン上がってだいぶ良くなった?
864デフォルトの名無しさん:2008/11/07(金) 21:14:09
>>863
ホント?8月頃のCVSはビルドさえ通らないほど駄目駄目だったけど。
ちょっと試して見るか
865デフォルトの名無しさん:2008/11/07(金) 23:49:56
ほんと?って>863がきいているんじゃないのか?
866783:2008/11/08(土) 19:01:39
やっと出来たお。
追跡のソースのif ( *i4 != 0 )とかがドット探索だから、その条件式をif (*i4 != 0 && (s%2 == 0))にすることでできたお。
867デフォルトの名無しさん:2008/11/11(火) 18:15:24
データの構造体そのものが変更になったりしたものってある?
CvMatとかIplImageとかは変更ないよね
868デフォルトの名無しさん:2008/11/11(火) 23:58:26
>>860
>「やってみたらできました」が工学。

色々な考えがあるんだなぁ。俺は「やってみたら出来ました。この方法が上手く行くロジックは〜だと考え、
実験してみたら確かにそれでよさげです。この原理は応用できそうですよ(・∀・)」くらいまで書かないと論文に
ならないと教わったけど、最近は違うの?
869デフォルトの名無しさん:2008/11/12(水) 04:19:06
>「やってみたらできました」が工学。
こういった論文も今日では結構あるけど、
有用な論文はやっぱ理論的な導出もしっかり行っているのが事実。

ちなみにサーベイする際、
「やってみたらできました」的な論文を選ぶと、俺の指導教官は怪訝な顔をする
870デフォルトの名無しさん:2008/11/12(水) 09:58:26
OpenCV
うまくいったら
文献を
ネットで検索
コピペする
871デフォルトの名無しさん:2008/11/13(木) 16:37:03
PS3をOpenCV on the Cellとして
顔認識のサンプルプログラムを動かしてみたいのですが、
fixstarsの通りにインストールしても巧く動作しません。
(SPEが動いている気配なし)

http://cell.fixstars.com/opencv/index.php/How_to_Build

たぶんパスがちゃんと通ってません。
どなたか解決法を教えてくれませんか!!!
872デフォルトの名無しさん:2008/11/14(金) 00:11:09
パスがちゃんと通ってないんじゃない?
873デフォルトの名無しさん:2008/11/14(金) 01:26:42
874デフォルトの名無しさん:2008/11/14(金) 08:11:40
>>860
ViEW2008にorzな論文投稿したのはお前だったのか
875デフォルトの名無しさん:2008/11/14(金) 19:55:27
Canny使ってみた
やたら速いな!
あんまモジュール切ってなくて、Windows専用命令のおかげ?
俺のよりかなりいやずっと…まぁ実機用に作ったのPCで比べたんだが…
でもこんな差があるとは
876デフォルトの名無しさん:2008/11/15(土) 13:53:06
国内のしょぼい論文にいちゃもんつけて何がしたいんだ
877デフォルトの名無しさん:2008/11/15(土) 20:42:30
もともとIntelが画像処理ボートなしで画像処理できますよって
宣伝として作っていたものだからそりゃ速いだろ
878デフォルトの名無しさん:2008/11/15(土) 20:44:40
画像処理ボートってのは、どんなボートですか?
879デフォルトの名無しさん:2008/11/15(土) 20:52:31
880デフォルトの名無しさん:2008/11/15(土) 20:55:48
>>879
それは「ボード」ですよね。それなら判ります。私は>877の言うところの「ボート」について聞いているのです。
881デフォルトの名無しさん:2008/11/15(土) 21:07:48
nice boat.
882デフォルトの名無しさん:2008/11/17(月) 12:40:39
OpenCVのpython bindingはバグがあるので
美しい船の映像をお楽しみください
883デフォルトの名無しさん:2008/11/18(火) 16:38:52
くだらん
884デフォルトの名無しさん:2008/11/18(火) 20:10:24
IplImage の ImageDate[0] の位置が ver1.0 と ver1.1 では違うのは仕様ですか?
885デフォルトの名無しさん:2008/11/18(火) 20:22:40
え?
886名無し募集中。。。:2008/11/18(火) 20:48:28
IPLのバージョンってことはないよな?
887デフォルトの名無しさん:2008/11/18(火) 20:54:54
Iplimage imagedateの検索結果 6 件中 1 - 6 件目 (0.74 秒)
888デフォルトの名無しさん:2008/11/18(火) 21:50:09
構造体メンバをメモリ位置で読んでるやつが悪い
889デフォルトの名無しさん:2008/11/18(火) 22:01:14
変わってたらコンパイル済みの関数使えなくなるし
IPLの互換性がなくなると思って見たが
http://opencvlibrary.cvs.sourceforge.net/viewvc/opencvlibrary/opencv/cxcore/include/cxtypes.h?r1=1.35&r2=1.1
(365行目あたり)
変わってない。
コンパイラが違って構造体のアライメントが違ってるだけじゃないか。
890名無し募集中。。。:2008/11/18(火) 22:05:21
ImageDateって画像を取得した日時か?
そんなのあったっけ
891デフォルト。。。:2008/11/18(火) 23:38:22
「imageData」ちゃうんかい?
そしたら重要だと思うけど。
日付なんて使って何するの?
892デフォルトの名無しさん:2008/11/19(水) 00:15:46
>>889
rows と colsは無くなったよな。
IplImageではSIZE_EQのマクロが使えなくなった。
893デフォルトの名無しさん:2008/11/19(水) 01:15:28
>>892
http://opencvlibrary.cvs.sourceforge.net/viewvc/opencvlibrary/opencv/cxcore/include/cxtypes.h?r1=1.30&r2=1.31
これか。
もともとCvMat用だったマクロをIplImageに誤って使ってただけだろ。
894デフォルトの名無しさん:2008/11/19(水) 01:55:54
>>893
cvBlobslibのビルドでコケたよ。
widthとheightに置き換えてIplImage用のマクロに仕立てた。
895デフォルトの名無しさん:2008/11/19(水) 13:30:26
cvSVDで固有値、固有ベクトルを求めようと思っているのですが、
以下のようなエラーが起こってしまいます。

OpenCV ERROR: Bad flag (parameter or structure field) (Unrecognized or unsupported array type)
in function cvGetMat, cxarray.cpp(2881)

宣言の部分のソースは以下のようになっており、省略していますが
matrix[2][2]には値がちゃんと格納されています。

double matrix[2][2], eigenvals[2], eigenvects[2][2];

cvSVD(matrix, eigenvals, eigenvects, 0, CV_SVD_U_T + CV_SVD_MODIFY_A);

どのように修正すれば良いか教えていただけないでしょうか。

よろしくお願いします。
896デフォルトの名無しさん:2008/11/19(水) 13:59:30
CvMat を作りなさい
897デフォルトの名無しさん:2008/11/19(水) 18:43:02
>>884 の検証
ImageDateではなくimageDataでした
>>884では
↓画像として 数字はimageData[n]のとする
■■■■■■■■
■■■■■■■■
■■■■■■■■
89■■■■■■
01234567

がいままでのOpenCVのIplImageの画像格納仕様だった
が、OpenCV1.1では

01234567
89■■■■■■
■■■■■■■■
■■■■■■■■
■■■■■■■■

となってました.
しかし,ソースから見たわけではないので環境によっては違うかもしれません.検証は
Windows XP Professional
VC++ 2008 Express Edition
比較 OpenCV1.0 OpenCV1.1
898デフォルトの名無しさん:2008/11/19(水) 18:54:40
十字路のとこ、グレーの丸が見えるw
899デフォルトの名無しさん:2008/11/19(水) 20:05:20
iplimageのflagに逆順にするのなかった?
それがデフォルトでonなのかな
900デフォルト。。。:2008/11/19(水) 23:22:17
IplImageのヘッダoriginが上下を持っていませんか?
画像の各ピクセルにアクセスするには?@リファレンス
http://opencv.jp/opencv/document/faq.html

OpenCVプログラミングブックのサンプルコードでは
IplImageをコピーするときにoriginパラメータを見てcvFlip()かcvCopy()を選ぶ処理をしています。
901デフォルトの名無しさん:2008/11/20(木) 02:20:58
>>898
http://mathsoc.jp/publication/tushin/1003/arai10-3.pdf

>>897
それはカメラから取り込んだ画像じゃない?
>>899 >>900 だろ。


902デフォルトの名無しさん:2008/11/21(金) 13:40:28
物体認識をしようとcreatesamples.exeを動かしたのですが、
parse error
というのが出て指定の枚数を作ってくれません
何が原因なのでしょうか
903デフォルトの名無しさん:2008/11/21(金) 13:57:33
エスパーもできねぇ
904デフォルトの名無しさん:2008/11/21(金) 17:22:25
素朴な質問なんですが cvHoughCircles って二重や三重の円を
検出できないと考えて良いのでしょうか?
905デフォルトの名無しさん:2008/11/21(金) 20:02:16
できるんじゃね?
906デフォルトの名無しさん:2008/11/21(金) 23:54:01
>>902
まず正しい方法を調べて
自分の方法との違いを比較すると原因が分かると思います。
907デフォルトの名無しさん:2008/11/22(土) 00:07:49
parse errorが原因だろ
908デフォルトの名無しさん:2008/11/22(土) 00:23:03
>>902
一般的にparseする対象はXMLなのだから、
まずそこらへん問題ないか調べましょう
パーサーがPCに入ってないとか?

コマンドプロンプトからパターンファイルを作成する方法があるけど
何千枚もOK画像とNG画像を作るからすげー時間かかった
バッチとかで実行できないかな?

>>906
createsamples.exeを使うならリファレンスなどに目を通す必要ありかも
909デフォルトの名無しさん:2008/11/22(土) 00:40:59
>>904
cvHoughCircles()←この関数は使ったことないが(理論上)できるはず
ただし、円検出に適したエッジの鮮鋭化&2値化が行われていることが条件
cvSobel()だとX/Y軸に沿った直線しか鮮鋭化しないからcvLaplacian()が有望かも
910デフォルトの名無しさん:2008/11/22(土) 06:17:28
>>908
一般的ってなんだよ。
XMLパーサーはOpenCVが持ってるし、createsamplesの入力は独自のテキスト形式だ。
911デフォルトの名無しさん:2008/11/22(土) 07:57:54
>>905>>909
cvHoughCircles()はどうも一つの円を見つけ出すとその円の中に中心点が
出来る別の円は投票しないようになっている感じがする。
もう一度ちゃんと知らべてみます。
912デフォルトの名無しさん:2008/11/22(土) 17:59:12
>>911
ちゃんと投票はしてるよ。
円を決定するプロセスよりも、投票のプロセスが前にあるんだからあたりまえだけど。
でも、OpenCVの関数の場合、
最初に中心座標を決定して、次に半径を決めてるので>>911の想像とは少し違うかもしれないけど。
んで、
同じ中心をもつ(ように見なせる)円が複数ある場合は(たいていの場合そうだけど)、
その円に対する投票数の密度(に比例する値)をつかって、それがデカイ方を適切な円とみなしてる。
同心円を検出したいなら、自分で関数書くのが手っ取り早いとおも。
>>905>>909が言うみたいに、Hough変換の理論上は、もちろん検出できるんだけど。
913デフォルトの名無しさん:2008/11/22(土) 18:14:51
8bit符号なし整数値のIplImage画素値を
32bit浮動小数点のcvMatに移したいのですが、
全画素ループしてひとつひとつキャストするしかないのでしょうか?
914デフォルトの名無しさん:2008/11/22(土) 23:25:31
ConvertScaleで出来ない?
915デフォルトの名無しさん:2008/11/23(日) 10:15:56
>>912
ありがとう。
てっきり密度の閾値を使って投票処理を軽くしていると勝手に想像してた。
開票の時に同心円を省いてるんですね。
そうですね、自分で書いてみようと思う。
cvHoughCircles()は検出すべき円の最小半径と最大半径の
パラメーターがちゃんと働いてないし。
916デフォルトの名無しさん:2008/11/24(月) 10:26:06
OpenCVのcvNamedWindow関数で生成されたウィンドウを、子ウィンドウ化して、
親ウィンドウからMoveWindowで整列させたら、とんでもない座標に動いちゃう。
(しかも、毎回座標が違う?)

開発環境は、VC++2005で、OSはWinXPsp3。
コードの概要を↓に載せるけど、何が悪いか分かる人いますか??


char *szTitle[]={"カメラ1","カメラ2","カメラ3","カメラ4"};
int i;
HWND hWnd;

for(i=0; i<4; i++){

cvNamedWindow(szTitle[i], CV_WINDOW_AUTOSIZE);

if( !(hWnd = FindWindowA(NULL,szTitle[i])) ){
//〜〜エラー処理〜〜
}
else{
SetWindowLong(hWnd,GWL_STYLE,WS_CHILD | WS_VISIBLE | WS_CAPTION);
SetParent(hWnd, hParent);

MoveWindow(hWnd, .... );
}
}
917デフォルトの名無しさん:2008/11/26(水) 19:37:33
現在、2値化処理を自分で実装して効果をOpenCVと比較しています
自分でCanny処理を実装したいのですが、
cvCanny()ってどんな処理しているんですか?
ググってもなかなか引っかかりません
ご存知の方 Cannyアルゴリズムについて教えてください
数式などが載っているサイトなどを教えて頂けると最高です
918デフォルトの名無しさん:2008/11/26(水) 19:46:05
画像処理ハンドブックとかに載ってるだろ。
919デフォルトの名無しさん:2008/11/26(水) 19:54:56
920デフォルトの名無しさん:2008/11/26(水) 21:28:29
>>917
James R. Parker : Algorithms for Image Processing and Computer Vision
に解説+ソースつきで載っていた気がする。
921デフォルトの名無しさん:2008/11/27(木) 10:14:20
DLL再配布が面倒なのでスタティックリンクしたいんですが、
何か問題あるでしょうか。
ライセンス表記さえちゃんとしていれば問題ないですか?
922デフォルトの名無しさん:2008/11/28(金) 10:46:11
915です。
円のハフ変換を作ってる途中なのだが、何かウンコみたいに遅いw
cvHoughCircles()は何であんなにビュンビュン動くんだろう?
923デフォルトの名無しさん:2008/11/28(金) 19:54:15
>>922
OpenCVのソースコード読めよ
924デフォルトの名無しさん:2008/11/29(土) 10:57:56
>>923
openってことはソースが公開されてるんですね。
俺がアフォでした。
サンキュ。
925デフォルトの名無しさん:2008/11/29(土) 20:55:30
>>924
てかインストールしたら入ってるだろw
926デフォルトの名無しさん:2008/11/29(土) 21:19:49
>>922
俺はウンコも小便並みの速さで済ませることが出来るぞ
なめんな!!
927デフォルトの名無しさん:2008/11/29(土) 23:41:33
>>925>>926
(゚Д゚)
928デフォルトの名無しさん:2008/11/30(日) 06:31:05
ノートPCについてるカメラを使ってキャプチャした画像をテクスチャにするということをしてます。
で、下のような流れでやってるのですが、★の箇所にSleepやMessageBoxを入れて(環境はVCです)
カメラの起動を待ってあげないとテクスチャが真っ黒になってしまいます。
カメラが起動するまで自動で待つ方法はないでしょうか?

CvCapture* capture = cvCaptureFromCAM(0); // カメラ起動
if (capture) {
 // ★ここでカメラの起動を待たないと駄目??
 IplImage* frame = cvQueryFrame(capture); // キャプチャ
 create_texture(frame);
}
929デフォルトの名無しさん:2008/11/30(日) 06:53:35
真っ黒だったら起動していないと判定して
一定数読み直すとかじゃダメなの
930デフォルトの名無しさん:2008/11/30(日) 07:02:40
>> 929
真黒な映像をキャプチャしたい場合もあるじゃないですか!
というのは冗談ですが、もうちょっとこうエレガントな…。
そもそもカメラが起動していないのにどうしてcvQueryFrameが
きちんと値を返すのか理解できないのですが。
# 真っ黒の時のframeの値はNULLではないようです。

931デフォルトの名無しさん:2008/11/30(日) 08:01:11
>>930
そのノートPCの奴がどんなカメラか知らないけど、それってカメラ側の問題じゃないの?
起動はしてるけど、絞りが開ききってないとかの理由で受光が完全じゃない、っていう。
全くの予想だけど、その真っ暗な画像も、常に全部の画素値が00ってわけじゃないのでは?

なにが言いたいかってーと、
カメラの問題だとしたら、カメラが起動したと言い張ってる以上、
プログラム側はそれを信じるしかないので、
結局、最初の数フレームは捨てるとか、そんな方法しかないって事。

932デフォルトの名無しさん:2008/11/30(日) 08:48:10
>>931
ナルホド…。カメラは「起動してる」わけですね。
誤解してました。

ちなみにPCはVaioのZ90で、カメラというのは液晶の上に付いてるMOTION EYEです。
cvCaptureFromCAMを実行すると少し間をおいてカメラの脇の緑のランプが点くのですが、
ランプが点く前にcvQueryFrameを呼んじゃうと駄目っぽいです。
933デフォルトの名無しさん:2008/11/30(日) 13:32:17
じゃぁランプが点くまで待てよw
934デフォルトの名無しさん:2008/11/30(日) 13:40:28
ランプが点くのを検出するために別のカメラを使って、
そのランプが点くのを検出するのに別(ry
935デフォルトの名無しさん:2008/11/30(日) 13:50:21
結論: カメラが全部悪い
936デフォルトの名無しさん:2008/11/30(日) 22:06:57
>>928
ちょうどやってみたかったことをやられててワロタ
ほどよくできたら公開してみてください
937298:2008/12/01(月) 04:21:22
シャッターキー(例えばスペースキー)でフレームを取得という使い方をイメージしてたんですが、
結局、カメラはアプリケーションの最初の方であらかじめ起動しておくか、
あるいは何かキーを押したら起動して、起動の確認(シャッターを押すタイミング)は
ユーザーに任せるという感じになりそうです。

// WM_CREATE等の初期化部分でカメラを起動しておく
capture = cvCaptureFromCAM(0);

// WM_DESTROY等の終了部分で解放
cvReleaseCapture(&capture);

// SPACEキーのイベントでフレームを取得してテクスチャ生成
IplImage* frame = cvQueryFrame(capture);
IplImage* image = cvCreateImage(cvGetSize(frame), IPL_DEPTH_8U, 3);
cvFlip(frame, image, 0);
glGenTextures(1, &id);
glBindTexture(GL_TEXTURE_2D, id);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, image->width, image->height, 0, GL_BGR_EXT, GL_UNSIGNED_BYTE, image->imageData);
glTexParameterf( 略 );
gluBuild2DMipmaps(GL_TEXTURE_2D, 3, image->width, image->height, GL_BGR_EXT, GL_UNSIGNED_BYTE, image->imageData);
cvReleaseImage(&image);

938デフォルトの名無しさん:2008/12/02(火) 20:28:47
CreateMatNDの使い方だれか教えてく。
ググってもマニュアルしか引っかからない。
そんなに使い勝手悪いの?
939デフォルトの名無しさん:2008/12/03(水) 11:28:51
>>938
マニュアルに書いてるままだろ
CvMatND* cvCreateMatND( int dims, const int* sizes, int type );
type型のdims次元sizes[0] x sizes[1] x ... sizes[dims-1]の行列を作る。
940デフォルトの名無しさん:2008/12/04(木) 01:55:17
dims = n のとき
int sizes[n]={N1, N2, ----, Nn}
*mat = cvCreateMatND( N, &sizes, type)
こんな感じゃないか
941デフォルトの名無しさん:2008/12/06(土) 16:22:18
小さい画像を回転して、大きい画像に貼り付けるにはどうしたらいいものだろうか.
大きい画像内の貼り付け位置は x,y,width,height,angle で教える。
942名無し募集中。。。:2008/12/06(土) 16:28:50
小さい画像を回転してから貼り付けると余白が出来るので
マスクして元画像を取っておいてとか数ステップ必要か
大きい画像を回転してから貼り付けて元に戻すのは簡単だけど画像が劣化するな
943デフォルトの名無しさん:2008/12/06(土) 17:46:00
大きい画像内での各ピクセルが小さい画像のどこに対応するか計算して
たぶん小数になるから色は補間して求める、かな。

そうじゃなくて変換の式が知りたいってのなら
アフィン変換とかで検索すると良いかも
944デフォルトの名無しさん:2008/12/06(土) 18:20:57
>>943
うーん、大きい画像にななめ線を引くだけでもかなりめんどいと思うんだよね。
CvPoint tmp;
int dx = pt[1].x - pt[0].x;
int dy = pt[1].y - pt[0].y;
int abs_dx = abs( dx );
int abs_dy = abs( dy );
int sign_dx = CV_SIGN( dx );
int sign_dy = CV_SIGN( dy );
if( abs_dx > abs_dy ) {
 if( pt[0].x > pt[1].x ) {
  CV_SWAP( pt[0], pt[1], tmp );
  sign_dy *= -1;
 }  
 float step_y = sign_dy * abs_dy / (float)abs_dx;
 int x, y; float yy;
 for( x = pt[0].x, yy = pt[0].y; x <= pt[1].x;  x++,yy += step_y ) {
  y = cvRound( yy );
  ふんが
 }
} else {
 …
 float step_x = sign_dx * abs_dx / (float)abs_dy;
 for( …; y++, x+= step_x ) {
 …
}
ふー、やっとでけた。テストはしていない。
で、さらにもう一重ループして矩形を染めるんでしょ?うぼぁ
cvWarpAffine とかあるのに、あれ使い物にならねぇ…
945デフォルトの名無しさん:2008/12/06(土) 18:32:06
小さい画像を、回転してもはみ出さ無い程度にでかい画像の中心にコピーして、回転してターゲットにマスク付きで張り付ければいいのでは
946デフォルトの名無しさん:2008/12/06(土) 18:43:07
>>942
>大きい画像を回転してから貼り付けて元に戻すのは簡単だけど画像が劣化するな
まずそもそも回転したらはみ出した分消されちゃうよね?元に戻せないよね。

>>945
それ考えたけど、のろくなるよね?
でかいメモリ確保と、それ全体の回転。
マスク画像も同じ大きさ作って、回転しないといけない。
本来小さい画像サイズのオーダーぐらいですむのに…

cvWarpAffine とかなんではみだしてくれないんだこれ…
なかで座標計算とかいろいろやってるのに再利用できねぇ…
947デフォルトの名無しさん:2008/12/06(土) 18:48:08
cvFillPoly とかの中では大きい画像での座標取得しているだろうのに、
再利用できねぇす…
948デフォルトの名無しさん:2008/12/06(土) 19:31:29
>>946
945だけど、回転するためにコピーする先を4chの画像にしとけば、マスクも一緒に回転できんじゃないかな
すごい細長い画像とかじゃなければコピー先もそんなでかいく用意しないですむだろうし
速度重視ならいっそopenGLとかでテクスチャ(ry
949941:2008/12/07(日) 16:39:12
結局自分で書きましたさ。
まず4角だけ回転つーかアフィン変換して、そこから必要な画像サイズを取得。
そっちの画像を基点にループして、
アフィン変換の逆行列から、小さい画像オリジナルの座標を取得、代入。
って関数をまず作って、
小さい画像とマスク画像をアフィン変換したやつを作っておいて、
大きい画像に貼り付けるときも、必要な画像サイズ分だけループして、
その変換した小さい画像を貼り付けるようにした。
cvGetAffineTransform も非常に使いづらいから自分で、
trans_x, trans_y, scale_x, scale_y, angle, shear_x, shear_y
を引数にしてアフィン行列作る関数も書いたし、
こんなどうでもいいユーティリティ作るのに一日費やしてしまった。

どっかに英語で公開してあるから、いつか気になったら
cvPutImageROI.h で検索してみて。
950デフォルトの名無しさん:2008/12/09(火) 10:06:09
CvMatND で三次元データ作ったときに
3次元 == z な2次元データをとりだすことってできる?
matlab でいう A(:,:,z) みたいな。
951デフォルトの名無しさん:2008/12/09(火) 20:35:57
できる
952デフォルトの名無しさん:2008/12/09(火) 23:56:52
>>951
どうやんの?ループ回すとかはなしだぞ。
953デフォルトの名無しさん:2008/12/10(水) 01:31:44
cvVideoWriter 動かなくない?
出力されたビデオがぶっこわれてる。OpenCV 1.1pre
954sage:2008/12/10(水) 04:18:57
落としたtxt形式の学習データを使用するにはどうすればよいか教えてくださいな。


955デフォルトの名無しさん:2008/12/10(水) 06:50:12
>>954
それは OpenCV がサポートしている形式なのかい?
956デフォルトの名無しさん:2008/12/10(水) 16:50:30
957デフォルトの名無しさん:2008/12/10(水) 19:39:24
>>952
memcpy
958デフォルトの名無しさん:2008/12/10(水) 19:44:06
>>952
performance.exeの引数に指定する。
CvLoadでCvHaarClassifierCascadeが取得できるはずなのでソース読め。
959デフォルトの名無しさん:2008/12/10(水) 19:44:55
960デフォルトの名無しさん:2008/12/10(水) 23:53:05
>>956
performance.cpp は cvLoadHaarClassifierCascade() って関数で、
xml にも directory tree にも対応してる。ただし obsolete。
普通は sample/convert_cascade.c を使ってxml に変換してから
sample/facedetect.c の引数に渡す。
どうやって変換しているのかとか、xml を読んでいるのかはソースを読めばわかる。
961デフォルトの名無しさん:2008/12/10(水) 23:58:56
>>957
ってーことは cvGetRows/Cols みたいにアドレスだけ参照するようには
出来ず、コピーせざるを得ないのかな。
あと、4次元配列で3次元をインデックス指定したら、メモリ続いてないからループになる?
962デフォルトの名無しさん:2008/12/11(木) 03:19:50
>>953とは関係ないと思うけど、
1.1preのLinuxVideo周り(cvcap_ffmpeg.cpp)はだめだめ。
最近のffmpegにさっぱり対応できてない。
1.0は適時パッチ当ててしのいでたけど、もう面倒で諦めた。
963デフォルトの名無しさん:2008/12/11(木) 10:01:58
>>961
cvPtrNDは?
964デフォルトの名無しさん:2008/12/11(木) 11:51:04
>>963
それはただの1要素へのアクセスじゃ内k?
965デフォルトの名無しさん:2008/12/12(金) 01:11:15
CvMat のタイプによらず、同様の方法で
要素の値を得ることってできる?
966デフォルトの名無しさん:2008/12/12(金) 01:12:00
あ、ちなみに全部 double にぶっこみたい
967デフォルトの名無しさん:2008/12/12(金) 01:14:29
cvGet*D か。
968デフォルトの名無しさん:2008/12/12(金) 01:25:06
ん?でも cvGet*D ってのろいのか?
ループの中で使用したら、毎回タイプチェックすることになる?
うーむ
969デフォルトの名無しさん:2008/12/17(水) 07:47:09
だれか OpenCV のマクロ関数の一覧、解説つくって〜
970デフォルトの名無しさん:2008/12/17(水) 11:21:45
つ 言いだしっぺの法則
971デフォルトの名無しさん:2008/12/18(木) 10:20:22
なぜに cvConvertScale はチャネルごとにできないんだ!
cvAddS の Mul 版のような、引数が CvScalar の cvMulS はないのか!
972デフォルトの名無しさん:2008/12/18(木) 18:03:07
要するに需要が少ないからっしょ。
自作ガンガレ。
973デフォルトの名無しさん:2008/12/21(日) 18:14:33
001100
001100
111111
001100
001100
のような2値画像から
001000
001000
100000
001000
001000
のように左側のエッジだけ取り出す関数ないでしょうか。
974デフォルトの名無しさん:2008/12/21(日) 19:10:39
>>973
-101
-101
-101

みたいなカーネル定義してフィルタ処理で良くね?
975デフォルトの名無しさん:2008/12/21(日) 21:34:44
>>974
レスありがとうございます。
000000
001001
001001
000000
の場合
000000
001000
001000
000000
となりますでしょうか。
画像全体で左から1番目の画素のみ1にしたいのですが・・・
976デフォルトの名無しさん:2008/12/21(日) 21:41:37
>>975
それは単純に1行ごとに左から値を見ていって最初に出てきた0以外の数字以外無視すればいいじゃないか?
いまいち、左側のエッジを残す理由がわからん
977デフォルトの名無しさん:2008/12/21(日) 22:12:30
>>976
ラインレーザーで形状を切り出す実験してます。
レーザーの左端を検出したかったので、
普通に左からスキャンしてやってみます。
978デフォルトの名無しさん:2008/12/23(火) 23:06:47
ttp://opencv.jp/ のサイト
1.1.0pre verのページが増えてるぞ
文章の差文が知りたいな
979デフォルトの名無しさん:2008/12/24(水) 02:09:46
たすかに。何が増えたんだっけ
980デフォルトの名無しさん:2008/12/24(水) 21:14:06
981デフォルトの名無しさん:2008/12/25(木) 04:04:02
>>980
具体的な関数名書いてないね
982デフォルトの名無しさん
次スレの季節