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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
OpenCVはインテルが公開したオープンソースのコンピュータービジョンライブラリ。
現在はWillowGateが開発している。

本家
http://opencv.willowgarage.com/wiki/

日本語資料など
http://opencv.jp/
2デフォルトの名無しさん:2012/02/12(日) 19:59:10.45
2ならOpenCVは俺の嫁
3デフォルトの名無しさん:2012/02/12(日) 22:25:41.44
>>2の面倒はしっかりと我々WidowGateが見させて頂きます。
4デフォルトの名無しさん:2012/02/13(月) 10:06:52.51
これは>>1を応援する
5デフォルトの名無しさん:2012/02/21(火) 10:27:52.75
Haar-LikeじゃなくてLBPで顔検出したいんですがどこかにコピペしてパス通すだけのサンプルコードないですかね?
cv::MatじゃなくてIplImage使ってるやつでお願いします
6デフォルトの名無しさん:2012/02/21(火) 23:58:55.75
コーナー検出の処理時間をCore2 E8500、VGAサイズで計測してみたんだが、
FAST 1〜2msec
Harris 105msec
GoodFeatureTotrack(固有値) 105msec
ってハリスとGF2Tの実装遅すぎじゃね?
7デフォルトの名無しさん:2012/02/22(水) 02:52:33.31
>>5
cv::Matだけど
opencv/samples/c/facedetect.cpp
でええやろ
8デフォルトの名無しさん:2012/02/22(水) 04:36:57.90
>>7
レスありがとうございます
それ訳が分からなかったんで、cook-bookのコード使ったらとりあえず動いたけど
C++はよく分からないから出来ればCでのサンプルでお願いします
9デフォルトの名無しさん:2012/02/22(水) 08:41:57.68
>>8
まずお前が10年間C++を勉強すれば済む話だろ
10デフォルトの名無しさん:2012/02/22(水) 19:28:29.23
それ言われたらそれまでなんだけどね
C++でしかサポートしない関数とかもあるらしいし覚えるしかないんかな

これリファレンスとか微妙に見づらいし
マイクロソフトかGoogleあたりが最強の画像処理ライブラリ作ってくれんかな
11デフォルトの名無しさん:2012/02/22(水) 19:50:10.29
>>10
勉強する気がないやつは何使っても一緒だろ
12デフォルトの名無しさん:2012/02/23(木) 14:46:25.80
>>10
お前が見やすいリファレンスを書き上げればいいんじゃね?
ほかの言語用にラッパーライブラリを作り上げればいいんじゃね?
13デフォルトの名無しさん:2012/02/24(金) 10:15:23.23
14デフォルトの名無しさん:2012/02/24(金) 19:44:39.33
すみません質問です
OpenCV2.2のサンプルプログラムであるgrabcut.cppを見ているのですが
最初に与えた前景・背景情報を別の画像に用いる場合にはどの辺りを書き得ればいいのでしょうか
やりたいことの例としては
固定カメラの画像列を入力として,最初の画像で人を前景として指定
その後の画像では自動で人っぽいところを切り抜いていくといった感じにしたいと思っています
人は画面外に出ず左右に揺れる程度です
15デフォルトの名無しさん:2012/02/24(金) 22:12:19.72
そいつはコマンドラインで動くプログラムだから、
string filename = argv[1];

string filename = "ファイル名.jpg";
みたいにすればいいんじゃないか?
16デフォルトの名無しさん:2012/02/24(金) 22:23:22.59
>>15
とりあえずコードいじろうとしてたんですが今現在
imreadが変?っぽくて困ってます
string filename = "baboon.jpg";
Mat image = imread(filename,1);
で上手く読み込んでくれてないみたいで
IplImage *img = cvLoadImage("baboon.jpg");
は普通に動くのでパスは通ってそうなんですが
OpenCV入れなおしてみるのが早いでしょうか?
17デフォルトの名無しさん:2012/02/25(土) 01:30:32.28
>>13
TEOなんてスゲー久しぶりに見たな
まだ使ってる人なんて誰もいないだろ
18デフォルトの名無しさん:2012/02/25(土) 09:08:53.46
>>16

Visual Studio on Windows 環境の話しなら,

・使ってるライブラリのバージョンが正しいか
(2008用のライブラリを2010で使ったりしてないか,等)

・Debug / Release の指定とリンクしてるライブラリは正しいか

の2点をまず確認.
19デフォルトの名無しさん:2012/02/25(土) 14:46:43.59
>>17
使っているのは学生の実験や研究くらいだろ、昔も今も

TEOのEってどこだっけ?Tsukuba, Okayamaは分かるんだが
20デフォルトの名無しさん:2012/02/25(土) 15:00:51.88
EDOだったはず
21デフォルトの名無しさん:2012/03/01(木) 10:34:12.15
ついカッとなって変なこと書きこんでごめんね
いろいろ調べたけど今現在実在する環境ではOpenCVが最善ぽい
22デフォルトの名無しさん:2012/03/15(木) 00:36:39.71
今更C++みたいなクソ言語使わせるのは止めろよ
JavaかPerlかRuby当たりにしてくれ
23デフォルトの名無しさん:2012/03/15(木) 07:32:26.00
負けず劣らずの糞言語あげんなよw
24デフォルトの名無しさん:2012/03/16(金) 18:39:23.47
>>13
IPPはOpenCVと一緒に使うものだろう
25デフォルトの名無しさん:2012/03/19(月) 10:23:44.45
魚眼レンズで取った写真の復元って出来たっけか
26デフォルトの名無しさん:2012/03/19(月) 19:07:05.25
>>25
カメラキャリブレーションと3次元再構成 opencv v2.1 documentation
http://opencv.jp/opencv-2.1/cpp/camera_calibration_and_3d_reconstruction.html

できるとしたらこのへんかなぁ。3次元再構成じゃなくてカメラキャリブレーションのほうね。
魚眼レンズを通したチェスボード格子点の認識がうまくいくかどうかは知らないけど。
27デフォルトの名無しさん:2012/03/20(火) 01:43:33.72
2.2以降は歪みモデルが拡張されて、魚眼のような広角レンズでもキャリブの精度は上がってるはずだよ。
使う関数は一緒だけど。
http://pr.willowgarage.com/wiki/OpenCVMeetingNotes/Minutes%202010-09-07
28デフォルトの名無しさん:2012/03/21(水) 08:19:09.83
魚眼レンズの画像補正の実験中に自分の頭頂部が薄くなっていることに気付いて驚いた。
29デフォルトの名無しさん:2012/03/21(水) 11:10:58.01
リアルタイムで髪をふさふさに補正するビデオチャット機能の実装が急務
30デフォルトの名無しさん:2012/03/21(水) 16:23:21.45
ヅラ被ればええやろ
31デフォルトの名無しさん:2012/03/21(水) 17:12:52.26
ロマンが無いだろ
32デフォルトの名無しさん:2012/03/21(水) 18:54:06.85
ヅラ職人のロマンを馬鹿にしてんのか
33デフォルトの名無しさん:2012/03/21(水) 18:57:16.74
>>32
夢とロマンを混同するな。ズラは夢だ。
34デフォルトの名無しさん:2012/03/21(水) 21:46:05.95
ヅラの話題になった途端に、近年稀に見る盛り上がりようだな。
おまえら…
35デフォルトの名無しさん:2012/03/22(木) 10:26:28.78
リアルタイムで毛で顔全体を隠すのなら作ってもいいぞw
チャット目的ならdirectshowフィルタで実装し、メリット値(フィルタ選択優先度)最大で使ってもらうのがいいかな。
汚物が隠れて相手も喜ぶな。

ハゲ頭は特徴検出難しいからおとなしくズラにしてください。
haarcascade でトレーニングに再配布不可の画像を使った場合、
xml に画像の情報が少し含まれると思いますが
その場合はプログラムも再配布不可になりますか?
>>36
復元できないし再配布には当たらないと思うけど
利用規約があるのなら反するかもな
xmlのデータを見て、あの画像使ったな、って分かっちゃうことあるのかな?
無理でしょう
相当情報を削減してるし、不可逆だろう
haartrainingを実行しているのですが、

+----+----+-+---------+---------+---------+---------+
| N |%SMP|F| ST.THR | HR | FA | EXP. ERR|
+----+----+-+---------+---------+---------+---------+

ここまで表示され1時間ほど経過しても進む様子がありません
CPUの使用率は高いので何か作業をしているようにも見えますが、
このまま放置しておけば学習は進むのでしょうか?

画像の枚数によっては数日以上かかる
動画ファイルの指定フレームに画像を挿入する関数ってあります?
cvCreateVideoWriterで新たに動画ファイル作って元動画から1フレームずつコピって、
挿入するフレームが来たら画像入れて、また元動画から次のフレームを貼りつけてくしか無いのでしょうか?
そうするしかないだろうな 挿入なんて関数はない
やっぱり無いですよね。
ありがとうございました。
45デフォルトの名無しさん:2012/04/19(木) 01:41:55.85
赤や青やオレンジなど様々な色のピンポン玉が複数バラバラにあります。画像上の形・大きさはほぼ同じです。
赤っぽいピンポン玉がどこにいくつあるか、
オレンジっぽいピンポン玉がどこにいくつあるか、
など取得するにはどのように処理するのが最適でしょうか?
素直にテンプレートマッチングすると、輝度で判断するのでオレンジと黄色の区別があまりつきませんでした。
46デフォルトの名無しさん:2012/04/19(木) 08:09:55.64
色が違うピンポン玉なのに色を見ない理由が知りたい。
円検出、円内の色判定が素直なやり方じゃないかな?
47デフォルトの名無しさん:2012/04/19(木) 10:26:36.39
>>45
とりあえずボールっぽいのだけ全部列挙して
後で色の近さで赤や青やオレンジ(あらかじめ色のテーブルがある?)に量子化して
指定された色でフィルタすればいいのでは

48デフォルトの名無しさん:2012/04/20(金) 13:11:41.45
>>45
「素直にテンプレートマッチング」というけど具体的にはどんな手法/類似度を使った?

49デフォルトの名無しさん:2012/04/20(金) 13:51:11.45
まず、ピンポン玉に重なりがあるのかどうか
5045:2012/04/26(木) 00:12:39.48
ピンポン玉の画像を用意して、テンプレートマッチして、
結果の画像の輝度を見ました。

ピンポン玉に重なりはあります。

なので、
左にオレンジの玉(A)、真ん中に黄色の玉(B)、(B)に半分重なった黄色の玉(C)
の画像に対して、用意していた黄色のピンポン玉の画像でテンプレートマッチすると
輝度がA=0.8、B=0.99、C=0.8
くらいになって、輝度で調べるとA,Cの区別がつきません。
51デフォルトの名無しさん:2012/04/26(木) 00:31:40.97
>>50
素朴な疑問なんだけど、重なったピンポン玉の奥の方は見つける必要あるの?
テンプレートマッチングじゃ厳しいと思うんだけど。

で、肝心な内容に触れると、
グレースケールのテンプレートマッチングしかわからないなら、R,G,Bの3色でそれぞれグレースケール作れば?
3回マッチングさせて色判断すればいいと思うけど出来ない理由があるんかいな
52デフォルトの名無しさん:2012/04/26(木) 06:51:04.96
色なのにメイドって
53デフォルトの名無しさん:2012/04/26(木) 10:03:21.05
WindROOFで似たようなことやってるの見たような
重なった球体も予測してカウントするやつ
54デフォルトの名無しさん:2012/04/26(木) 10:53:46.86
>>45
先にRGB若しくはHSVでフィルターをかけた画像を準備して
抽出すればOKじゃないですか?
55デフォルトの名無しさん:2012/04/26(木) 14:01:49.22
>>51
いやカラー画像とグレースケール画像両方用意して
グレースケールで位置みつけた後にカラー側を参照して色を見ればいいだろ
56デフォルトの名無しさん:2012/04/27(金) 00:36:55.11
おすすめのopencvの本を教えて下さい。
57デフォルトの名無しさん:2012/04/27(金) 03:40:38.95
OpenCV 2 プログラミングブック
5845:2012/04/28(土) 15:02:44.23
>>54
すいません、どういった手順かよくわかりません。

>>53
しらべてみます!ありがとうございます。

>>55
それはよさそうですね。
参照して色を見る時、1ピクセルだけだと荒い画像なら黒い点とかになっちゃうので
半径nピクセルくらいの色を平均する形だと思うのですが、
こういった曖昧?な比較は、ブラーフィルタでもかけて小さなゴミを消してから
その範囲の色の平均値(単純平均ではなく偏差かな)で比べるのがベターでしょうか?
59デフォルトの名無しさん:2012/04/28(土) 20:34:20.75
>>58
そのへんは撮影環境と欲しい精度で相談して決めたほうがいいと思う。
単純にはぼかしていくつかサンプリングして平均を取って
あらかじめある?色リストとの距離を計算して一番近い色を選ぶ。
色空間も影響するのでRGBでうまくいかなければCIELABでやってみるとか。
ボールが重なっている場合は、クラスタリングしてから領域を選ぶとか。
60545:2012/04/29(日) 01:27:56.43
とりあえず、ハフ変換まで勉強したぜ。
学会発表目指して研究やるぜ。
by大学4年
61デフォルトの名無しさん:2012/05/05(土) 09:53:09.23
>>58
画像をR,G,Bに分解して
R,G,Bの閾値でルックアップテーブルを作ってフィルタリングします。
R,G,Bの画像をANDすれば2値化、若しくはグレー画像ができるので、
その画像からパターンマッチングすればよろし。
62デフォルトの名無しさん:2012/05/05(土) 23:09:12.41
RGBの画像をandして、オレンジと黄色は別パターンになるのか?
63デフォルトの名無しさん:2012/05/06(日) 03:59:59.73
何言ってるのか分からないし気にしないほうがいい
64デフォルトの名無しさん:2012/05/06(日) 08:24:29.83
オレンジ R=252,G=136,B=50
イエロー R=252,G=252,B=50
一度、RGB(HSV)分解してからフィルターかけてからcvANDすれば
当然結果は変化します。
http://chihara.naist.jp/opencv/?%BF%A7%BE%F0%CA%F3%A4%CB%A4%E8%A4%EB%CE%CE%B0%E8%C3%EA%BD%D0
http://wiki.livedoor.jp/mikk_ni3_92/d/%A5%EB%A5%C3%A5%AF%A5%A2%A5%C3%A5%D7%A5%C6%A1%BC%A5%D6%A5%EB
でわかんなければ、諦めろ
65デフォルトの名無しさん:2012/05/06(日) 10:41:18.34
66デフォルトの名無しさん:2012/05/06(日) 12:49:37.69
ルックアップテーブル、フィルタリング辺りを翻訳最適化して書き直してやんよ。
>>64は何を書きたいかと言うと
RGBの255色×255色×255色のを1600万色を減色して255段階の色にしてグレースケール画像を作る
この画像と同じように減色された元画素をパターンマッチングかければオレンジと黄色わかる。

で、明るさ変化考慮不足なんで私も>>63と同じ意見
67デフォルトの名無しさん:2012/05/06(日) 16:47:41.41
僕の解釈は、RGBそれぞれのチャンネルで2値化すると
各色の領域を抽出した画像ができるので
それに対してテンプレートマッチングを行う
同じ位置でRとGが1でBが0ならYellowだと分かる
というものだったけど
詳細を気にかけるほどよい方法とは思えなかった
68デフォルトの名無しさん:2012/05/06(日) 19:23:21.21
>>67
最初はそうかなって思ったんだけど
>>61を読んだらand取ってからパターンマッチングと書いてあった。
だから66の解釈のが近い

詳細を気にかけて時間を無駄にしたようだ
69デフォルトの名無しさん:2012/05/06(日) 21:03:01.28
>>66
>>67
cvSprit
してRGBかHSVに分解
256階調1chの画像が3つできる。
夫々にcvLut使って閾値で2値化orグレイスケール化する。
当然閾値以外は0に。
で、この3つの画像をAndしたらどうなる?
まぁ、マスクで隠したり色々手法はあるしこの方法は演算多い
からリアルタイム処理には向かんかもしれんが、フルカラーで
判別できるぞ?
これでも理解できない?
70デフォルトの名無しさん:2012/05/06(日) 21:10:50.15
あと、先にtemplateかけて内部の色を判別する方法もあるけど、
templateで取りこぼしたり、対象が多くなりすぎたり、内包した
色の平均を取るとか面倒な処理が出るんから、色は先に消してし
まったほうが処理は早いな。
まぁ、なんにしたって先に画像をグレースケールに変換したほう
が処理が楽だ。
71デフォルトの名無しさん:2012/05/07(月) 06:34:22.95
ボール検出をどうやるかって問題で
ボールの内側と外側で輝度だけ違う場合や色相だけ違う場合などもあるわけで
色を気にせず位置だけを先に見つけてそのあとに色を参照するほうが
ずっといいと思うけどな
分解とか減色とか言ってる時点でよく分からない前提を置いててまともじゃないだろ
72デフォルトの名無しさん:2012/05/09(水) 20:41:04.69
大学で配布されたファイルをVS2008で動かしてもエラーが起こるなぜでしょう・・・
http://uproda.2ch-library.com/lib524530.cpp.shtml
カメラはelecom ucam-H1S30MSV
PCはwin7 pro 64bit
キーは基本で
73デフォルトの名無しさん:2012/05/09(水) 21:50:20.70
どんなエラーなの?どこでいつエラーになるの。
74デフォルトの名無しさん:2012/05/09(水) 22:11:34.13
>>73
実行まではできます。ウィンドウが作られて少し止まった後に
OpenCV GUI Error Handler
in function cvCvtColor, .\cvcolor.cpp(2255)

Press "Abort" to terminate application.
Press "Retry" to debug(if the app is running under debugger).
Press "ignore" to continue (this is not safe).
ってのがでます
75デフォルトの名無しさん:2012/05/09(水) 22:18:17.76
>>74
たぶんframeImageのサイズが640,480じゃないんじゃね?
76デフォルトの名無しさん:2012/05/09(水) 22:32:23.20
>>75
ありがとうございます。
できればサイズをどの値に設定すればいいか教えていただけるとうれしいです。
77デフォルトの名無しさん:2012/05/09(水) 23:04:16.91
>>76
frameImageのwidthとheightを出力してみてやってもいいし、
cvGetCapturePropertyでcaptureのwidthとheight取ってもいいし

78デフォルトの名無しさん:2012/05/10(木) 00:08:35.72
>>77
double width = cvGetCaptureProperty (capture, CV_CAP_PROP_FRAME_WIDTH);
double height = cvGetCaptureProperty (capture, CV_CAP_PROP_FRAME_HEIGHT);

//グレイスケール用の宣言
char windowName1[] = "処理後1";
IplImage *resultImage1=cvCreateImage(cvSize(width,height), IPL_DEPTH_8U,1);
という感じに設定してみましたがエラーがでました
openCVとC++については超初心者なもんでよくわからないです・・・
79デフォルトの名無しさん:2012/05/10(木) 01:55:09.45
>>72のDLキーってなに?
80デフォルトの名無しさん:2012/05/10(木) 02:52:56.28
>>79
kihonです。

IplImage *resultImage1=cvCreateImage(cvSize(640,480), IPL_DEPTH_8U,1);

IplImage *resultImage1=cvCreateImage(cvGetSize(frameImage), IPL_DEPTH_8U,1);にして行を変えたらiplImageの宣言の位置を変えたら解決しました。
ありがとうございました!
81デフォルトの名無しさん:2012/05/13(日) 00:37:44.69
日本語リファレンスはOpenCV2.2までしか無いんですか?
82デフォルトの名無しさん:2012/05/13(日) 14:19:34.61
>>91
はい
最近勢いがあるから追いつてもすぐ次が出て無駄になるのだろう
83デフォルトの名無しさん:2012/05/17(木) 11:09:28.11
OpenCV2.4とVC++2010を使っているのですがSURF関連のプログラムになると動かなくなります。
サンプルに入っているfind_obj.cppは大丈夫なのですがttp://fry.no.coocan.jp/lecture/CPP/findobj.cpp
を試してみたらコンパイルは通りますが実行すると
OpenCV Error : The function/feature is not implemented (OpenCV was built without SURF support) in unknown function, file C:\slave\WinInstallerMegaPack\src\opencv\modules\legacy\src\features2d.cpp, line77
というエラーが出ます…なぜでしょうか
84デフォルトの名無しさん:2012/05/17(木) 14:06:13.56
これ以上ないくらい明確に書いてあるじゃん
85デフォルトの名無しさん:2012/05/17(木) 16:52:45.50
いまopencv2.1をarmv7でコンパイルしているのですが、cxmat.hppのabs関数のreturnでエラーが発生して困っています。
「No viable conversion 〜」というエラーです。
対処法などお心当たりありましたらよろしくお願いします。
8685:2012/05/17(木) 17:03:39.32
>>85
自己完結しました。
戻り値の型とreturnさせている変数の型が違っていたのが原因でエラーになっていたようです。
windowsでは同じソースでコンパイルできたので、根本的な解決にはならない気がしますが。。
87デフォルトの名無しさん:2012/05/17(木) 17:20:10.26
>>84
features2d.cppの77行目で定義されているsurfという変数がemptyであるということは自力で分かったのですが
どうしたらこの表示が出ないように解決できるのか教えていただけないでしょうか
先週からOpenCVを使い始めたばかりでまったくわかりません
88デフォルトの名無しさん:2012/05/17(木) 17:22:29.57
なお画像自体はちゃんと読み込まれているのは確認済みです。
後だしばかりですみません…
89デフォルトの名無しさん:2012/05/17(木) 18:16:44.82
>>83
2.4まだ手を出してないけど、
The function/feature is not implemented (OpenCV was built without SURF support)
ってあるから「OpenCV 2.4 SURF」でググったらなんか2.4から変わったみたいよ
90デフォルトの名無しさん:2012/05/17(木) 19:36:58.05
SURFとSIFTは特許の問題があるのでnonfreeに移動したって聞いたぞ
ビルド時にオプションで指定しないとビルドされてないのでは



91デフォルトの名無しさん:2012/05/21(月) 16:12:06.96
>>89>>90
遅くなりましたがnonfree関係を調べなおしてmainの冒頭に
cv::initModule_nonfree();を追加したら動くようになりました!
そしたら次はExtractSURFするとカメラでキャプチャした画像だけに対してエラーが出るというバグが…
とにかくありがとうございます!
92デフォルトの名無しさん:2012/05/21(月) 20:48:24.02
exactsurfのバグは昔からあった。解像度小さくないかい?
93デフォルトの名無しさん:2012/05/22(火) 00:34:53.55
SURFのバグは2.2くらいで修正されたような
94デフォルトの名無しさん:2012/05/22(火) 10:20:27.60
エラーメッセージをみたらincorrect size of input array () in unknown functionで
datastructs.cppの372行目に問題があるようなのですが、createseqもしてないし
storageも最後に解放していますし、子ストレージを作ってみたりもしましたが変わらずどうすればよいのかまったくお手上げです…

>>92
カメラデフォの640×480ですがまずいでしょうか?
95デフォルトの名無しさん:2012/05/22(火) 14:06:56.65
>>94
場所までわかってるなら
エラー出ないと時と出るときで何が違うのか見たら
96デフォルトの名無しさん:2012/05/23(水) 00:09:51.94
バージョン:OpenCV2.4
httpでgetしてメモリ上に展開されたjpgをcv::Mat形式で読み込みたいです。
jpgがそのまま展開されたchar*を与えるとポインタ引数、参照引数もしくは返り値としてcv::Matを返してくれる関数などありませんか?
ない場合はどのように実装すればいいですか?
よろしくお願いします。
97デフォルトの名無しさん:2012/05/23(水) 00:40:36.43
>>96
一回ファイルに書きだしちゃえば楽かな
98デフォルトの名無しさん:2012/05/23(水) 01:01:03.14
>>97
実行していませんが最終手段として考えています。
問題はいちいちHDDを動かす必要があるので繰り返し実行すると遅さが目立ちそうです。
秒間10回は走らせたいので。
99デフォルトの名無しさん:2012/05/23(水) 02:07:52.71
>>98
そっか,じゃあメモリ上のストリームを流し込むかjpgデコードを直でやるかだね
100デフォルトの名無しさん:2012/05/23(水) 19:47:48.34
>>98
HTTPでGETするのに比べればHDDへのアクセスなんて誤差レベルだと思うが…
101デフォルトの名無しさん:2012/05/23(水) 21:22:53.51
本来ディスクアクセスなしでできる・できそうなことを、使える道具の制限で
ディスクアクセス必須になるのは確かに気持ち悪いね。
常時稼働するタイプのプログラムだとHDDの寿命が…とか考えちゃうし。

ちょうどメモリ上に展開されたbmp(データが'B','M','P'から始まるビットマップファイルそのもの)に対して
同じようなことをしたいと思ってる。こっちは幸いデコードが不要なのでCreateImageHeader()で
どうこうするかヘッダを読めばなんとかなりそうだけど、JPEGはわかりませんごめんなさい役に立てなくて。
102デフォルトの名無しさん:2012/05/23(水) 23:02:23.43
なぜこのページを見ないのだ

画像をメモリ上でエンコード/デコードする
http://opencv.jp/cookbook/opencv_io.html#id9
103デフォルトの名無しさん:2012/05/23(水) 23:05:02.50
imdecodeでできるだろ
104デフォルトの名無しさん:2012/05/23(水) 23:38:29.68
クローラーなら画像捨てずに持っておいたほうがやり直したくなった時に楽だぞ

105101:2012/05/24(木) 00:33:24.36
>>102-103
おおありがとうございます!便利そうですねimdecode()!
106デフォルトの名無しさん:2012/05/24(木) 16:13:43.37
>>100
そうですね。
ローカルネットで通信するので高速なのですがHDD読み書き速度と比べるとやはりとても遅かったです。
一旦ファイルに落としこんでからimread()で読みこむことにします。

幼稚な質問に答えていただきありがとうございました。
107106:2012/05/24(木) 16:21:34.52
おっと再読み込みするの忘れてた。

>>101-103
なんと解決策が!
imdecodeはimencodeでメモリに読み込んだデータしか適用できないのだと思っていました。
Matをはさむと使えるのですね。感動しました。
ありがとうございます。
108デフォルトの名無しさん:2012/05/28(月) 00:26:58.51
ネットワーク上のmjpegファイルをOpenCVでUSBのWebカメラみたいにしてフレーム取る方法ありますか?
ちなみにNIC付きのLAN接続できるカメラを使っています。
109デフォルトの名無しさん:2012/05/31(木) 20:42:37.21
OpenCVで人と車や人とテーブルなど、複数種類のオブジェクトを検出する検出器は作れますか?
110デフォルトの名無しさん:2012/05/31(木) 21:04:26.19
頑張れば何でも作れる
111デフォルトの名無しさん:2012/05/31(木) 22:03:28.66
opencvはただの部品だから自分したいで作れるし作れない。
自分がつかいたい部品があるかどうかは本読んで調べてね
112デフォルトの名無しさん:2012/06/01(金) 18:38:39.03
単純に複数の検出器を用意して、順に読み込ませればいいだけでした
失礼しました
113デフォルトの名無しさん:2012/06/13(水) 05:50:35.55
webカメラを使いUSTREAMで配信しているものをRTMPDUMPでflvファイルにしOpenCVで吸い取りたいのですが,
OpenCVでどのように記述すれば出来るのでしょうか?
114デフォルトの名無しさん:2012/06/14(木) 16:41:28.94
もう少し詳しく
カメラでディスプレイを映して録画するってこと?
何したいのかわからないし、RTMPなんとかがわからん。
115デフォルトの名無しさん:2012/06/14(木) 16:50:17.07
うーん。全然意味わからん。
ユーストリームをカメラで配信するのと普通に動画を配信するのではフォーマットがなんか変わるの?

Opencvはどこで使いたいんだ?
flvにしたデータを読みこむのにつかいたいの?ストリームを制御するのにつかいたいの?
116デフォルトの名無しさん:2012/06/14(木) 18:02:39.87
openCV2.4.1もしくは2.4のpython用リファレンスってありますか?
検索しても2.1のしか出てこないのですが
117デフォルトの名無しさん:2012/06/14(木) 21:08:38.60
>>116
http://opencv.willowgarage.com/wiki/
「Online documentation/reference manual (C++/Python/C). 」を見てみて。
C++/Python/C を全部、1つのマニュアル(以下のサイト)に併記しているよ。
http://docs.opencv.org/
118デフォルトの名無しさん:2012/06/17(日) 16:22:31.65
画用紙にテレホンカードを載せて撮影した写真から
テレホンカードだけを抜き出したいんだけど
どういう方針で抜き出せばいいのかよくわからない

まず何をすればいいかな
ズボンはすでに脱いだ
119デフォルトの名無しさん:2012/06/17(日) 16:33:01.71
二値化して輪郭だしてそれが納まる矩形を求めて傾ければいいの?
120デフォルトの名無しさん:2012/06/17(日) 19:45:27.91
ズボンは畳んだか?

カメラとテレカの距離固定ならエッジ抽出してハフ変換なんてどうだろう?
外クケイが同じ大きさなんでわかりやすい。

あとは固定色を透過させるクロマキーは?
121デフォルトの名無しさん:2012/06/18(月) 10:25:05.35
制約条件をどの程度付けられるかが鍵なわけで、それを書いてくれないと
答えにくいんだな
122デフォルトの名無しさん:2012/06/18(月) 17:57:50.17
画像紙が自分で選べるなら色付けて抜き出すだけだな
123デフォルトの名無しさん:2012/06/18(月) 20:43:12.81
それこそ光板を画用紙がわりにするとグッド。
光板は回斥しにくいledね。

高い装置になるががんがれ
124デフォルトの名無しさん:2012/06/19(火) 10:36:24.49
回折の typo?
125デフォルトの名無しさん:2012/06/19(火) 21:26:56.59
>>118
テレカの切り抜き画像が欲しいだけと仮定して話すよ。
カメラと画用紙、テレカの位置を固定する。
そしたら画像内のテレカのCvRectを決められるから、
後は片っ端から読んでいけば良いよね

・CvRectは、カメラ出力窓に、矩形を表示させて(cvRectangle)
 上下キーで決められるようにすればおk
・トリミングはこれ見れ
http://okwave.jp/qa/q5479021.html
126デフォルトの名無しさん:2012/06/20(水) 21:59:11.25
同じサイズのグレースケール画像2種類の輝度値をそのまま差分にしたいのですが、
この場合、用いるのはaddなのでしょうか?
127デフォルトの名無しさん:2012/06/20(水) 22:29:43.21
>>126
何がしたいのかよく分からないのですが、
2つの画像をHSVに変換(cvCvtColor)して、Vのみの画像を抽出(cvSplit)
その2つのVの画像で輝度値の差分を取(cvAbsDiff)ってから、
またHとSを合体(cvMerge)させてやればいいんじゃないでしょうか
128デフォルトの名無しさん:2012/06/20(水) 23:21:27.12
>>126
なんで差分なのに足すの?
129デフォルトの名無しさん:2012/06/21(木) 09:57:04.45
待て待て、マイナスの符号を付けてから足すと言いたかったのかもしれん。
130デフォルトの名無しさん:2012/06/21(木) 10:46:29.32
何をしたいかわかってないみたいだし、もう少し様子をみよう
131デフォルトの名無しさん:2012/06/21(木) 14:17:30.67
iplImageから輝度を直接取り出して計算汁
132デフォルトの名無しさん:2012/06/22(金) 07:32:46.00
>>126
エスパーすると、2つの画像を「加算レイヤー」みたいに合成したいので
それの演算は「加算」なんだから「add」でいいんですか?という質問でしょうか?

133デフォルトの名無しさん:2012/06/23(土) 07:34:42.49
ベルファイアに当て逃げされました!
防犯カメラに写ってるけどナンバーが光で分からないんです、どなたか画像解析出来ないでしょうか?
宜しくお願いします!
http://beebee2see.appspot.com/i/azuYw7jZBgw.jpg
http://beebee2see.appspot.com/i/azuYxLjZBgw.jpg
134デフォルトの名無しさん:2012/06/23(土) 11:33:50.59
>>133
いくら出すの?
135デフォルトの名無しさん:2012/06/23(土) 11:49:18.22
59−63だな
136デフォルトの名無しさん:2012/06/24(日) 00:52:13.42
>>135
ごくろうさん ってか
137デフォルトの名無しさん:2012/06/26(火) 10:58:33.08
画像処理スレの59-63ってことだな
138デフォルトの名無しさん:2012/07/10(火) 21:21:01.51
opencvで
『CvCapture* capture = cvCaptureFromAVI("sample.avi");』
というように動画を読み込もうと思ったんですが,ビルドはできるのですが,実行すると
『0x00905a4d でハンドルされていない例外が発生しました: 0xC0000005: Access violation』
というエラーが発生してしまいます。

いろいろ調べて,Cvcapture構造体captureを不正なアドレスに確保しようとしている?らしいということはわかったのですが,対処法がわかりません.
どなたか分かる人教えていただきたいのですが.

ちなみにopencvは2.2でmicrosoft visual c++2010を用いています.
139138:2012/07/10(火) 21:36:33.73
すみませんエラーメッセージは

test.exe の 0x00905a4d で初回の例外が発生しました: 0xC0000005: Access violation
test.exe の 0x00905a4d でハンドルされていない例外が発生しました: 0xC0000005: Access violation
プログラム '[3632] test.exe: ネイティブ' はコード 0 (0x0) で終了しました。

でした.
140デフォルトの名無しさん:2012/07/10(火) 23:32:24.04
>>138
aviのパスが違うかcodecがないんじゃね?
141デフォルトの名無しさん:2012/07/10(火) 23:58:48.48
>>140
お返事ありがとうございます。
パスはあっています.作業フォルダに直においてますし,画像は同じような指定でできました.
codecについては自信がないです.
動画プレイヤー(GOMPLAYER)では再生できているのですがダメなのでしょうか.

あとサンプル動画はmicrosoftのHP↓
http://support.microsoft.com/kb/119383/jaのなかのSAMPLE.AVIを(ファイル名を小文字にして)使っているので,とくに大きすぎるとかは無いと思うのですが.
142デフォルトの名無しさん:2012/07/11(水) 00:08:53.81
同じくOpenCVで無圧縮の(=codecの問題が起きにくい)aviを作れるから先に作ってそれで試すとか?

141の書き方だと、俺視点でまだパスの疑いが晴れたわけじゃないんだよな…俺140じゃないけどね。
cvCaptureFromAVI("samprya.avi")に変えてエラーの内容が変わればいいけど。
143デフォルトの名無しさん:2012/07/11(水) 00:24:38.43
ファイル名変えても同じエラーでした。

ご指摘通り無圧縮のaviファイルを作るのを調べながら先にやってみようと思います.
とりあえず今のところいろいろ勉強してる段階なので,また何かあったら個々でお聞きするかもしれません。
その時はよろしくお願いします。
144デフォルトの名無しさん:2012/07/11(水) 00:31:57.45
いや、同じエラーならそれって…ん?
わかりにくかったかもしれないけど、変えるのはソースコードだけで、
実際のファイルをrenameしちゃダメだよ?わざとfile not foundを出したかったわけで。
まあ確認をどうするかってだけで実際可能性は低いと思うし別にいいけど。
145デフォルトの名無しさん:2012/07/11(水) 00:43:45.71
デバッグの仕方が分かんないのか、大変だね
146デフォルトの名無しさん:2012/07/11(水) 01:04:20.38
>>143
file がopenできなかったらcvCaptureFromAVIはNULLを返すはずだけどチェックしてる?
147144:2012/07/11(水) 01:10:02.09
>>145
掲示板のやり取りじゃ仮説を立ててこれじゃね?って言ったほうが(俺の)手間は少ないんだよね。

にしても無圧縮avi作るとこからやるのは流石に遠回り過ぎたね。Visual Studioでやってるならデバッガで追ってちょ。おやすみ。
148デフォルトの名無しさん:2012/07/11(水) 07:26:40.03
>>147
エスパーじゃないと無理か
149138:2012/07/11(水) 08:18:14.89
>>144
こちらこそ書き方が悪かったのですが,ソースコードの方だけファイル名を変えてやりました。


今mainの中を

CvCapture* capture = NULL;
if(NULL==(capture = cvCaptureFromAVI("sample.avi"))){
fprintf(stderr,"指定のaviファイルが見つかりませんでした.");
return -1;
}

だけにして実行しているのですがそれでも>>139のエラーが出ます。
ちなみにずっとリリースモードでやってます。なぜかデバッグモードだとリリースで実行できるプログラムもエラーが出てしまうので。
まあそれも問題なのですが。
150デフォルトの名無しさん:2012/07/11(水) 09:55:54.77
俺はAVIファイルでもcvCaptureFromFile使ってるなぁ
151138:2012/07/11(水) 10:22:21.40
cvCaptureFromFileでも同じエラーが出ます。
152デフォルトの名無しさん:2012/07/11(水) 11:05:40.01
>>141の画像、AVIだけど圧縮してあるな
153デフォルトの名無しさん:2012/07/11(水) 11:10:06.55
で?
154デフォルトの名無しさん:2012/07/11(水) 11:18:09.95
まず10年間C++を勉強しろと何度も言ってるだろ
155デフォルトの名無しさん:2012/07/11(水) 11:39:16.92
>>138
2.2.0使ってるんだったら、これとか違う?
ttp://stackoverflow.com/questions/3889373/opencv-crashes-trying-to-read-a-video-with-release-build

このバグはFixしてるみたいだし最新版のOpenCV使ってみたら
156138:2012/07/11(水) 13:30:54.31
>>155
なんかこれっぽいですね。
ありがとうございます。最新版でやってみようと思います。

お騒がせしてすみませんでした。
157デフォルトの名無しさん:2012/07/11(水) 23:53:07.46
どうみても素人だけどわざわざ2.2なんてダウンロードしたんかね。
ビデオ読み込みのエラーは自前でビルドすると治ることが多いと思う。
158デフォルトの名無しさん:2012/07/11(水) 23:56:46.41
たぶんaviの仕様もOpenCVの実装もわからんと質問してるような
159デフォルトの名無しさん:2012/07/12(木) 00:36:06.55
Adult
Video
Interface
160144:2012/07/12(木) 00:42:08.53
aviの仕様もOpenCVの実装もわからんと回答してましたすんませんすんません。

今のところ俺はcameraやaviのin/outで不自由なく使えてるし、
そういうのを知らなくても使えるってのがOpenCVのいい面の一つだと思ってます。
今回の流れで質問者にaviの仕様わかっとけOpenCVの実装わかっとけっていうのはなんか違うような
161158:2012/07/12(木) 06:05:15.39
>>160
デバッグできないだろうと思っただけだよ
162160:2012/07/12(木) 07:53:18.57
>>161
そうでしたか、ごめんなさい。デバッグのしかたを(もしまだなら)覚えたほうがいいというのには賛成です。
163デフォルトの名無しさん:2012/07/12(木) 13:28:02.61
知らなくても使えるけど、知らないと躓いた時に対処方法どころか質問の仕方すらわからんからなぁ
164デフォルトの名無しさん:2012/07/12(木) 18:32:35.38
どうせ2chの過疎スレなんだし、
知らない人が質問したり回答したりして、ドタバタ楽しくやればいいよ
165デフォルトの名無しさん:2012/07/12(木) 21:35:20.54
>>2です
僕の嫁は大活躍してるようですね
166デフォルトの名無しさん:2012/07/13(金) 01:34:52.49
>>160
そう思うなら動かない時点で諦めなさい
ビデオ関連で動かすための方法は色々あるけど、君には負担が重すぎる
167デフォルトの名無しさん:2012/07/15(日) 20:17:02.20
>>166
これまでのやりとりの読解は君には負担が重すぎたようだ
168160:2012/07/15(日) 20:49:24.24
一応言うと167を書いた俺は>>160ね。
169デフォルトの名無しさん:2012/07/17(火) 14:25:13.18
おまえがどれかなんておまえ以外知るわけねーだろ
という前提で話をしろ

170デフォルトの名無しさん:2012/07/20(金) 04:15:30.06
こんにちは.

Visual Studio 2010を用いたデバッグ方法について質問です.
OpenCVを利用したプログラムでエラーが発生すると,時々「呼び出し履歴」に十分な情報が出ず,不便に思っています.
改善することは出来ないでしょうか.

例えば,Debugモードで各種OpenCVのpdbを読んでいる状態で,
cv::Mat test = cv::Mat_<double>(10, 10) * cv::Mat_<double>(100, 100);
このような行を実行するエラーが起こります.
その際に,「呼び出し履歴」にはKernelBase.dllからopencv_core242d.dllの間のスタックしか表示されません.
(エラー出力の表示はされます)

呼び出しの順序を辿って上記の行に問題があると知ることが出来れば開発が楽になるのですが,これは無理でしょうか.

ぜひアドバイスをお願いします.
171デフォルトの名無しさん:2012/08/06(月) 11:26:29.37
ファイルとしてではなく、メモリ上にだけあるjpegファイル(freadで読み込んだような状態)を
IplImageで開くにはどうすればいいですか?
一度ファイル出力して読みこめば楽だけど、かっこわるすぎる
172デフォルトの名無しさん:2012/08/06(月) 14:39:48.79
173デフォルトの名無しさん:2012/08/06(月) 20:48:50.77
顔検出につかうhaarcascade_frontalface_default.xml内の
thresholdの値ってやたら小さい値な気がするんですけどどうやって使われているんですか?
明るさの範囲って0〜255ですよね?
なぜ-0.03のような小さい値が閾値なんですか?
174デフォルトの名無しさん:2012/08/07(火) 09:55:31.57
関数見ないで言うと
x / 255
とかやってると思う
175デフォルトの名無しさん:2012/08/07(火) 13:37:26.55
こんにちは
androidに使うためlbpcascadeに使うxmlファイルを作ってるんですが
stage 20に w, h は 24やってるのに18時間ぐらいかかってもまだ終わってません。
もともとこんなに時間がかかるもんですか?

そしてlbpcascade_frontalface.xmlやネットで見たものはtreeが多かったのに
なぜか自分が作ったものはstage 一つにtreeも一つしかありませんでした。
やっぱtreeが多くないと認識にくいんでしょうか?

アドバイスお願いします。
176デフォルトの名無しさん:2012/08/07(火) 19:00:16.74
>>173
面積で割わったりと正規化しないとスケールの変化に対応できないから
>>175
まともなデータ量でやれば普通に数日かかる
木の深さは、最近のバージョンには詳しくないのだけど
maxDepathが1になってるからじゃないかな
あとは分類の複雑さによると思う
177デフォルトの名無しさん:2012/08/07(火) 20:07:47.82
>>173
にわかばかりだな
マジレスするとintegral image
178デフォルトの名無しさん:2012/08/08(水) 02:47:38.66
>>176
ありがとうございます。でもmaxDepthを変えてもサンプルが600個ぐらいだったのが
問題だったのかtreeは一つだけでした。
それにlbpcascade_frontalface.xmlにも<maxDepth>1</maxDepth>となているんです。
他に何かあるんでしょうか
179デフォルトの名無しさん:2012/08/08(水) 20:11:39.43
>>178
意図的に増やす意味なんてないと思うけど
データに対してboostParamsの条件が満たせるように学習するし
満たしているなら分岐が少ないほうが速いわけで
精度がよくないのなら学習データの作り方が悪いか少ないかLBP Featuresが問題にあっていないのだと思う
180デフォルトの名無しさん:2012/08/09(木) 13:03:52.19
>>179
分岐が多ければいいってわけじゃないんですね。
学習データはどう作るのがいいでしょうか?
時計を認識させようとしてるんでpositiveには時計の画像だけを使って
negativeには時計とはぜんぜん関係のない画像を使ってるんですが
いいサンプルを作るにはこうしろとかあるんですか?
181デフォルトの名無しさん:2012/08/10(金) 18:03:00.05
>>180
特徴量が回転不変ではないし学習データの時点ではスケール不変でもないので
pos画像内の時計の位置と角度と大きさを揃えるくらいかな
あと時計の色と壁の色などの明るさが逆転していると全く違う特徴量になってしまうから
時計の種類と背景の柄と秒針の組み合わせも考えるならデータは多いほうがいい

個人的な感覚だと時計検出はかなり難しいと思う
時計といってもいろいろな形や状態があるし
182デフォルトの名無しさん:2012/08/11(土) 20:24:22.33
OpenCVのC++のガワは何か使いたくない
CのOpenCVをBoostで包んだ方が安心できるし速度出そう
OpenCVのC++でないと使えない機能ってあったかな
機械学習の一部ぐらい?
183デフォルトの名無しさん:2012/08/11(土) 23:46:28.98
Cがガワだったりして
184デフォルトの名無しさん:2012/08/12(日) 00:27:09.26
今のOpenCVはC++がメインでCはC++の関数呼んでたような
185デフォルトの名無しさん:2012/08/12(日) 14:52:37.10
今のOpenCVはC++がCのOpenCV関数をきれいに包んでて使いやすいと思うよ。
matとかvideocaptureとか、デストラクタで自動的にリリースしてくれて安心して使える。
186デフォルトの名無しさん:2012/08/12(日) 16:59:01.29
速度もC++とCであまり変わらない?
187デフォルトの名無しさん:2012/08/12(日) 17:15:51.97
実装はC++だからC++のが早いことはあっても遅いことは無いんじゃないかな
188デフォルトの名無しさん:2012/08/13(月) 20:26:56.79
最近のコンパイラはCよりもC++に最適化されてるのかな?
189デフォルトの名無しさん:2012/08/13(月) 21:59:26.41
OpenCVの実装見た限り、Matは完全にC++実装で、メンバ関数もインライン化されてたからCと速度はほぼ変わらないと思う。
でもVideoCaptureの実装を見るとCのときのCvCaptureをオーバラップして実装してたから、Cより早くなることはありえない。
でも、インライン関数化されているから、コンパイルの仕方によればCと速度はまったく変わらなくなる。

自分の経験から言えばC++がC言語よりも効率的で速度がでることは絶対にありえない。
それでも、C言語のIplImageとかCvなんたらな関数を使うのはもうやめてほしいな。
190デフォルトの名無しさん:2012/08/14(火) 20:08:55.54
matのほうがいいの?
191デフォルトの名無しさん:2012/08/14(火) 23:01:23.43
一部C++実装されずにほっとかれてるのもいい加減統一してほしいね
192デフォルトの名無しさん:2012/08/14(火) 23:07:22.52
matのほうがいいです。
メモリリークの心配もない、安全、スマートに書けてコードも見やすくなる。
193デフォルトの名無しさん:2012/08/15(水) 01:13:59.76
ありがとう。やっぱMATの方が信頼できるよな。
それに引き換え、TACはダメな組織だ。
194デフォルトの名無しさん:2012/08/15(水) 13:32:47.59
OpenCVのリポジトリがsvnからgitに変わっちゃっててびっくりした
しかもgitでとってきたコードはコンパイル通らない、2.4.9をgitで取ってきてVisualStudio2010でビルドできた人とかいる?
195デフォルトの名無しさん:2012/08/16(木) 06:51:05.78
2.4.9ってどこでリリースしてるもの?正式?
196デフォルトの名無しさん:2012/08/16(木) 11:45:10.84
もちろんBetaだけど、http://code.opencv.org のリポジトリで最新が2.4.9かな
197デフォルトの名無しさん:2012/08/20(月) 16:18:44.13
2.4にしてから回転した画像に対してSURFを使ったfindHomographyをすると、ホモグラフィーが正しく推定出来ない
nonfreeに移ったときにSURF実装も変わったのかな?

198デフォルトの名無しさん:2012/08/22(水) 18:03:44.48
動画の2フレーム間での対応点画素座標をカメラ内部行列がI になるように(=正規化カメラ?)直してから
cvFindFundamentalMat()に与えることでE行列を求め,
そこからフレーム間でのカメラの移動具合(=外部パラメタRとT)を計算しようとしています.

Nフレーム間カメラがほぼ同一方向に平行移動している映像でテストしているのですが
しかしEからTの方向がフレームによって反転するような現象が起きてしまっています.

Tを-Tにしてもエピポーラ拘束の式は満たせるから そのときどきでどっちになるかが変わってしまっているのか?
と思っているのですが,だとしたら本当のカメラ移動のTの方向がどっち側だったのかを知ることはできないということなのでしょうか?
例えばカメラが前進しているか後退しているか 等を知りたいのですが…
199デフォルトの名無しさん:2012/08/22(水) 18:17:11.07
無理
200デフォルトの名無しさん:2012/08/22(水) 18:26:23.69
無理ですか…
「Tのスケールは不明」の"スケール"に方向も含まれるってことですかね.
だとしたら対応点の3次元座標を計算してみてなんか判断するとかしか無いのかなぁ
201デフォルトの名無しさん:2012/08/23(木) 01:23:23.36
スケールはただの絶対値だから方向はどうでもいい。自由にきめられる。
202デフォルトの名無しさん:2012/08/24(金) 00:05:19.21
opencv2.4.2+eclipseCDT8.0.2+mingwで開発してる人いますか?
コンパイルは通るのにデバッグすると一行目でsegmentation faultになってしまいます…
203デフォルトの名無しさん:2012/08/24(金) 12:37:34.50
ソース貼れ
204デフォルトの名無しさん:2012/08/24(金) 23:53:20.40
>>203
http://d.hatena.ne.jp/aidiary/20091016/1255696516
これの8. ソースファイルを作成のところのコードです
205デフォルトの名無しさん:2012/08/25(土) 00:06:12.23
"C:/OpenCV2.0/samples/c/lena.jpg"が存在しないとか。
206デフォルトの名無しさん:2012/08/25(土) 16:20:11.32
カメラでの空間認識をやってるんだけど、2眼だと結局のところ
人と同じような錯視のワナにハマっちゃう。

画像だけじゃ無理なのかなぁ?
3眼にすればいい?
207デフォルトの名無しさん:2012/08/25(土) 16:53:48.96
>>206
二眼の錯視について kwsk
208デフォルトの名無しさん:2012/08/25(土) 16:58:16.95
落ち着け!これは孔明の罠だ!
209デフォルトの名無しさん:2012/08/25(土) 17:57:52.24
>>207
前後左右が逆でも矛盾しないから
210デフォルトの名無しさん:2012/08/25(土) 18:50:19.15
>>205
VC2008では普通に動いたので問題はないと思います
211デフォルトの名無しさん:2012/08/25(土) 19:18:57.74
無償環境だと何が一番いいんだろう

とりあえずVCのC++/CLIを使ってるけど
212デフォルトの名無しさん:2012/08/25(土) 19:22:40.79
>前後左右が逆でも矛盾しないから
の意味がまったくわからんけど、事前情報の設定がおかしい(足りてない)だけじゃ?
やろうとしてることもよくわからんけど、カメラ(あるいは対象物)の姿勢を事前情報として
(キャリブレーションはするにせよ)使えば一意に求まらないわけがないと思うんだが。
213デフォルトの名無しさん:2012/08/25(土) 21:22:03.13
3次元復元するときにカメラの前に物があるっていう制約条件つければ解決
214デフォルトの名無しさん:2012/08/27(月) 23:44:27.62
すみません、質問です

createsamples.exeで生成したvecファイル(ポジティブ画像集)の中身の画像を見る方法はないのでしょうか
vecファイルを見れるソフトを調べてみたところ、FileViewProというものがあったので
試してみたのですが、案の定中身を見ることはできませんでした

自力ではいくら調べても情報が出ません
生成された画像の出来を見たかったのですが、
やはりそういう事をする必要は無いということなのでしょうか?
215デフォルトの名無しさん:2012/08/30(木) 19:58:26.86
>>214
.vecファイルって、独自の形式のような気がする。

createsamples のソースコード、例えば OpenCV 2.4.1 の以下のソースコードを調べるt、
opencv\modules\haartraining\createsamples.cpp
opencv\modules\haartraining\cvhaartraining.h
opencv\modules\haartraining\cvhaartraining.cpp
opencv\modules\haartraining\cvsamples.cpp

cvsamples.cpp の以下の関数で *.vec をファイルに書き出してる。
void icvWriteVecHeader( FILE* file, int count, int width, int height )
void icvWriteVecSample( FILE* file, CvArr* sample )

この関数はfwriteでint変数を書き出してるので、このデータは可搬性がない。
(sizeof(int)やバイトオーダーに無頓着な処理を行っている)。
あと、データフォーマットのバージョンを示すようなものも含まれていない。
よって、一般的なアプリケーションやツールが使うようなデータフォーマットに見えない。

だから .vecを読みたいなら、自分でOpenCVを使ってそういうことやるツールを自作するのだと思うよ。
216215:2012/08/30(木) 23:41:30.24
あ、OpenCV 2.4.1 の 「opencv_createsamples.exe -vec ファイル名」で画像として表示できるね。
この処理は cvsample.cpp の cvShowVecSamples() でやってる。
217デフォルトの名無しさん:2012/08/31(金) 02:54:32.23
opencv_createsamplesに-showってオプションがある
218デフォルトの名無しさん:2012/09/02(日) 06:35:25.62
>>216
ありがとうございます!
こちらのサイトにも書いてありました
http://wiki.livedoor.jp/hama1010/d/OpenCV%20%B2%E8%C1%FC%A1%A2%BC%CC%BF%BF%C7%A7%BC%B1%A1%A2%B8%A1%BD%D0%A1%A2%A5%E1%A5%E2%C4%A2

該当するオブジェクトに近い画像のみを選択する、なんてことが出来たらいいんですけども・・・
219デフォルトの名無しさん:2012/09/14(金) 18:31:34.93
matchTemplateについて質問
OpenCV for PHPっていうの使ってるのでCやC++とは多少違うかもしれないけど
ttps://github.com/mgdm/OpenCV-for-PHP (これのリファレンスはどこにも見つからなかった)
結果が画像で返ってくるけど、マッチした部分の座標を配列で得たい場合はどうするのが良いですか?

やりたいことはオセロの盤面の画像から、白と黒と置いてない状態のテンプレ画像を比較して
盤面の状態を配列で得ること
他にもっと賢いやり方があればそちらも教えていただけると嬉しいです
よろしくお願いします
220デフォルトの名無しさん:2012/09/15(土) 00:23:18.47
2.4.2だけど、imreadでmainの引数を与えると読み込むけど、フルパスをベタ書きするとエラーになるのなんでだ
221デフォルトの名無しさん:2012/09/15(土) 06:39:53.29
>>220
\\
222デフォルトの名無しさん:2012/09/15(土) 20:48:00.21
このレベルだとそれだけじゃ分からないかもね
223デフォルトの名無しさん:2012/09/16(日) 03:13:18.97
OpenCVちゃんとチュッチュしたい
224デフォルトの名無しさん:2012/09/16(日) 08:29:21.29
>>221
それならコンパイル通らねーよハゲ
225デフォルトの名無しさん:2012/09/16(日) 10:38:11.60
>>224
荒い語調で書いとけばいつでも間違いを指摘してもらえたり解説をもらえたりすると思うなよ?
226デフォルトの名無しさん:2012/09/17(月) 03:23:32.87
背景画像と入力画像をグレースケール化し、cvAbsDiff
で差分処理すると、入力画像と背景がかぶってしまうのですが、
被ってしまっている背景画像を取り除くにはどうしたらいいのでしょうか?
227デフォルトの名無しさん:2012/09/17(月) 08:08:45.26
>>224
デバッグすれば分かるだろカス
228デフォルトの名無しさん:2012/09/17(月) 10:34:40.95
>>224

とは限らん。
229デフォルトの名無しさん:2012/09/17(月) 13:52:16.91
_imread パクろうとしてるけど根っこを掘ったら100mぐらいあった感
230デフォルトの名無しさん:2012/09/17(月) 18:17:16.69
libjpeg, libpngあたりを使って画像読むだけだろ
231デフォルトの名無しさん:2012/09/17(月) 19:24:18.57
カラー画像→グレースケール→二値化→カラー画像
ってやりたいんだけど、二値化からカラーへ戻すのがよくわかりません・・・
232デフォルトの名無しさん:2012/09/17(月) 19:30:01.70
>>219は誰もわからない感じ?
テンプレートマッチングって誰も使わないほどマイナーな関数なのかな
233デフォルトの名無しさん:2012/09/17(月) 20:07:22.05
>>232
お前が変なライブラリを使っているから関わりたくないだけ
まずOpenCVでどうやるか調べろ
>>231
無理だろ
条件によるが
234デフォルトの名無しさん:2012/09/17(月) 20:13:39.19
>>233
背景差分をしたいのです。
最終的には物体が映っている画像から背景だけを抜き出し、
物体のみが映っているカラー画像を抜き出したいのですが、よく分かりません・・・
235234:2012/09/17(月) 20:15:43.40
ttp://d.hatena.ne.jp/rebelwidow/20101024/1287925436
のマスクとして合成し、グレースケールで抜き出すというのは出来たのですが、
その下のカラー画像へは、の所で詰まってしまいます。
これは差分画像のカラー画像を抜き出すので合っていますよね?
236デフォルトの名無しさん:2012/09/17(月) 20:54:25.85
>>235
元のカラー画像とグレースケール画像を両方持っておけば
対応しているピクセル位置は同じだから
グレーと同じ位置を元のカラー画像から抜き出せばいいだけだろ
237234:2012/09/17(月) 21:01:46.37
>>236
ありがとうございます。
理屈では分かりました。
cvSplitで分割する必要は無いって事ですよね?
OpenCV使い始めたばかりなのでリファレンスがまだよく分かってないです。
238234:2012/09/17(月) 21:11:35.79
グレート同じ位置を元のカラー画像から抜き出す場合は、
要素の絶対値の差分ではなく、ピクセルの座標などを指定すればいいのでしょうか?
239デフォルトの名無しさん:2012/09/17(月) 21:41:43.53
>>233
変なライブラリの部分は多分関係なくない?
ttp://opencv.jp/opencv-2svn/c/imgproc_object_detection.html?highlight=template#cvMatchTemplate
これ見る限り別のライブラリ介さなくても似たようなもんに見えるんだけど
別のライブラリのこと書いておいてなんだけど普通のopencvでどうやるかを知りたかったのです
240デフォルトの名無しさん:2012/09/18(火) 00:03:30.98
>>239
使ったことないのであれだけど、マニュアルには
>>比較計算が終わると,関数 MinMaxLoc を用いて最も良いマッチング結果を,最小値( CV_TM_SQDIFF )や最大値( CV_TM_CCORR )として検出できます.
と書いてあるから
>結果が画像で返ってくるけど、マッチした部分の座標を配列で得たい場合はどうするのが良いですか?
これが間違っているのでは?
結果は画像ではなくて、各画素位置に対するマッチングのスコア表みたいなもので
スコアがしきい値以上の座標をマッチした座標として扱えばいいだけでは?
241デフォルトの名無しさん:2012/09/18(火) 11:51:53.11
openCV2.4、visual Studio C++2010の環境下で単純にwebカメラの入力を表示するプログラムを作成するとDebugモードで
>LINK : fatal error LNK1104: ファイル 'tbb_debug.lib' を開くことができません。
と表示されてしまいます。Releaceだと問題なく表示されました。
少し調べたところ、
・同梱されているTBBはRelease版のみのためDebug実行すると【コンピュータにbb_debug.dllがないため〜】と表示される
・これを解決するためには別途TBBを用意し対応したフォルダの中へコピーする
とあったのでopencv\build\common\tbb\ia32\vc10内のtbb.dllとtbb_debug.dllを上書きしてみましたが解決しませんでした。

どうすればこの問題を解決することができるでしょうか。

また、あるサイトには
VisualStudio2005からはReleaseモードのみ実行可能なので、Debugモードでも実行したい場合はVisualStudioをインストールすると実行可能です。
と書いてあったのですが意味がよくわかりませんでした。どういうことなのでしょうか。

初歩的な質問ですがよろしくお願いします。
242デフォルトの名無しさん:2012/09/18(火) 17:26:22.31
どっかにあるtbb_debug.libがあるはずだからそこをVC10のライブラリディレクトリに追加すればいい
243デフォルトの名無しさん:2012/09/19(水) 18:37:00.72
すいません、ここで聞いていいのか分からないんですが、
OpenCVなどと同様の顔検知技術をMSが出してたと思うんですが
ご存知ないでしょうか?

※ Windows Phone向けのFace SDK以外であったと思ったのですが
244デフォルトの名無しさん:2012/09/19(水) 20:16:47.97
>>243
OpenCVの顔検出で使われているViola–Jones methodのviolaがMSの研究者だけど
そういう話ではなくてKinectのFace Trackingとか?

245デフォルトの名無しさん:2012/09/20(木) 07:23:47.67
246デフォルトの名無しさん:2012/09/21(金) 23:18:31.64
>>241
OpenCV - Bug #1940: missing debug TBB binaries in OpenCV 2.3 windows installer
http://code.opencv.org/issues/1940

ここに、DLLの入手方法が書いてある (IntelのTBBのダウンロードページへのリンクあり)
また、OpenCV 2.4.1 で解決 (tbb_*.debug.dll を同梱) してるので、
2.4.1 か 最新の 2.4.2 に入れ替えても解決するよ。
247246:2012/09/21(金) 23:35:15.27
いま確かめたら、OpenCV-2.4.2.exe みたら、build/x86 ディレクトリに vc8 (=VS2005) がないねえ。
vc9 (VS2008), vc10 (VS2010) しか無いね。
TBB (common/tbb/ia32/vc8/) はあるのに。

どうしてもVS2005で使いたかったら、OpenCVのソースコードをCMakeとVS2005で自分でビルドする必要があるね。
248デフォルトの名無しさん:2012/09/25(火) 15:32:23.10
opencv初心者です。
opencvを利用した瞼の検出方法をどなたか教えていただけないでしょうか。
opencvsharpを利用しています。
249デフォルトの名無しさん:2012/09/25(火) 20:18:50.60
>>248
まずOpenCV上級者になります。
250デフォルトの名無しさん:2012/09/25(火) 21:27:34.83
opencv初心者です。現在opencv2.4.2を使っています。


cv::Mat img = cv::imread("../../image.jpg", 1);
if(img.empty()) return -1;

の状態で、座標(x,y)における、   ※x,yは整数のピクセル値

check[0]=img1.data[y * img1.cols + x * img1.step1() + 0];
check[1]=img1.data[y * img1.cols + x * img1.step1() + 1];
check[2]=img1.data[y * img1.cols + x * img1.step1() + 2];

などをして、特定のピクセルのBRG情報を取り出そうとしましたがうまくいきません。

どなたか、cv::Mat::dataの中身についてか、どういう風に書けば取り出せるか教えていただけないでしょうか?
251デフォルトの名無しさん:2012/09/25(火) 21:41:47.63
>>250

すいません、何ともあっさり解決しました。

check[0]=img1.data[x * 3 + y * img1.step1() + 0];
check[1]=img1.data[x * 3 + y * img1.step1() + 1];
check[2]=img1.data[x * 3 + y * img1.step1() + 2];

このように書き換えました。
252デフォルトの名無しさん:2012/09/26(水) 10:30:41.52
>>>251

for (int color = 0; color <3; ++color) {
check[color] = img1.at<cv::Vec3b>(y, x)[color];
}
253デフォルトの名無しさん:2012/09/26(水) 16:08:07.00
普通Mat::at使うでしょと思ってたけど
速度遅いの?
http://kassymemo.blogspot.jp/2011/09/opencv2cvmat.html
あんまり気にしたこと無かった
254デフォルトの名無しさん:2012/09/26(水) 19:45:42.93
さすがに最適化オプションも知らないだけだろ

255デフォルトの名無しさん:2012/09/26(水) 19:47:59.35
NDEBUGつけてないとか
256>>239:2012/09/27(木) 21:29:32.17
ちょっと他のことやってて進んでなかったけれど
phpライブラリのソースを読んだらIplImageの中身が見れないようになってて
minMaxLocって関数も実装されてなかったり実用性低そうだったので結局Cで書くことにしました

それで改めて質問なんですがminMaxLoc使うと最も近似してる部分がわかるけど、
>>240さんの言うように閾値を設定して、一定以上似ているのを全て列挙するようなのはどう書けばいいでしょうか
ttp://opencv.jp/sample/matching.html
のコードでcvMatchTemplate (src_img, tmp_img, dst_img, CV_TM_CCOEFF_NORMED);
以降、dst_imgのimageData辺りをあれこれすればわかりそうな所まではわかりましたがその先がわかりません。
ヒントなど頂けると助かります。よろしくお願いします。
257デフォルトの名無しさん:2012/09/27(木) 22:06:34.31
cv::threshold
258デフォルトの名無しさん:2012/09/28(金) 00:33:23.02
2.4.2でMatニ対応したcvSmoothに変わる関数ってありますか?
MatとcvArray??間の変換がうまくいかず困っています
259デフォルトの名無しさん:2012/09/28(金) 05:25:49.31
>>257
ありがとうございます!
その先はcvGet2D()なんかを使って目的の座標を得ることが出来ました。
助かりましたー
260デフォルトの名無しさん:2012/09/28(金) 10:21:24.00
ガウシアンブラーの関数があった気がする
261デフォルトの名無しさん:2012/09/29(土) 22:10:34.62
cv::normってクソ遅い?
2つのベクトルの距離求めるのに使ってたんだが、自力でforループ回すのに比べて6倍くらい遅かった
何かおかしかったのだろうか
262デフォルトの名無しさん:2012/09/30(日) 13:15:47.80
ソース見てないけど、ノルムの種類によって場合分けしてるだろうから
関数呼び出しとかも考えたら遅くて不思議じゃないな
大きさが固定なら自前でインライン展開して書いたほうが絶対速いと思う
263デフォルトの名無しさん:2012/09/30(日) 15:05:45.70
>>262
openCVのMat関係の関数便利だなーと思ってけっこう使ってたんだけど、
自分で書いてもたいしたことないやつはしっかり書くべきなのかな。
まだまだ自分のソースを見直す必要がありそうだ。ありがとう
264デフォルトの名無しさん:2012/09/30(日) 17:32:07.55
OpenCV側が最適化BLASくらい速くなるべきだろう
265デフォルトの名無しさん:2012/09/30(日) 23:21:41.30
VS2010 C++ Expressを使用しています。

OpenCV(opencv-win)をDL後、諸々設定、コンパイルは通るようにしたのですが
実行すると下記のようなエラーメッセージがでます。
「C:\opencv\build\x86\vc10\bin\opencv_core241d.dllはWindows上では実行できないか
エラーを含んでいます。元のインストールメディアを使用して再インストールするか、
システム管理者もしくはソフトウェアの製造元に問い合わせてください。」

Release,Debugモード両方ダメでした。
また、バージョン(2.4.2)もダメでした。

何が原因でエラーがでるかご存知の方はいますか?
お手数おかけしますが、よろしくお願いします。
266265:2012/10/01(月) 00:25:12.32
すいません、
OpenCV-2.2を使用したら無事に実行もできました。
ただ、2.4.xが何故使用できないのかわからないのでしっくりきてませんが。
267デフォルトの名無しさん:2012/10/01(月) 03:04:07.84
うむ、がんばりたまえ
268デフォルトの名無しさん:2012/10/01(月) 09:14:39.23
おめでとう
追求するかしないかはあなた次第
269デフォルトの名無しさん:2012/10/01(月) 15:02:47.90
画像を半分に分割して別々のウィンドウに表示したいんですが
画像を半分に分割する関数ってありますか?
270デフォルトの名無しさん:2012/10/01(月) 20:25:36.64
>>269
ROI設定してコピー
271デフォルトの名無しさん:2012/10/02(火) 00:12:08.57
最近OpenCVに関数が用意されてないと何も出来ない人が急増してきたな
272デフォルトの名無しさん:2012/10/02(火) 08:27:54.77
そういう感想文いらないよ
273デフォルトの名無しさん:2012/10/02(火) 08:40:03.85
用意されている関数を知らずに再実装するな

274デフォルトの名無しさん:2012/10/02(火) 14:12:32.56
>>270
ありがとうございます
やってみます
275デフォルトの名無しさん:2012/10/04(木) 00:01:10.48
>>270

コピーいらない.ROI設定した画像(cv::Mat)をそのまま imshow の引数に入れればいける.

cv::imshow("Show Clip", image.rowRange(0, 120))

とか.
276デフォルトの名無しさん:2012/10/04(木) 07:55:10.94
>>275
そういうのどうやって勉強してますか?
277デフォルトの名無しさん:2012/10/04(木) 11:27:33.55
リファレンスを全部読め
278デフォルトの名無しさん:2012/10/04(木) 11:55:40.69
勉強の仕方から勉強して来い
279デフォルトの名無しさん:2012/10/04(木) 20:58:29.94
>>277
無理
>>278
どうせお前教えられないだろ
280デフォルトの名無しさん:2012/10/04(木) 23:39:36.40
必要になったら地道に調べて使ってみるしかないよ
少しずつ知識を増やそうぜ!!!
281デフォルトの名無しさん:2012/10/04(木) 23:44:13.03
マニュアルも読めないやつに何を教えても無駄
282デフォルトの名無しさん:2012/10/05(金) 13:23:10.46
>>280
そうだな。実際そうしてるんだけど
効率良く吸収していきたい

しかしプログラム組む人って本当まともな奴少ないなー
283デフォルトの名無しさん:2012/10/05(金) 14:15:18.38
教えたり教わったりで何とかなるもんじゃないからな
結局自分で身に付けた自負が大きくなりすぎて変人と化す
284デフォルトの名無しさん:2012/10/05(金) 16:52:36.15
>>282
プログラム組む人側から見るとお前がまともじゃないから関わりたくないんだよ
285デフォルトの名無しさん:2012/10/05(金) 17:36:23.53
関わりたくないくせにレスしてるw
286デフォルトの名無しさん:2012/10/05(金) 19:38:12.65
OpenCVのTIFF対応状況が分かるサイトないですかねー
対応してるはずのTIFFがエラーになったり
客に文句言われて困ってまそ
287デフォルトの名無しさん:2012/10/06(土) 01:53:47.53
>>286
ソース見れば分かるだろ
libtiff使ってる

288デフォルトの名無しさん:2012/10/06(土) 19:29:40.93
>>287
さんくす、
オープンソースだと言うことを忘れてますた・・・
289デフォルトの名無しさん:2012/10/06(土) 19:51:21.60
>>286
libtiffのほとんどの機能はハブられているよ。
自分で読み込んでOpenCVに渡すのが正解だな。
290デフォルトの名無しさん:2012/10/06(土) 21:22:36.58
templateMatchingって画像が大きくなると判定雑になったりしませんか?
囲碁ゲームの盤面を取得しようとすると500*500pxくらいなら閾値0.9とかで全て+多少の誤判定が取れますが
1000*1000pxくらいにすると閾値0.7でも取れない部分があって
閾値減らした分誤判定も増えすぎてどうしようもなかったりしてます・・・
テンプレもソースもpng画像で劣化無しなので100%一致していいんですが、なんだかうまくいってませn
何かうまいやり方はありますか?
291デフォルトの名無しさん:2012/10/09(火) 10:08:55.38
ほす
292デフォルトの名無しさん:2012/10/09(火) 14:43:25.19
>>290
盤面まるごとマッチングしてるの?
線を取ったほうがいい気がするけどな
293デフォルトの名無しさん:2012/10/10(水) 16:05:55.62
知識をお貸しください。
VS2010でOpenCV2.4を実験に使用しています。言語はC++です。
2.2から上げたところ、以下の不具合(?)が発生しました。
カメラを2台接続して、それぞれがcapture=NILLならreturn-1をさせたいのですが、
1台にしてもNULLの判定にかかりません。
どうやら1台のカメラから2枚キャプチャしているようです。
正しく判定されるようにするにはどうしたらいいのでしょうか。
294デフォルトの名無しさん:2012/10/10(水) 16:20:24.59
cvCreateCameraCaptureでエラー出て無いんかい
295デフォルトの名無しさん:2012/10/10(水) 18:36:39.26
>>294
レスありがとうございます。エラーの表示はありません。
カメラを1台にして画像を表示させると、capture1もcapture2も同じ画像が入っています。
2台にすると、それぞれのカメラからの画像が表示されます。
296デフォルトの名無しさん:2012/10/10(水) 22:11:04.32
cvCreateCameraCaptureの引数-1にしてんじゃないのかね?
297デフォルトの名無しさん:2012/10/11(木) 01:35:24.16
>>296
引数は、0と1で指定してます。
capture1 = cvCreateCameraCapture( 0 );
capture2 = cvCreateCameraCapture( 1 );
です。
298デフォルトの名無しさん:2012/10/11(木) 21:08:57.18
setPropertyで片方のカメラのパラメータ変更したら、もう一方も変化する?
解像度とか。
それとcapture1とcapture2自体の値は異なる?
299デフォルトの名無しさん:2012/10/11(木) 21:30:47.45
>>298
setProperty試してみました。
capture1を640*480、capture2を320*240にすると、ちゃんとそれぞれのサイズで取得されます。
この状態でカメラを1台にすると、
Assertion failed (src.depth() == dst.depth() && src.size == dst.size)
と出て止まってしまいました。

>それとcapture1とcapture2自体の値は異なる?
すみません。値とは何でしょうか?宣言時には、
CvCapture *capture1 = 0;
CvCapture *capture2 = 0;
としています。このことですか?
300デフォルトの名無しさん:2012/10/11(木) 22:38:53.27
問題を整理するけどカメラ1台なのにcvCaptureがエラー無く二個作成できてしまうってことで良いの?

>値とは何でしょうか?
同じデバイスなら同じ値になるのかと思って。
createcapture後のcvcaptureの値。

んでそのエラーはどの段階で出てるの?
srcとdstが出てるけど画像処理くさいんだけど。
getquery->showimageだけの最小構成でやってみてよ。

getpropertyでデバイスの項目無いので最悪directXで自分で書くとか
おそらくcvCaptureの何処かにはデバイスを記録している部分があるからそこを探すとか。
ただしwindowsとlinuxとかの違いを吸収するためにそこはブラックボックスにしてるから
普通の方法では見れない。
301デフォルトの名無しさん:2012/10/12(金) 00:13:58.69
>>300
>問題を整理するけどカメラ1台なのにcvCaptureがエラー無く二個作成できてしまうってことで良いの?
その通りです。

仰るとおり、プログラム全体を回しつつではエラー箇所が曖昧ですね。
明日、最小構成で試してみます。その際にcvCaptureの値も確認します。

もうしばらく自力でがんばってみます。
アドバイスを下さった方々、ありがとうございました。
302デフォルトの名無しさん:2012/10/17(水) 14:38:23.57
cv::Mat型からラベリングする方法はないですかね?
ないならlabeling.hなら一手間加えてなんとかなりそうですが画像の幅が4の倍数じゃないと動かないと聞きましたが今は直ってますか?
303デフォルトの名無しさん:2012/10/17(水) 17:21:26.57
ごめんなさい、実際に自分で確かめてから書きこんだ方が良かったですね
今確認したら幅のサイズに関係なくちゃんと動作しました
しかし、やはりcv::Matから直接操作したいのですがそういうのはないのでしょうか?
後、labeling.hで画素数以外の条件でふるい分けをする方法はないのでしょうか?
304デフォルトの名無しさん:2012/10/17(水) 23:16:09.34
opencvベースのラベリングはどっかで見た
libblobとかcvblobとかそんな名前
305デフォルトの名無しさん:2012/10/18(木) 08:47:22.18
どっちもIplImage構造体しか使えないみたいです
後、既存のものは4連結しか出来ないものが多いみたいで
8連結ラベリング使えるのないですかね?
306デフォルトの名無しさん:2012/10/18(木) 09:56:34.89
labeling.hってのが何なのかよくわからんが,
ラベリング処理自体そう難しいわけでもないんだし見つけた既存のものが使えないなら自分で書けばいい気がするけど
自作だと問題あるのだろうか
307デフォルトの名無しさん:2012/10/18(木) 19:37:05.35
>>303
Labeling.h が
ttp://oshiro.bpe.es.osaka-u.ac.jp/people/staff/imura/products/labeling のなら、

int Exec( SrcT *target, DstT *result ...) の phase 1 しか入力画像にアクセスしないから
そこを IplImage とか cv::Mat を使うように書き換えれば良いよ。

あと、8連接も ConnectRasterSegment() の min_x, max_x の if文を書き換えればできたと思うよ。

なお、輪郭を探索してラベリングしたいなら cvblobslib か cvblob のどっちかがそういう作りだったと思う。
308デフォルトの名無しさん:2012/10/18(木) 20:11:32.70
>>305
cv::MatからIplImageに変換できるだろ
309デフォルトの名無しさん:2012/10/19(金) 00:32:41.39
>>306
他に手段がなかったらそうします

>>307
まずはそれ試してみます

>>308
確かにそうでした

いろいろレスありがとうございます。まずLabeling.hの書き換えから試してみます
310デフォルトの名無しさん:2012/10/20(土) 14:24:19.89
>>309

imura's のラベリングライブラリは速度的にもあんまりなので,
業務で使うならちゃんとしたところから購入した方がいいと思うが参考まで.

趣味なら知らん.
311デフォルトの名無しさん:2012/10/23(火) 16:32:56.25
今まで散々行われてきた質問かもしれませんがよろしくお願いします
MatchTemplateでマスクを使用したいんですが実現する方法ってあるのでしょうか?
312デフォルトの名無しさん:2012/10/23(火) 23:34:32.70
MatchTemplateの結果をマスクすればいいだけ
非効率なのが気になるならROIを複数設定するでもいいし
もっと細かいなら自分で回せ

313デフォルトの名無しさん:2012/10/23(火) 23:58:20.96
いや、結果をマスクするのとは全然ちがう。
結論から言うと出来ないので、自分でコードを書き換えるしかないよ。
314デフォルトの名無しさん:2012/10/24(水) 01:45:29.27
>>313
何が違うの
315デフォルトの名無しさん:2012/10/24(水) 12:03:04.05
>>313
ども!出来ないって分かっただけで大収穫でした
となると、アセンブリに落とし込めないC#で書き始めたってのはちとメンドイですね
どうにでもなりますが
316デフォルトの名無しさん:2012/10/24(水) 20:45:54.13
>>314
テンプレートをマスクするって意味なら
黒い机の上のリンゴも
白い机の上のリンゴも
同じスコアで見つけられる
ってことじゃね?
317デフォルトの名無しさん:2012/10/27(土) 02:17:44.47
画像の上に別の画像を描画する関数ってないですか?
できればCじゃなくてC++のcv::Mat型の関数でお願いします
もちろん普通にラスタスキャンして自分で1画素ずつ操作してもできますがそれ以外で
318デフォルトの名無しさん:2012/10/27(土) 10:00:11.69
ROI指定してコピーするだけだろjk
319デフォルトの名無しさん:2012/10/27(土) 10:06:10.07
描画先からRange指定で部分行列を取り出して別の画像を代入すれば1画素ではなくて
一気に操作できるんじゃね?
320デフォルトの名無しさん:2012/10/27(土) 23:15:19.62
watershed使って、選択した1領
域をテンプレートマッチングの
テンプレートにしたいです。選
択は出来たんですが、テンプレ
ートにするため、選択領域を含
む最小の矩形画像で、対象以外
をマスクしたものを作りたいで
す。watershedの結果からうま
く作れませんか?openCV2.0の
watershed丸パクリしました。
中の処理は理解出来ないので、
どうすればいいかわかりません
。いい方法あったらお願いします
321デフォルトの名無しさん:2012/10/29(月) 06:32:26.39
src.copyTo(dst(cv::Rect(張り付けたい場所)));

試してないから動くかは知らん
322デフォルトの名無しさん:2012/10/31(水) 23:22:56.40
2012で動かすのに有給丸々一日使ってしまった
RC出すならVC11ビルド入れといてくれてもええやん
323デフォルトの名無しさん:2012/11/01(木) 00:32:10.56
充実した有給でしたね
324デフォルトの名無しさん:2012/11/05(月) 20:47:09.96
二値化画像の中から,白で映っている物体をうまく囲めるように矩形を描写することって出来ますか?
いくつかの物体をその数の矩形で囲みたいんですが。
ちょっとわかりにくくてすみません。どなたかよろしくお願いします。
325デフォルトの名無しさん:2012/11/05(月) 22:28:16.00
cv::reduceについて質問です。
opをCV_REDUCE_SUMで実行しても、「abort() has been called」とエラーが出て実行できません。
CV_REDUCE_AVGやMAXなら実行できるので、cv::reduce()の行以外には問題ないと思います。
matrix.cpp中の1968行からの中身を見てもよくわかりません。
SUMだけ他となにか違うのでしょうか。
どうすればいいかわかる方お願いします。
326デフォルトの名無しさん:2012/11/05(月) 23:56:27.01
>>324
cvMinAreaRect2とか?
327デフォルトの名無しさん:2012/11/06(火) 00:12:28.80
>>325
ソースを見た感じだとsrcのtype,depthあたりがあやしそう
328325:2012/11/06(火) 17:22:36.87
>>327
ビット深度をCV_64Fに変えてやったらできました!!
どうもありがとうございます!
329デフォルトの名無しさん:2012/11/07(水) 23:36:13.97
330デフォルトの名無しさん:2012/11/08(木) 18:16:07.16
学校で画像分類の研究をしているものです。
visualC++ openCV2.0で研究をしています。
事情によりopenCV2.4.2で研究することになったのでアップデートをしたのですが、
2.0では動いていたプログラムが2.4.2では動かなくなってしまいました。
エラー文はcvCreateKDTreeとcvFindFeaturesとcvReleaseFeatureTreeの識別子が見つからないといった物です。
調べては見たものの、このkdtreeの関数が2.2以降から変わったという事はわかったのですがどう改変すればいいのかわからず困ってます。
もし良ければ私に知識を貸してくれると幸いです。
参考になればと思いソースを置いときます。
http://codepad.org/C7CVnBU0
331デフォルトの名無しさん:2012/11/08(木) 18:24:40.80
馬鹿には無理。
332デフォルトの名無しさん:2012/11/08(木) 20:12:09.84
OPENCVは初めてなのですが、
複数画像を読み込んで処理した後、それぞれ保存処理するループ構成はどうしたらよいのでしょう?
int i;
char filename[256];
IplImage *img[10];

for( i = 0; i <= 10; i++ ){
printf( filename, "C:\\%d.bmp", i + 1);
img[i] = cvLoadImage(filename, CV_LOAD_IMAGE_GRAYSCALE);
cvCanny (img[i], img[i], 50, 200, 3);
}

for( i = 0; i <= 10; i++ ){
sprintf( filename, "C:\\result\\%d.bmp", i + 1);
cvSaveImage(filename, img[i]);
}
以下リリース部分

こんな感じでエッジ検出のループを組んでみたのですが保存されたのは
元画像と比べてとても軽い何も書きこまれてないbmpでした。
333デフォルトの名無しさん:2012/11/08(木) 20:16:47.63
馬鹿にはできねえよ、諦めろカス。
334デフォルトの名無しさん:2012/11/08(木) 21:38:08.61
>>330
opencv2/legacy/legacy.hppをincludeしてlegacyにリンクさせれば動くんじゃないかな
もしくはcvaux.hでもいいかも
335デフォルトの名無しさん:2012/11/08(木) 22:28:10.01
>>332
関係ないと思うけどなんで10個の配列に11個の画像いれてるの?
336デフォルトの名無しさん:2012/11/08(木) 22:31:24.46
>>332
iがimg[]の領域を超えている
337デフォルトの名無しさん:2012/11/08(木) 22:37:28.75
>>334さん
レスありがとうございます!
今は試すことができないのでどうなったかは明日になってしまいますが
お礼を先に言っておきます。。
338デフォルトの名無しさん:2012/11/08(木) 23:02:20.84
>>332
不等号部分のせいでimg[]が超えてるのが原因じゃね?
339デフォルトの名無しさん:2012/11/09(金) 01:13:33.72
>>330
横からですが
#include <cv.h>
#include <highgui.h>

#include <opencv2/opencv.hpp>
#include <opencv2/legacy/legacy.hpp> // cvCreateKDTree, cvFindFeatures, cvReleaseFeatureTree
#include <opencv2/legacy/compat.hpp> // CvSURFParams, cvExtractSURF
#include <opencv2/nonfree/nonfree.hpp> // cv::initModule_nonfree
に変えて、

main()の中の1行目に
cv::initModule_nonfree();
を追加すればコンパイル通ると思う

確か2.3あたりから cv::initModule_nonfree(); しないとSURFとか使えなくなった
340デフォルトの名無しさん:2012/11/09(金) 01:16:11.39
341デフォルトの名無しさん:2012/11/09(金) 08:05:08.66
>>332
> printf( filename, "C:\\%d.bmp", i + 1);
これsprintfの間違い?
342デフォルトの名無しさん:2012/11/09(金) 09:18:45.76
OpenCVの前にC言語を勉強してこい
343330:2012/11/09(金) 15:12:13.48
>>334 >>339
研究室で指摘道理やってみたら動きました!!本当に助かりました!ありがとうございます!!
344デフォルトの名無しさん:2012/11/10(土) 19:58:22.15
2.4.3にアップグレードしたらtraincascadeは自分でCMake使ってビルドしろとかめんどくさいな
なぜ2.2だけ環境変数のパスまで自動で通してくれる親切設計だったんだ?
345デフォルトの名無しさん:2012/11/11(日) 03:20:36.70
>>332

int i;
char filename[256];

for(i=0; i<10; i++){
sprintf(filename, "C:\\%d.bmp", i+1);
IplImage* src = cvLoadImage(filename, CV_LOAD_IMAGE_GRAYSCALE);
IplImage* dst = cvCreateImage(cvGetSize(src), src->depth, src->nChannels);
cvCanny(src, dst, 50, 200, 3);
sprintf(filename, "C:\\result\\%d.bmp", i+1);
cvSaveImage(filename, dst);
cvReleaseImage(&amp;src);
cvReleaseImage(&amp;dst);
}
346デフォルトの名無しさん:2012/11/11(日) 03:54:22.21
>>332
・複数の画像を同時に読み込む必要はない、メモリを取りすぎるからなるべく避ける
・入力画像と出力画像を同じ値にして動く関数と動かない関数がある、分けたほうが安全
・それ以降画像を使わないなら必ずcvReleaseImageする

上のコードは試してないから動くかどうかはわからない
あと、ここまで書いといてなんだが過去のコードを保守する必要がある人ならともかく
これから学ぶ初学者ならもうなるべくIplImage構造体は使わないでcv::Mat環境に移行してほしい
cv::Matはメモリの管理を自動でやってくれて信頼性が高い、メモリリークが起きにくい
347デフォルトの名無しさん:2012/11/11(日) 07:22:25.33
それよりもまず、問題が起きにくいコードにした方がいいと思う…
例えば
・ sprintf(filename, "C:\\%d.bmp", i+1); ではi+1じゃなくてiにする
・ if(src == NULL) 等の条件を追加して、画像を読み込めなかった時は中断するようにする
書き込みの時もそれなりにエラーチェックしとく
OpenCV以前の問題だけども。sprintfの打ち間違いとかね

というか質問者はまだ見てるんだろうか…
348347:2012/11/11(日) 07:29:19.08
>>345 のコードを見てのレスなので
それよりもまず、じゃなくて、そもそもでした。すんません
349デフォルトの名無しさん:2012/11/12(月) 17:14:17.15
基本ができてない→基礎からやりなおしてこい
それ以外→自分で調べろ
つまり、このスレで質問する事自体間違いなんだよ
350デフォルトの名無しさん:2012/11/12(月) 19:10:06.62
そもそも2chで何らかしらの答えを得ようって時点でおかしいだろ
351デフォルトの名無しさん:2012/11/12(月) 19:39:44.34
まー質問を書き込んでると、頭の中が整理されて自然と答えが浮かんでくるって時もあるし
352デフォルトの名無しさん:2012/11/12(月) 20:05:00.77
オープンソースなのにソース読めば分かることを聞くやつもいるよな
353デフォルトの名無しさん:2012/11/12(月) 20:39:59.81
リファレンスもわかりにくいし
仕様がころころ変わるし、正直わかりにくいという気持ちはわかる
画像処理やろうと思ったらほぼ必須なのに初心者向けの解説は少ないし
354デフォルトの名無しさん:2012/11/12(月) 23:03:39.58
パソコン初心者と画像処理初心者は違う
355デフォルトの名無しさん:2012/11/13(火) 01:46:06.41
俺は2.2から使い始めたけど、運が良かったかもしれない。
上で出てたけど環境設定とかも親切だったし
バージョン2.xはあんまり大きな仕様変更はないし、C++なので使いやすいと思う
ただ、インクルードファイルの指定がまだ謎。毎回勘で指定してる…
356デフォルトの名無しさん:2012/11/13(火) 20:20:50.38
CMakeでビルドとか面倒以外の何者でもないな
いちいちソースコードからビルドして喜ぶのなんてLinux使いくらいだろ
複数で開発するときとか環境を完全に統一したいし
せめてWindows版はexeでインストールするだけで簡単にひと通り使える
お手軽版が欲しい
357デフォルトの名無しさん:2012/11/13(火) 20:46:58.55
俺はWindowsで使う時はexeでインストールしてる。
358デフォルトの名無しさん:2012/11/13(火) 21:02:59.96
コンパイル済みのdllじゃcudaとかtbbとか細かな設定できないからcmakeもしょうがないよね
面倒だけど
359デフォルトの名無しさん:2012/11/14(水) 01:16:39.59
おまえらフリーのTBB入れるとGPLになるの認識してるか
360デフォルトの名無しさん:2012/11/14(水) 01:25:04.35
それって回避スル方法あるの
361デフォルトの名無しさん:2012/11/14(水) 01:53:15.02
2.4.3からはTBB不要の謎の高速化を実装したってリリースノートに書いてただろ、もうTBBはいらない
他の追加オプションも
・CUDA・・・3Dゲームじゃないんだから、ハイスペックなグラボとか用意してられない
そもそもRadeonとかオンボードじゃ動かない
・QT・・・GUI欲しいんなら.netでC++/CLIとか使えよ
362デフォルトの名無しさん:2012/11/14(水) 03:22:43.36
TBB使わないと並列化できないだろ
昔はOpenMPだったが今はTBBになったし
マルチコアプロセッサで並列処理したかったらIntel TBBを買うかGPLにするしかない
>>361
反論あるなら具体的にどうしたのか調べて書いておいて
363デフォルトの名無しさん:2012/11/14(水) 03:33:38.57
parallel_forのいろいろなバックエンド(OpenMPなど)の実装を作って切り替えれるようにしたのか
すみませんでした;;
364デフォルトの名無しさん:2012/11/14(水) 11:01:53.61
365デフォルトの名無しさん:2012/11/14(水) 12:29:43.03
TBBはIntelの商品だが無料版がGPLで配られている
OpenCVはTBBを使っているからIntelのTBBを買ってBSD Licenseのまま使うか
無料TBBを使ってコードをGPLにするかTBBを使わないか選択できる
366デフォルトの名無しさん:2012/11/14(水) 13:06:14.72
TBBのライセンスはGPLv2 with the runtime exceptionて言ってるけど、
with the runtime exceptionの部分はどう解釈すりゃいいの。
367デフォルトの名無しさん:2012/11/14(水) 18:27:39.27
テンプレートライブラリだからincludeしただけでコードを取り込んでしまうけど
その場合のバイナリにはGPLは適用されないということかな
368デフォルトの名無しさん:2012/11/14(水) 18:52:34.23
無理して使わなくていいじゃん
上にも書いてあるけど2.4.3からは好きな並列化処理を選べるし
もうデフォルトでも十分早い
369デフォルトの名無しさん:2012/11/14(水) 22:55:43.83
IPPやTBBみたいなIntelの商品依存の処理を全部削って欲しい
ソース読むときに邪魔なんだよ
370デフォルトの名無しさん:2012/11/15(木) 09:38:20.60
>>369

プリプロセス通した後のソースを読むっていう技術を身につけるといいよ.
371デフォルトの名無しさん:2012/11/15(木) 13:03:53.38
>>370
そのまま読んだほうがまだ読みやすいだろ
372デフォルトの名無しさん:2012/11/15(木) 15:14:27.71
IPPへの対応はIntelが政治的な理由で混入させた邪悪なコードであり
自由なソフトウェアであるOpenCVからは排除するべきだ
373デフォルトの名無しさん:2012/11/15(木) 15:42:02.04
自由ソフトウェア狂戦士登場
374デフォルトの名無しさん:2012/11/15(木) 15:50:22.13
>>372
最後に(マジキチスマイル)をつけわすれてるぞ
375デフォルトの名無しさん:2012/11/16(金) 01:48:41.83
この世のあらゆるソフトウェアを自由、フリーにしようってのがGPLだけどな
自由にしない自由はないが
376デフォルトの名無しさん:2012/11/17(土) 09:13:35.30
Pythonってどうなん?
cv2がバグだらけとか(未検証)
Python3に対応してないとか
C++に比べて遅すぎるとか
結構問題点が多そうだけどC++より使いやすいかな?
新規にPython2覚えるのもどうかなと思うけど
377デフォルトの名無しさん:2012/11/17(土) 21:02:27.14
Pythonは一応公式な対応だろ
他の勝手対応よりはいいと思うが(未検証)
378デフォルトの名無しさん:2012/11/18(日) 05:32:31.56
俺もPythonバインディングは使ってないw(使ってる人いる?)
C++でも十分使いやすいけどなあ.あとやっぱり新しい実装が使えるから本家の方が楽しい.
379デフォルトの名無しさん:2012/11/18(日) 19:11:50.73
PythonのCV使ってみたけど
結局CでOpenCV知ってないと使えないから
Cで勉強するのと手間変わらない
380デフォルトの名無しさん:2012/11/18(日) 21:41:00.89
Pythonで書けばスクリプト言語だから簡単にWebアプリ作れるし
GoogleAppEngineとかGoogleのプロダクトに乗っかれるし
最優秀プログラム言語に選ばれてるから開発効率上がるし
Pythonに山ほどあるライブラリで機械学習とかできるし
C++からの移行も簡単だし
なんてのは妄想か
ちなみにGoogleAppEngineはOpenCVに対応してませんでした
381デフォルトの名無しさん:2012/11/18(日) 21:52:11.42
>>380
パイソンってそんなに認められてる言語なの?
日本の仕事案件では1度も名前聴いたことないわ
382デフォルトの名無しさん:2012/11/19(月) 00:48:41.16
自分も日本の仕事では見たことないなあ。
海外の研究所(アメリカとかヨーロッパとかの)の研究成果を実用化するって、
案件だと、ここ10年で4回ほどあった (C++ SWIG/boost::python + Python)。
383デフォルトの名無しさん:2012/11/19(月) 01:03:51.86
>>381
アメリカでは流行ってるらしい
主にGoogleが流行らそうとしてるみたいで
Youtubeでかなりの処理をPythonが担っているのは有名

日本じゃあまり有名じゃないけどね
いろいろ便利そうだしライブラリも充実してるみたいだし
OpenCV使えるんなら何か面白そうなことができるかもね
384デフォルトの名無しさん:2012/11/19(月) 05:56:38.08
CMU が教養のコンピュータサイエンスで
Python (手続き型代表、逐次) と Standard ML (関数型代表、並行・並列)
を教えるようになったくらいで、もっとメジャーになるかも。両方とも、
基礎的な概念を、余計なコードなしに実装できる
実用的。実社会での日常的な課題を解決するのに使える
とか。 http://reports-archive.adm.cs.cmu.edu/anon/2010/CMU-CS-10-140.pdf
385デフォルトの名無しさん:2012/11/19(月) 10:44:09.36
公式にC#に対応しないかなぁ
386デフォルトの名無しさん:2012/11/19(月) 18:57:07.28
Portable PythonとPyScripterで少し遊んでみたけど
PythonネイティブじゃないからなのかOpenCVの関数のコード補完が効かない
とても開発効率が上がるとは思えないんだが
他にも微妙に関数の仕様がC++とは違うし
画像の縦横がrows,colsじゃなかったりとよくわからん仕様が多い
リファレンスも英語しかない、慣れたら読めるけど
387デフォルトの名無しさん:2012/11/20(火) 01:25:45.13
スクリプトで全部使えれば便利でしょ
最近の研究者はNumPyとか使っていることが多いから
自分の実験環境でOpenCVが手軽に使えるようになる
388デフォルトの名無しさん:2012/11/20(火) 01:44:01.32
OpenCvSharpで質問
CvMatはDisposeする必要があるってのはいいんですが、
GetSubRectで割り当てられたヘッダーの方もDisposeするべきなんでしょうか?
389デフォルトの名無しさん:2012/11/20(火) 17:50:48.42
サンプルではDisposeしてないな
390デフォルトの名無しさん:2012/11/20(火) 20:51:45.97
言いたいことも言えないこの街じゃ
391デフォルトの名無しさん:2012/11/20(火) 21:25:19.30
>>389
ども!ありがとうございました
392デフォルトの名無しさん:2012/11/21(水) 19:16:48.16
質問です。
ppenCVでマイクロオフィスのword2010にあるような
背景を自動的に読み取って対象物を切り抜くっていうプログラムは出来るでしょうか。
できるとしたらそれが出来る関数を教えてくれたら嬉しいです
393デフォルトの名無しさん:2012/11/21(水) 20:48:43.42
>>386
仕様が違うくらいならいいけど、ところどころオミットされてたりして参る
コンストラクタが呼べずファクトリーだけだったりとか
まあctype経由って手も無くはないが
394デフォルトの名無しさん:2012/11/25(日) 11:11:42.51
opencvを使って画像を大津の方法で三値化することってできますか?
いろいろ探したんですがわからず...
出来ればその理論などをまとめてあるところがあったら教えて欲しいです。
395デフォルトの名無しさん:2012/11/25(日) 12:00:04.32
>>394
普通にcvThresholdを2回呼べばいいんじゃない?
396デフォルトの名無しさん:2012/11/25(日) 13:32:18.15
>>395
分割して、2分割したどっち側をもう一回処理すればいいんですか?

でもやっぱり,最初から3値化するのと、
2値化して、どちらか片側を2値化して三値化するのって違う結果が出そうだなあと思ったんですが。

なんというか、全体的に伝わりにくくてすんません。
397395:2012/11/25(日) 14:14:02.16
>>396
ごめん。大津ってのよくわかってなかった。
大津って2値化の場合分離度が最大となるのがしきい値みたいだけど
3値化の場合はどこにしきい値設定するの?
thresh.cppみた感じだと最大の値しか返してないから他なら自分で変更してビルドし直すしかないかもね。
398デフォルトの名無しさん:2012/11/25(日) 14:38:21.16
>>397
いえ、こちらこそ紛らわしくてすみません。
自分もどうやって3値化すればいいかわかりません。

今、卒論で参考にしている文献がありまして、模倣実験をしたいんですが、
「大津の方法で輝度ヒストグラムを3つに分離する2つの閾値を選択する」としか書いてなくて困っています。
わからなかったら、2値化を2回しようと思うのですが...
その場合は最初の2値化をした後、分散の大きい方をもう一度2値化するとかでしょうかね。

なんかスレチっぽくなってしまってすみません。
399デフォルトの名無しさん:2012/11/25(日) 14:53:23.36
関数が用意されてないなら、自分で大津の方法を3分割に拡張したものを書くしかないんじゃないかな。
8bitグレーなら全探索でも32768回だしいけるかと。

判別分析法(大津の二値化) 画像処理ソリューション
http://imagingsolution.blog107.fc2.com/blog-entry-113.html
400デフォルトの名無しさん:2012/11/25(日) 16:37:50.20
3値以上ならkmeansでいいだろ
401デフォルトの名無しさん:2012/11/25(日) 16:44:01.50
模範実験なら同じにしないとダメだな
"重判別分析"ってやつじゃね
402デフォルトの名無しさん:2012/11/25(日) 21:38:33.30
ステレオ平行化がしたいのですが、名前空間cvが導入された
2.0系でステレオ平行化のサンプルありませんか?
どーも動かないサンプルしか自分では発見できませんでした
403デフォルトの名無しさん:2012/11/25(日) 21:57:27.32
>>402
OpenCVのバージョンだとか、何がどう動かないのか、どういうエラーメッセージとか書いた方がいいんじゃないかな。
エスパーで答えるなら>>91
404デフォルトの名無しさん:2012/11/25(日) 22:04:54.15
>>403
opencv1.0系の名前空間cvがない頃のステレオ平行化は持っているのですが
OpenCV2.3.0で古い方を参考にやると、
コンパイルエラーは出ないのですが、画面が真っ黒に
表示されてしまいます。
今は自宅なので、開発環境とコードは学校のパソコンにあるので
また、後日詳細な報告します。

OpenCV1.0系をOpenCV2.3.0に書き換えると不具合ってあり得るのでしょうか?
405デフォルトの名無しさん:2012/11/26(月) 01:07:26.64
yes
406デフォルトの名無しさん:2012/11/26(月) 06:18:48.00
サンプルが動くとか動かないとかではなく
ドキュメント読んでから動くように書け
407デフォルトの名無しさん:2012/11/26(月) 10:24:02.86
>>404
インクルードしてないlibがあるとかそれくらいしか思い付かない
408デフォルトの名無しさん:2012/11/26(月) 11:48:53.66
なんでバージョン全然違うのに
そのまま動くと思っちゃったんだろ
409デフォルトの名無しさん:2012/11/26(月) 11:52:30.42
でも、本当はそうあるべき
410デフォルトの名無しさん:2012/11/26(月) 12:37:53.52
現実そうなっていないものを
そうなっているはずだと思い込むのが異常なんです
411398:2012/11/26(月) 14:07:20.40
>>401,399
調べてみたら重判別分析っぽいです。
でもけっこう難しくてよくわかりませんでした.

単純に>>399の式を拡張すればいいんでしょうか
例えば、クラス内分散を
(ω1σ1^2+ω2σ2^2+ω3σ3^2)/ωt
クラス間分散を
{ω1(m1-mt)^2+ω2(m2-mt)^2+ω3(m3-mt)^2}/ωt
という感じで。
412399:2012/11/27(火) 00:28:36.43
>>411
クラス内外の分散の数式が正しいかどうかは俺はわからない(ごめんね)けど、
そんな感じで評価関数作って閾値の組を全通り(256階調なら32768通り)試してみて
最大だか最小だかになるのを探せばいいと思う。
これは泥臭いやりかたなのでもっとエレガントな方法はあるかもしれない。
まあ模倣実験なら多少遅くても結果さえ正確ならいいんじゃないかなーってね。
413398:2012/11/27(火) 18:22:41.59
>>412
ありがとうございます。
あんまり時間に余裕ないんでこれでやってみようと思います。
414デフォルトの名無しさん:2012/11/28(水) 01:07:46.76
ステレオ平行化するにあたって、
OpenCV2.3.0において関数cv::findFundamentalMat()の
第1の引数points1に画像1の特徴点(x,y)をN組み入れる
第2の引数points2に画像1の特徴点に対応する画像2の特徴点(x,y)を
M組み入れる。points1とpoints2を
vector< Point2f > points1;vector< Point2f > points2;とすると
組みの個数はpoints1>points2になると思うのですが、
http://opencv.jp/opencv-2svn/cpp/camera_calibration_and_3d_reconstruction.html#cv-findfundamentalmat
ではpoints1とpoints2は同じサイズと載ってます。
ということはpoints2ってなにか空の値が格納されているのでしょうか?
415デフォルトの名無しさん:2012/11/28(水) 06:21:12.80
このスレ何人が見てるの?
OpenCVって日本じゃ流行ってないの?
416デフォルトの名無しさん:2012/11/28(水) 07:55:27.98
日本人だと思うよ
417デフォルトの名無しさん:2012/11/28(水) 08:31:05.59
>>414
>組みの個数はpoints1>points2になると思うのですが、
ならない
対応点だから同じでは
418デフォルトの名無しさん:2012/11/28(水) 10:20:35.68
N組とM組じゃなくて、N個とN個
419デフォルトの名無しさん:2012/11/28(水) 18:36:37.53
馬鹿ばっか
420デフォルトの名無しさん:2012/11/28(水) 19:16:05.97
jpgファイルをbmpに変換するにはどうすればいい?
421414:2012/11/29(木) 00:06:02.57
すいません勘違いしてました。
surfで特徴点をそれぞれ画像1からa個と画像2からb個抜き出し、
画像1の特徴点のうち画像2に対応する特徴点をt個選ぶので、
a≠bでcv::findFundamentalMatの第1引数と第2引数は
points1とpoints2は同じサイズってことなのですね。
この時cv::findFundamentalMatが正常に動く、対応する特徴点tは
最低何個必要なのでしょうか?
422デフォルトの名無しさん:2012/11/29(木) 00:20:50.57
自分で貼ってるリンク先に指定するアルゴリズムごとの値が日本語で書いてあるじゃないか
423デフォルトの名無しさん:2012/11/29(木) 00:37:50.66
馬鹿ばっか馬鹿ばっか馬鹿ばっか馬鹿ばっか
424デフォルトの名無しさん:2012/11/29(木) 17:33:29.99
>> 290
にもあるのですが、cv::matchTemplate() だと内部でdftしててTM_SQDIFFで結構誤差が大きいようです。
速度維持できてて正確に判定できる(?)方法ないでしょうか。
cv::norm L2だと正確に結果出るのですが遅くて・・・
425デフォルトの名無しさん:2012/11/30(金) 18:12:07.40
OpenCV で GIF を扱えないのは何故でしょうか?
426デフォルトの名無しさん:2012/11/30(金) 19:13:40.13
英語でウィローガレージの人に聞いてください

想像するに、画像のコンテナとしては魅力的じゃないからでしょう
427デフォルトの名無しさん:2012/11/30(金) 19:49:41.53
GIF読む必要なし
428デフォルトの名無しさん:2012/11/30(金) 20:14:47.14
岐阜ってもう流行ってないの?
429デフォルトの名無しさん:2012/11/30(金) 20:19:21.47
流行ってれば風邪でも歓迎するくらいの勢いだな
流行ってるとかの問題じゃなく画像処理において役に立たないという話
430デフォルトの名無しさん:2012/11/30(金) 20:26:44.40
uNiSyS
431デフォルトの名無しさん:2012/11/30(金) 21:03:51.94
256に減色されてるのをソースにされてもな、って感じなんかな
下手に対応するとおバカさまがGIF使って、なんか精度悪いとかいいそうだし
432デフォルトの名無しさん:2012/11/30(金) 21:05:17.17
グレスケはどうなんだと言い出しそうだから追加しておくけど
キャパシティってのがあるわけよ
頑張って256色と敢えて256色は違う
433デフォルトの名無しさん:2012/11/30(金) 22:00:44.23
パレット方式がいろいろ都合悪そうだね。
入力画像には使えても画像処理の出力にパレットは使いにくい。
434デフォルトの名無しさん:2012/11/30(金) 22:51:58.26
文句言う時だけ伸びるね
馬鹿ばっか
435デフォルトの名無しさん:2012/12/01(土) 00:26:35.60
透明色、パレット、アニメと面倒な仕様が多いしgiflibはバグってる
436デフォルトの名無しさん:2012/12/01(土) 00:29:23.82
日本の古代の遺産であるsusie plug-inのハンドラを書けばいいと何度か思ったが
オープンソースではないからな
437デフォルトの名無しさん:2012/12/01(土) 05:41:39.91
岐阜にこんなに人が集まるとは思いもよりませんでした。
みなさん内心は使いたいと思っている人が多いということの
裏返し現象ですね。わかります。
438デフォルトの名無しさん:2012/12/01(土) 11:49:17.08
自分では使いたくなくてもユーザーが使いたいというからな
439デフォルトの名無しさん:2012/12/02(日) 09:12:53.19
再生プレイヤーを作っています。
cvshowImageで作ったウィンドウにファイルドラッグドロップして再生するファイルを選択させたいのですが、
コールバック関数ありますか?
440デフォルトの名無しさん:2012/12/02(日) 11:10:14.78
無いんじゃね
そういう仕事はGUIツールキットのものでしょ
何で再生プレーヤー作りたいのか知らんけど、
そういう時はOpenCVじゃなくてffmpeg使うんじゃないの
やったこと無いけど
441デフォルトの名無しさん:2012/12/02(日) 18:21:28.58
ありがとう!
無いのか残念です( ´△`)

ベタ動画イメージファイルだったんで、opencvで作るのが楽かなってguiサボりでした。
マウスコールバックで出来ないか考えて見ます
442デフォルトの名無しさん:2012/12/03(月) 21:39:12.82
もう頼むからみんなIplimage構造体使うのは止めてくれよ
cv::Matに移行してくれよ、初心者とかは特に
超使いやすくなってるから
443デフォルトの名無しさん:2012/12/03(月) 22:28:18.48
資料の数の問題だな
444デフォルトの名無しさん:2012/12/03(月) 23:40:08.67
質問です。
openCV2.0、eclipeseのC++で、for文をつかって加工した画像をpict.jpg、pict1.jpg、pict2.jpg…
って感じで連続した番号をつけて全部保存するプログラムをつくっているのですが
::cvSaveImage()だとパラメーターの問題で番号がふれなくてこまってます。
だれか連続した番号をファイル名にして画像を保存できる関数とか知っている人がいたら
教えてくれませんでしょうか。
445デフォルトの名無しさん:2012/12/03(月) 23:49:31.13
C++ is こわい
446デフォルトの名無しさん:2012/12/03(月) 23:56:56.14
>>444
sprintfやstringstreamで作ればいいだろ
OpenCV関係ないし、プログラミング初心者は基礎を何年か勉強してから手を出せ
447デフォルトの名無しさん:2012/12/04(火) 00:03:20.53
ファイル名 連番 とかでググったらいくらでも出てくんだろ
448デフォルトの名無しさん:2012/12/04(火) 02:05:00.89
>442
名前が悪いな
449デフォルトの名無しさん:2012/12/04(火) 06:46:41.57
>>445 >>446
アドバイスありがとうございます。
c++でできるとは思っていなかったので調べてなかったです。。申し訳ございません
勉強して出直してきます
450デフォルトの名無しさん:2012/12/04(火) 06:51:46.97
レス番間違ってました。
>>446 >>447でした。
失礼いたしました
451デフォルトの名無しさん:2012/12/04(火) 10:27:12.63
>>446

cv::format って知ってる?
452デフォルトの名無しさん:2012/12/04(火) 14:10:46.04
>>451
なにこれ!sprintfとstringとiostreamのいいところどり!!便利!!!
とでも言って欲しいのか?アホか
453デフォルトの名無しさん:2012/12/04(火) 16:24:23.73
すみません。初心者なのですが質問です。

cvCreateImageでdepthをIPL_DEPTH_8U、cnannelsを1と設定した、IplImage構造体の輝度値をいじろうと思い、
「変数名」->imageData[i]=255;とすると、
'=' : 定数値が切り捨てられました。というような警告が出ます。
これはimageDataが符号なしで宣言されていないということでしょうか。

いろいろ調べてもいまいちどう宣言すればいいかよくわかりません。
454デフォルトの名無しさん:2012/12/04(火) 16:29:04.38
符号のある8Uって何だw
-128〜127の画像とかあるのかね?
455デフォルトの名無しさん:2012/12/04(火) 16:45:45.12
正直良くわかりません

IplImage *labelimg = cvCreateImage(cvGetSize(img),IPL_DEPTH_8U, 1);
for(i=0;i<labelimg->height*labelimg->width;i++){
if(dst[i]=0)
labelimg->imageData[i]=0;
else
labelimg->imageData[i]=255;
}

という風にしているだけなんですが
labelimg->imageData[i]=255;の行で、'=' : 定数値が切り捨てられました。と警告が出てしまいます。
456デフォルトの名無しさん:2012/12/04(火) 17:20:21.00
457デフォルトの名無しさん:2012/12/04(火) 18:06:14.75
imageDataに直接アクセスするのをやめろ
型の情報を持っていないだろ
458デフォルトの名無しさん:2012/12/04(火) 18:23:52.68
>>455
CV_IMAGE_ELEMかcvGet2Dを使う
C言語だとIplImageの型がcvCreateImageのパラメータによって変わることはない
459デフォルトの名無しさん:2012/12/04(火) 18:41:31.08
なるほど納得しました。
ありがとうございました。
460デフォルトの名無しさん:2012/12/04(火) 20:27:24.17
>>454
charを数値として使う場合はsigned,unsignedを明記した方がよいらしい
461デフォルトの名無しさん:2012/12/04(火) 21:26:34.23
もっと言うと
>>455の処理はcv::threshold使えば簡単に書ける
cvThreshold(labelimgage, labelimg, 0, 255, CV_THRESH_BINARY);

さらにもっと言うと
初心者で画素値の操作を頻繁にするのなら
IplImage構造体使うのはやめてcv::Mat_型使うべき
462デフォルトの名無しさん:2012/12/04(火) 21:57:28.09
C言語だとcv::Mat使えないので
463デフォルトの名無しさん:2012/12/04(火) 23:04:36.63
ステレオ平行化のため、2枚の画像で対応したsurfで特徴点を
抽出して基礎行列Fとホモグラフィ行列H1とH2を求めるのが、
チェスボード使用の時と比較して、ホモグラフィ行列が、
画像を歪め過ぎて使い物にならないときが結構あるのですが、
これってどうやったチェスボード使用時と同じくらい精度が
上がりますか?SURFでの特徴点の抽出はうまくいってるのですけど。
464デフォルトの名無しさん:2012/12/05(水) 00:43:09.61
まずSURFのマッチング結果に誤対応点が一切ないか確認
数%でも全然違うミスマッチがあると使いものにならない

あと基本的にチェッカーボードと比較するとSURFとかSIFTの点の位置精度はかなり低い
だから一見合っているようでも画素レベルでみると結構ずれてることは多いので精度はどうしてもさがる
465デフォルトの名無しさん:2012/12/05(水) 01:08:10.04
>>463
SURFの特徴点とその対応関係を決めるのがうまくいっていないから
うまくいっていないのでは
466デフォルトの名無しさん:2012/12/05(水) 01:14:01.07
レンズ歪みが悪さしてたりしないの?
467デフォルトの名無しさん:2012/12/05(水) 01:18:07.83
うまくいっていたら質問しません
468デフォルトの名無しさん:2012/12/11(火) 15:29:28.06
人間性の問題
469デフォルトの名無しさん:2012/12/11(火) 21:23:28.75
ビデオからフレーム毎にmatに入れたいのですがframeの中身が全部同じになってしまいます。
どこがおかしいのでしょうか?
cv::VideoCapture cap("test.avi");
cv::Mat frame[10];
for(int i=0;i<10;i++){
 cap >> frame[i];
 if(frame[i].empty()) break;
}
470デフォルトの名無しさん:2012/12/12(水) 01:07:03.15
cv::imshowでウインドウの表示の際に
ウインドウがアクティブになる時とアクティブならない時
があるのですが、作ったプログラムを読んでもさっぱり
原因が分かりません、実行後にウインドウがアクティブか
非アクティブかは何で決まるのでしょうか?
471デフォルトの名無しさん:2012/12/12(水) 01:09:01.43
>>469
これが原因かな?実体を保存しないといけない
http://stackoverflow.com/questions/4567188/read-successive-frames-opencv-using-cvqueryframe

つまり、
cv::Mat temp;
for(int i=0;i<10;i++){
cap >> temp;
temp.copyTo(frame[i]);
...
}
でどうでしょう
472デフォルトの名無しさん:2012/12/12(水) 01:09:42.07
OSの気持ち
473デフォルトの名無しさん:2012/12/12(水) 01:12:49.93
>>496
なんか間違ってない?こーだろ?
cv::VideoCapture cap("test.avi");
while (1){
cv::Mat frame;
cap >> frame;
if(frame.empty()) // 再生終了時にはemptyが設定される
{std::cout<<"終了"<<std::endl;break;}
〜なんか適当な処理〜
}
474デフォルトの名無しさん:2012/12/12(水) 01:12:57.98
しかしstackoverflowはなんであんなに役に立つのか
475473:2012/12/12(水) 01:14:41.96
ミスった
>>496じゃな>>469
476デフォルトの名無しさん:2012/12/12(水) 01:34:52.15
>>470
俺も知りたい。本当にOSの気持ち?

一応ウィンドウを常にアクティブ(トップ)にする方法はあるみたいで
http://stackoverflow.com/questions/8417531/opencv-how-to-force-the-image-window-to-appear-on-top-of-other-windows
によると、OSごとに対策が異なるらしい。
477469:2012/12/12(水) 02:47:35.26
>>471
ありがとうございます!おかげさまで解決できました!

>>473
while文中で現在のフレームと過去のフレームを比較したかったので、
あらかじめ過去のフレームを保存する必要があったのです。
478デフォルトの名無しさん:2012/12/12(水) 03:29:30.17
そして2chはなぜ役に立たないのか
479デフォルトの名無しさん:2012/12/12(水) 05:09:33.90
http://answers.opencv.org/questions/
こっちも要チェックだ
480デフォルトの名無しさん:2012/12/12(水) 18:00:40.70
>>478
役立つコメントをよろしく
私は1.1preから抜け出せないから。
481デフォルトの名無しさん:2012/12/12(水) 21:34:05.36
>>478
便所はションベン垂らす所だからな
482デフォルトの名無しさん:2012/12/15(土) 03:26:07.09
初心者ですが質問です。
今、ピクセル制度で画像の大きさを取得して表示するというプログラムを作っています。
コンパイルは出来るのですが、なぜかexeを動かすと止まってしまいます。
ソースは http://codepad.org/WwHEHIsa のようになったのですが
なぜかうまくいきません。
初歩的な質問で申し訳ございませんが、一体どうやればピクセル精度の画像サイズを
取得し表示させることが出来るのか教えてくれたら幸いに思います。。。
483482:2012/12/15(土) 03:27:24.73
すいません誤字がありました
ピクセル制度 → ピクセル精度です。
申し訳ございません
484デフォルトの名無しさん:2012/12/15(土) 04:49:59.70
うちでは動いたよ
485デフォルトの名無しさん:2012/12/15(土) 05:03:53.99
>>482
ttp://codepad.org/UxsT0RIy
画像読み込みのとこが怪しい

IplImageは古いのでC++のcv::Mat推奨
ttp://codepad.org/Z13O7nZy
486デフォルトの名無しさん:2012/12/15(土) 05:04:02.06
cv::Mat使おうよ…
487デフォルトの名無しさん:2012/12/15(土) 10:03:44.72
C++は糞
488デフォルトの名無しさん:2012/12/15(土) 10:41:05.64
cv::Matを使えとか本質できないお前の希望を語って混乱させる馬鹿は
上記プログラムがIplImageで動かずcv::Matで動く理由を正確に述べてからにしろ
489デフォルトの名無しさん:2012/12/15(土) 10:50:45.59
俺も本質できなくて困った
490デフォルトの名無しさん:2012/12/15(土) 10:55:00.26
本質できないワロス
491デフォルトの名無しさん:2012/12/15(土) 11:18:05.81
mainの戻り値無くてもコンパイルエラーにならないんだな
492デフォルトの名無しさん:2012/12/15(土) 11:24:54.35
C++はね
493デフォルトの名無しさん:2012/12/15(土) 11:41:37.71
>>482
"ファイル名"なんていうファイルが無いから、画像の読み込みに失敗してimgが0なのに img->widthとかやって落ちてるんじゃね
読み込み成功/失敗のチェックをcvLoadImageの後に入れてみれば
494482:2012/12/15(土) 12:05:30.19
>>485
ありがとうございます!動きました。本当に助かりました

CVMAtのほうが新しいのでソレを使うほうがいいというの知りませんでした。
余裕があったらCVMATでプログラム書き換えてみようと思います。
495482:2012/12/15(土) 12:08:08.76
>>493
すいません、ファイル名というのは一応便宜上名前を変えています。
本当は画像のファイル名が入ってます。

しかし原因はどうもソレだったらしく、調べてみたら動くようになりました。
ありがとうございます
496デフォルトの名無しさん:2012/12/15(土) 12:08:13.00
結局なんだったの
497デフォルトの名無しさん:2012/12/15(土) 14:33:55.80
ファイル名
"c:\test.jpg"
とかかな
498デフォルトの名無しさん:2012/12/15(土) 16:29:15.40
本質的でないtypoは無視しろ
499デフォルトの名無しさん:2012/12/15(土) 18:32:53.86
本質できないレスで混乱させるのはやめろ
500デフォルトの名無しさん:2012/12/15(土) 20:23:40.05
馬鹿ばっか
501デフォルトの名無しさん:2012/12/15(土) 20:33:50.43
馬鹿には無理
502デフォルトの名無しさん:2012/12/16(日) 03:39:20.79
馬鹿と書き込むことが知的な行為だと思っているスーパー馬鹿
503デフォルトの名無しさん:2012/12/16(日) 09:23:02.00
馬鹿って書かれているうちはまだ良い方だろ
504デフォルトの名無しさん:2012/12/16(日) 22:47:24.49
ばかばかばかぁ〜
505デフォルトの名無しさん:2012/12/16(日) 23:07:20.65
ググるのが仕事だと思ってるゆとりはまだマシなほうで、
掲示板で聞くしか脳の無い馬鹿とかマジで死んで欲しいわ
なんで自分で解決出来ないの?
ソース読めないの?英語理解出来ないの?
506デフォルトの名無しさん:2012/12/16(日) 23:22:17.11
ていうか、自分で一から実装できないの?
507デフォルトの名無しさん:2012/12/17(月) 02:38:08.10
>>505 >>506
そういうやつはこのスレに来ないから
このスレに来るやつはそうじゃないやつに決まってるだろ
508デフォルトの名無しさん:2012/12/19(水) 05:55:38.99
OpenCV2.4.3.2ってなんだよ
相変わらずリリースの流れが読めないな
509デフォルトの名無しさん:2012/12/22(土) 21:57:40.02
>>497
最初が t だと気づかないかもな
510デフォルトの名無しさん:2012/12/25(火) 16:42:44.83
CVでメモリリークが起きてしまうため助言頂けたらと思います.
環境はVisualStudio2010で,MFC,ダイアログベース(CFormView),OpenCV2.3を使っています.
以下のプログラムを実行するとメモリリークが起こります.
CvMat *cvCov = cvCreateMat(1,1,CV_32F);
cvReleaseMat(&amp;cvCov);
この2行を記述しリビルドを行うと8つのメモリリークが起きます.
この2行をコメントアウトして,リビルドを行うと解消されます.
この関数は通らないようにしても同様のメモリリークが発生します.
cvCreate,Releaseの数を増やしましても必ず8つだけ発生します.
原因をご存じの方がいれば助言お願いいたします.
511デフォルトの名無しさん:2012/12/25(火) 17:17:26.63
大抵のバグは本人が関係無いと思って省略している部分にある
512510:2012/12/25(火) 17:35:01.06
訂正
cvReleaseMat(&amp;cvCov);→cvReleaseMat(&cvCov);
です.すみません.よろしくお願いします.
513510:2012/12/25(火) 17:59:01.33
>>511
新しいプロジェクトを立ち上げ,上の2行だけを追加して実行した結果も同じようになりました.
そして更に訂正で,ダイアログベース→シングルドキュメントでした.
CFormViewとOpenCVは相性が悪いのでしょうか
514デフォルトの名無しさん:2012/12/25(火) 18:09:52.86
515デフォルトの名無しさん:2012/12/25(火) 18:10:46.17
516510:2012/12/25(火) 19:50:51.53
>>515
全く同じ状態ですね,ありがとうございます.
cv::Mat
のほうで試してみても同様のメモリリークがおきました.
URL先の記述には気にしないでと書いてましたし,CFormViewとOpenCVの相性が悪いという事でとりあえずこれで進めていこうと思います.
ありがとうございました.
517デフォルトの名無しさん:2012/12/25(火) 20:12:58.94
Do not worry 以外読んでないだろ。
518デフォルトの名無しさん:2012/12/25(火) 21:55:29.40
ドントウォーリー!
ビーハッピー!!!!
519510:2012/12/26(水) 09:36:43.28
データ構造内部のメモリリーク,100*100行でも同じメモリリークが発生する.
と読取りました.データ構造内部のメモリリークは色々探しましたが検討がつかないため断念しています.
520デフォルトの名無しさん:2012/12/26(水) 13:38:38.91
>>510
ループしてメモリが増え続けるの?
ライブラリのグローバルな領域を初回呼び出し時に動的に確保したまま
プロセス終了時まで使うような処理があると
機械的なメモリリークチェックにひかかるがプログラム的に問題はない
521510:2012/12/26(水) 16:04:00.41
>>520
ありがとうございます.
ループしても変わりません.
createとreleaseを1000回ループしても,変わりませんでした.
ちなみに,メモリリークしたバイト数は上から順に以下のようになっていました.
29bytes,57bytes,54bytes,53 bytes,
61bytes,53bytes,61bytes,56bytes
行列確保でのメモリリークではないと思いますのでおっしゃる通りチェックに引っかかってるのかもしれません
522デフォルトの名無しさん:2012/12/26(水) 16:09:23.64
最新版を使ってみる
523デフォルトの名無しさん:2012/12/26(水) 17:14:35.42
>行列確保でのメモリリークではないと思いますのでおっしゃる通りチェックに引っかかってるのかもしれません

肛門がムズムズするw
524デフォルトの名無しさん:2012/12/26(水) 17:17:27.40
MFCのメモリリーク検出って何か#defineするだけなんだったっけ?
win32 APIの::_CrtSetDbgFlag(_CRTDBG_LEAK_CHECK_DF | _CRTDBG_ALLOC_MEM_DF)
に相当するものがあってそれを(あるいは使用可能ならこれを)使ってるならいいんだけど。

もう名前忘れたけど似たようなやつで、この関数呼べばメモリリークチェックするっていう関数を
main()の最後に置いたときに、グローバルに置いたオブジェクトが当然解放されてないため
メモリリークとして検出されるっていうのはあった。
525デフォルトの名無しさん:2012/12/26(水) 19:46:14.25
CvMat *cvCov = cvCreateMat(1,1,CV_32F);
cvReleaseMat(&cvCov);
delete cvCov;
とかやったらどうなるのっと
526デフォルトの名無しさん:2012/12/26(水) 19:50:53.24
何も起きません。
527デフォルトの名無しさん:2012/12/26(水) 21:03:52.00
>>521
メモリリークチェックツールを使っていると当たり前にあることだから
ツールの使い方を改めたほうがいいと思う

>>525
cvReleaseMatは開放したあとNULLをセットするしdelete NULLはC++の仕様上何も起きないからつまり何も起きないけど
異なるallocatorが確保したメモリを開放しようとする誤ったコードに何の意味があるの?
馬鹿なの?
528デフォルトの名無しさん:2012/12/27(木) 01:55:55.72
529510:2012/12/27(木) 10:56:17.49
ありがとうございます.
メモリリークのチェックには
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
を使用しております.
プロジェクト作成時に生成されたstdafx以外のクラスと,自分で作成したクラスすべてに書いています.
書き方が悪く,勘違いさせてしまっている可能性があるので疑似コードとして示しておきます.
void Debug(void){
CvMat *cvCov = cvCreateMat(1,1,CV_32F);
cvReleaseMat(cvCov);
}
void main(void){}
でメモリリークが起きます.main関数でDebug関数を呼び出していないのは仕様です.
また,MFCの使用方法を共有DLLからスタティックライブラリに変更したところメモリリークは起きなくなったため,
やはりMFC側の問題なのではと思っています.
530デフォルトの名無しさん:2012/12/27(木) 14:24:03.58
MFC は糞
GTK よりも糞
531デフォルトの名無しさん:2012/12/31(月) 17:18:33.78
mfcとxlibって、どっちが糞なんだろう
532デフォルトの名無しさん:2012/12/31(月) 18:11:22.32
mfcmfc
533デフォルトの名無しさん:2012/12/31(月) 18:48:47.41
よそでやれよ
534デフォルトの名無しさん:2013/01/09(水) 01:54:04.22
メモリリークいやならCは捨てて
C++かPythonで書くべき
535デフォルトの名無しさん:2013/01/09(水) 02:20:05.85
Cでリークするプログラム書く人はC++でもリークすると思うぞ。
536デフォルトの名無しさん:2013/01/09(水) 09:04:36.75
C#でおk
537デフォルトの名無しさん:2013/01/09(水) 18:37:21.84
C#でもリスト構造に限界なくaddし続けてリークに近い状態に
する人は必ず出てくる。
538デフォルトの名無しさん:2013/01/09(水) 19:37:22.29
リークに近いってなんぞ
539デフォルトの名無しさん:2013/01/10(木) 13:05:23.38
シュレディンガーのメモリリーク
またの名を死のデバッグ作業と言う
540デフォルトの名無しさん:2013/01/11(金) 09:38:01.88
気付かずにc++でiplimageとcvmat相互変換とかしてた死にたい
541デフォルトの名無しさん:2013/01/11(金) 23:16:07.45
ttp://news.mynavi.jp/news/2013/01/11/083/
なにこれOpenCVよりつおいの?
542デフォルトの名無しさん:2013/01/11(金) 23:30:29.42
>>541
MILみたいなものじゃね?
543デフォルトの名無しさん:2013/01/12(土) 00:57:23.26
>>541
てかOpenCVベースでチューニング、最適化をはかってるんでしょ
OpenCVの上位互換って考えていいんじゃないの?
ただ有料だろうけど
544デフォルトの名無しさん:2013/01/12(土) 10:57:11.45
直接OpenCV使えば良いだけ
メリットが判らん
545デフォルトの名無しさん:2013/01/13(日) 13:21:16.11
>>541
組み込み機器で使いやすくなりました☆っちゅうことじゃないのん?
546デフォルトの名無しさん:2013/01/13(日) 13:34:12.97
OpenCVから組み込みへのラッパーみたいな感じ?
ライセンス的にこういう売り方ってOKなんだっけ?
547デフォルトの名無しさん:2013/01/13(日) 13:40:06.01
>>546
内部コードを触るようなカスタマイズじゃなければおkじゃなかった?
548デフォルトの名無しさん:2013/01/13(日) 13:44:52.95
組み込み機に入れやすくなったのは嬉しい
でもSOCのコアが必要で実質専用チップ製造が必要くさいな
FPGAでも出来るのかな
549デフォルトの名無しさん:2013/01/14(月) 14:38:44.67
>>543
機能抽出だから下位互換じゃね?
550デフォルトの名無しさん:2013/01/14(月) 16:34:27.86
>>549
そっか機能絞ってるって意味では下位だね
551デフォルトの名無しさん:2013/01/16(水) 18:44:36.23
>>547
BSD Licenseだからどこをカスタマイズして売ろうがいいですよ
552デフォルトの名無しさん:2013/01/20(日) 18:14:22.70
画像処理だけじゃなくて数値計算一般でも最速はOpenCVってことでいいの?
553デフォルトの名無しさん:2013/01/20(日) 21:49:48.02
openvのほとんどの実装は遅い
フィルタ処理あたりはまぁまぁだけど
数値計算で最速求めるならちゃんと金だしてライブラリ買いましょう
554デフォルトの名無しさん:2013/01/21(月) 04:11:40.01
>>552
ねーよw
555デフォルトの名無しさん:2013/01/21(月) 08:33:06.03
おかげでOpenCVの○○と同じ機能を高速化して
という案件があるわけだ
556デフォルトの名無しさん:2013/01/22(火) 22:23:18.69
>>555
なんか楽そうな仕事でいいな
557デフォルトの名無しさん:2013/01/23(水) 23:15:40.57
OpenCVの行列計算はよくあるライブラリと比べてもかなり遅いからSIMD最適化できる人なら結構仕事あると思うよ
558デフォルトの名無しさん:2013/01/23(水) 23:48:05.97
OpenCVで静止画処理に対しては不具合がでないコードを
webカメラから取得した連続する画像に適用するのに
while文でループさせてESCでループを抜ける際に
静止画に対してはcmd.exeが正常に終了するのですが、
while文を抜けて終了する際にcmd.exeが終了できません。
タスクマネージャーからcmd.exeがアプリケーションの終了でも
プロセスの終了でも終了できない不具合でます。
ビルドは正常にできて、実行してて正常に動いています。
さっぱり原因が分からずお手上げです。どうしたらいいのでしょうか?
559デフォルトの名無しさん:2013/01/24(木) 02:12:58.78
>>557
早い行列計算だけなら既存のライブラリがいくらでもありそうだからそれでいいような気もする。
Matlabでも画像処理できるみたいだし、フリーじゃないけど。

>>558
情報が少なすぎてわからないよ
OpenCVのバージョンが2.2なら最新までバージョンアップしてみたら解決するかも
2.2は動画周りダメダメみたいだし。
560デフォルトの名無しさん:2013/01/24(木) 02:20:13.41
>>559
環境は、OpenCV2.3.0(32bit)、win7(64bit)、
最新に2.4にバージョンアップしてみます。
whileの文の中で宣言したMat imageを〜クラスの〜関数に&image
渡してハフ変換とかsurfで点を描写したimageを
imshowで表示させescでwhile文を抜けると終了するときにエラー
が出てしまいます。
クラスの関数なしで、全処理をwhile文に描くと終了する時に
エラーがでないのですが、あまりにもwhile文の中が長すぎて
見づらいのです。
561デフォルトの名無しさん:2013/01/24(木) 02:43:55.60
>>560
もう既に見てるのかはわからないけど一応Webカメラでキャプチャするだけのサンプルコード
ttp://opencv.jp/cookbook/opencv_io.html#id6
562デフォルトの名無しさん:2013/01/24(木) 03:07:01.34
>>557
C++に比べて遅いPythonを使って遅いOpenCVを使って
重い画像処理をするなんて狂気の沙汰なんだろうか・・・

でもやめられない
563デフォルトの名無しさん:2013/01/24(木) 17:28:17.93
質問です
現在、opencvで手の輪郭線と距離変換画像から手のラベリングをしたいのですが、具体的にどんなプログラムを書けば良いでしょうか

具体的には次のような処理を実現したいのですが...

画像に対し、各輪郭ごとに内部を塗りつぶしていく
塗りつぶすたびに、「距離変換の値が最大となる座標」が塗り潰されたかどうか判定する
もし塗りつぶされいれば、その輪郭が「求める手の領域」のものになる

ヒントでも良いのでアドバイスお願いします
564デフォルトの名無しさん:2013/01/24(木) 23:16:10.18
丸投げじゃねーか
565デフォルトの名無しさん:2013/01/24(木) 23:31:51.31
何か問題でも?
566デフォルトの名無しさん:2013/01/24(木) 23:34:43.99
>>564

すみません、書き方が悪かったです
距離変換画像を走査して,手の閾値と思われる範囲で違う画像に書き出そうとすると手の形がきちんと書き出すことが出来なくて困っています
例えば、現在ソースはこんな感じでループさせています

※640×480の大きさで、disが距離変換画像、whiteが黒で初期化した画像です

for(int y=0; y<480; y++)
{
for(int x=0; x<640; x++)
{
int a = dis.step*y+(x*1);
if(dis.data[a] >= 60 && dis.data[a] <=255)
{
white.data[a] = 255;
}
}
}
567デフォルトの名無しさん:2013/01/25(金) 09:31:10.22
>>566
dataに直接アクセスせずにcvGet2D/cvSet2DなどのAPIを使え
568デフォルトの名無しさん:2013/01/25(金) 17:33:17.25
>>567
そろそろみんなcv::Mat::atに移行してほしい・・・

>>566
手を検出するプログラムならサンプルコードがWeb上にちらほらあるから参考にどうぞ。
569デフォルトの名無しさん:2013/01/25(金) 20:49:57.34
570デフォルトの名無しさん:2013/01/26(土) 06:18:40.01
NDEBUG付けて最適化マックスでコンパイルして計測しろ
571デフォルトの名無しさん:2013/01/26(土) 07:40:22.40
ちょっとぐらい遅いだけなら書きやすい方でいいよもう
572デフォルトの名無しさん:2013/01/26(土) 08:17:31.97
キャストも理解せずdataにアクセスしてバグらせるより遅いほうがまし
573デフォルトの名無しさん:2013/01/26(土) 09:16:01.47
OpenCVのソースコードも全部読破して理解してて
よっぽど詳しい人じゃない限りは
画素の走査は何も考えずにcv::Mat::atを使おう
574デフォルトの名無しさん:2013/01/26(土) 11:26:06.58
最初に画素アクセスの方法を示さなかったクソ設計が悪い
575デフォルトの名無しさん:2013/01/26(土) 12:44:49.19
>>573
OpenCVのソース全解析して把握したら
「自分は画像処理のスペシャリストです」
ってとりあえず名乗ってもいいよね?

LinuxのOS全ソース読んだらLinuxカーネルのスペシャリストだし
576デフォルトの名無しさん:2013/01/26(土) 12:55:43.26
おれが面接官だったら「馬鹿が来た」っておもうとおもうわ
577デフォルトの名無しさん:2013/01/26(土) 14:23:39.53
俺が面接官なら、「で何が専門なの?」って聞くわ
578デフォルトの名無しさん:2013/01/26(土) 19:44:24.30
なぜか突然俺が面接官だったらとか上から目線の妄想を始めるキチガイに面接される奴がかわいそうだわ
579デフォルトの名無しさん:2013/01/26(土) 20:33:08.23
勝手に妄想してかわいそうって言う人こわい
580デフォルトの名無しさん:2013/01/26(土) 23:42:36.79
画素アクセスなんて画像処理の基本なのにv2まで仕様をちゃんと固めなかったのはなんでだろうな
581デフォルトの名無しさん:2013/01/27(日) 00:07:12.35
ここにいるような奴らは技術系の下っ端だろうから
人事側で採用担当になる事も
技術担当者として面接に参加することもないんだろうけどな
582デフォルトの名無しさん:2013/01/27(日) 00:12:22.44
そりゃ技術などの戦力にならない奴が行く所だからな、人事って
こんなスレ見るような人が人事にいるはずがない
583デフォルトの名無しさん:2013/01/27(日) 00:18:42.00
妄想はブログかtwitterにでも書いてろ
584デフォルトの名無しさん:2013/01/27(日) 21:07:43.23
OpenCVとかプログラムの不具合情報とか使い方ってブログに載せると
毎日アクセスが一定数あるな。
大学生とかで使ってる人って結構いるのかな?
585デフォルトの名無しさん:2013/01/27(日) 21:17:53.79
>>584
大学生もそうだし、素人でちょっとしたアプリ組もうとした際に
OpenCVはお手軽で画像変換その他の大きな助けになるから利用者多いでしょ
586デフォルトの名無しさん:2013/01/27(日) 21:18:30.70
おっと途中だったわ
特に顔認識、映像キャプチャとかで
587デフォルトの名無しさん:2013/01/27(日) 22:16:03.52
surfってxとy座標と半径が取得できるだけなん?
もっとなんかパラメーターってないのですか?
点同士のマッチしてるかどうかって座標と半径だけで
決めてるのですか?
588デフォルトの名無しさん:2013/01/27(日) 22:22:47.66
>>587
いいえ、ちがいます
589デフォルトの名無しさん:2013/01/28(月) 03:03:26.20
>>587
せめてこのぐらいの概説に目を通そうよ
ttp://www.aoki.ecei.tohoku.ac.jp/~ito/C5-2.pdf  (PDF注意)
590デフォルトの名無しさん:2013/01/29(火) 20:05:59.17
OpenCVとFrycaptureを使って2眼カメラの左右の画像を取得しとうと考えてるんですが
Frycaptureから右側のカメラ画像しか表示されず、右の画像しか得られません。
左右の画像を得るためにはどうしたらいいのでしょうか。
591デフォルトの名無しさん:2013/01/30(水) 01:40:39.24
>>590
二眼ってことはステレオカメラだよね。
マニュアル丁寧に見れば、左右の画像取り出す方法載ってるはず。
もしかしたらそうやって取り出した画像はレクティファイされていないかもしれないけど。
592デフォルトの名無しさん:2013/01/30(水) 05:09:50.97
>>590
Frycapture使ってたことあるけど普通に読めてたぞ
あまり覚えてないけど、カメラの個数をとって初期化したり同期の設定をするAPIがあるだろ
まあマニュアル嫁だし完全にスレ違いです
593デフォルトの名無しさん:2013/01/30(水) 05:27:55.90
>>593
もしOpenCVの動画APIから読もうとしているならやめたほうがいいぞ
FlyCaptureでgrabした画像データをOpenCVの画像形式に変換してから使うべき
そうすると動画のキャプチャにOpenCV関係ないしスレ違いという意味です
594デフォルトの名無しさん:2013/01/30(水) 16:27:53.06
TPIPを使って2PC間で画像のやり取りを行い、opencvで処理をしています。
クライアント側では480x640の画像をMatクラスで取得し、
std::vectorで確保したバッファにimencodeしてsendします。

サーバ側ではrecvしたバッファをMatクラスへimdecodeしているのですが、
この際エラー処理として、デコードしたMatが480x640でなければ再びrecvするという事をしています。

この処理により格段にfpsが低下しているのですが、この処理がなければデコードした画像の
下半分が灰色になってしまったり、場合によってはハンドルされていない例外が発生しプログラムが落ちることがあります。

私の知識ではこの”下半分が灰色に”なる現象がtcpip通信の結果起こってしまったのか、
それともimencodeやimdecodeが原因で起こっているのか判断しかねます。

原因に心当たりのある方がおられましたら是非ご教授ください。お願いします。
595デフォルトの名無しさん:2013/01/30(水) 17:12:15.45
ちゃんと受信し終わってから使いましょう、みたいな?
596デフォルトの名無しさん:2013/01/30(水) 17:35:51.95
転送量を見ればいいじゃない
全部あるならbitmapで保存すればいいし
597594:2013/01/31(木) 00:22:16.51
クライアント側では画像をUSBカメラから取得したものをjpg圧縮しています。
圧縮後のサイズはカメラのキャプチャごとに異なり、これはサーバ側でも同様です。

バッファサイズとデコードした画像のサイズをコンソールに出力させていますが、
buffsize=74656
Recv.cols=640
Recv.rows=480

buffsize=74460
Recv.cols=0
Recv.rows=0

OpenCV Error: Assertion failed (dst.data != src.data && src.cols > 0 && src.rows > 0)
in unknown function, file ..\..\..\..\ocv\opencv\modules\imgproc\src\imgwarp.cpp, line 2755

と表示され、一瞬サーバ側で画像が表示された後にエラーが発生してプログラムが強制終了してしまいます。
画像の縦横が0,0なのでアフィン変換等でエラーが発生するのは当然なのですが、
受信サイズが十分あると考えられるのに縦横が0なのはデコードに失敗しているのでしょうか?

また、col,rowが640,480でない場合受信をやり直すようにプログラムを変更すると、fpsはガタ落ちしますが
エラーで強制終了することはなくなります。
しかし、>>594で述べたように画像の欠落が発生して表示されることがあります。
598デフォルトの名無しさん:2013/01/31(木) 01:23:02.65
送り方、受け方に問題があるのでは
599デフォルトの名無しさん:2013/01/31(木) 11:45:53.20
非同期通信で上書きしてるとか
受信サイズ足りてないし
600デフォルトの名無しさん:2013/01/31(木) 12:13:06.20
copyTo使ってるぅ〜?
601デフォルトの名無しさん:2013/01/31(木) 14:49:39.17
>>597
ネットワークプログラミングの基礎をやれ
recvは一度の呼び出しで全て受信できるとは限らないから
受信するサイズをあらかじめ知っているか終端の判定ができるようなプロトコルにしないと
どこまで受信していいか分からないからうまく通信できいないのだろ
まず通信プロトコルをきちんと設計しろ
分からないならHTTPの上を通すなどしろ
602デフォルトの名無しさん:2013/02/01(金) 02:24:02.79
最近opencvを使い始めたんだけど、ググってもどうしても解決しないことがあるから質問させてください
顔認識の分類器を作ろうとしてて、正解画像2901枚と非正解画像1000枚で学習させようとしてるんだけど
vecファイル作成までは出来ても、その後のtraincascadeってコマンドを実行しようとすると
「this application has requested the runtime to terminate it in an unusual way」ってメッセージが出て動作停止しちゃうんだ
ちなみに正解画像、非正解画像の画像サイズは全部76×76でコマンドは
C:パス>opencv_traincascade -data original -vec OK.vec -bg NG.txt -npos 2901 -nneg 1000 -h 76 -w 76 -numStage 9 -featureType HAAR -mode ALL
って感じで書いてるんだけど何がいけないか教えて頂けないでしょうか
603デフォルトの名無しさん:2013/02/01(金) 07:42:47.82
>>602
アクセス違反とかで落ちているわけだからデバッガで見るしかないし
ソースをデバッグモードでコンパイルしてデバッガで見れば分かるだろ
OpenCVは品質がいいとは言えないから
自分でOpenCV自体をデバッグできる能力がないと使いこなすのは難しい

そういうの分からなかったら実行時の環境か入力に問題があるのは確かだと思うから
まず正解画像1枚、非正解画像1枚で動くか試して
動かなかったら
- パラメーターを全部デフォルトでやってみてどうか(w/h76ってかなり大きくて学習に相当な日数がかかると思うぞ)
動くなら
- NG.txtに書かれている画像はOpenCVから全て正常に読めるか
- OK.vecを正常に表示できるか(createsamplesのオプションであったはず)
- nposとnnegを小さめに指定してみてどうか(メモリが足りてるかとか)
あたりを試してみてそれでも分からなかったら勉強してからデバッグしろ
604デフォルトの名無しさん:2013/02/01(金) 14:14:21.68
>>603
丁寧なアドバイスありがとうございます
vecファイルを作りなおしたら出来ました!
もっと精進します
605デフォルトの名無しさん:2013/02/02(土) 00:14:37.32
>>602
-data original/に修正
opencv_traincascadeと同じディレクトリにoriginalフォルダを作っておくこと
それとtraincascadeのバグで正解画像が足りなくなるから正解画像の数は実際の9割ほどにする
あと、画像数指定のコマンドは-numPos -numNeg

自分が知る限り一番わかり易い解説サイト
ttp://shkh.hatenablog.com/entry/2012/11/03/052251
606デフォルトの名無しさん:2013/02/02(土) 00:18:45.65
あれ、解決済みだったのか
607デフォルトの名無しさん:2013/02/02(土) 06:39:24.40
>>605
9割ってやつもう直ってるはず
608デフォルトの名無しさん:2013/02/02(土) 23:34:22.09
>>607
この間やったら直ってたり直ってなかったり挙動がよく分からなかった
609デフォルトの名無しさん:2013/02/02(土) 23:43:28.21
>>386
このあたりでPythonをdisりまくったけど
俺が間違ってた、Python超使いやすいわ
もはやC++書くのが面倒だと思えてしまう
お前らもPython使おうよ
ほんとにおすすめ
610デフォルトの名無しさん:2013/02/03(日) 00:03:48.45
PythonのCV使ってみたけど
結局CでOpenCV知ってないと使えないから
Cで勉強するのと手間変わらない
611デフォルトの名無しさん:2013/02/03(日) 02:41:23.12
>>610
最近のcv2はマジで使いやすくなってる確かに覚える関数は同じだけど
画素を全部numpyで使えるから素晴らしく直感的に操作できる
612デフォルトの名無しさん:2013/02/03(日) 12:29:24.65
>>610
使うのは違うだろ
613デフォルトの名無しさん:2013/02/03(日) 20:04:02.79
どうせならHaskelから使いたい
614デフォルトの名無しさん:2013/02/03(日) 21:52:58.63
勝手にやってろ
615デフォルトの名無しさん:2013/02/04(月) 01:41:50.16
pythonにVisualStudioないし
616デフォルトの名無しさん:2013/02/04(月) 10:07:11.09
C#でやっててももにょると元のOpenCVとラッパー部分見ないといけないし
617デフォルトの名無しさん:2013/02/04(月) 18:32:46.42
VisualPython#作れよゲイツばか
618デフォルトの名無しさん:2013/02/04(月) 22:06:59.97
why
619デフォルトの名無しさん:2013/02/04(月) 23:43:08.50
>>615
>>617
あるんだなこれが
ttp://www.forest.impress.co.jp/docs/news/20121105_570958.html

正直わざわざVisualStudioでPython使って使いやすいかはわからないけど
Pycharm買いたい
620デフォルトの名無しさん:2013/02/04(月) 23:55:46.77
なんだと...!
621デフォルトの名無しさん:2013/02/06(水) 22:39:29.07
Matの行列拡張(3x3から4x4とか)ってどうやってます?
要素単位でコピーしてるんですが何かスマートなやり方ないでしょうかね
622デフォルトの名無しさん:2013/02/07(木) 07:13:41.10
ピトンだかなんだか知らないけどそんなマイナー言語つかって楽しいのか?
ただのオナニーじゃないか
623デフォルトの名無しさん:2013/02/07(木) 07:24:30.93
釣られるのも愛だと思うの

Linuxコミュニティが選ぶ人気オープンソースプロジェクトの年次調査、言語は「Python」、デスクトップは「Slackware」がトップにhttp://sourceforge.jp/magazine/13/02/06/0516242
624デフォルトの名無しさん:2013/02/07(木) 08:18:40.08
(当社比)
625デフォルトの名無しさん:2013/02/07(木) 08:46:59.13
記念に釣られてみるが
ここ最近の Python の伸びは node.js の影響かもな
626デフォルトの名無しさん:2013/02/07(木) 21:56:42.42
Pythonは何十年も前から海外で人気だろ
日本とかいうローカルで無名だっただけだ
627デフォルトの名無しさん:2013/02/07(木) 23:02:39.39
世界が全部3系になったらをれもpythonやる
628デフォルトの名無しさん:2013/02/07(木) 23:22:19.52
もうやっといた方がいいんじゃない?
629デフォルトの名無しさん:2013/02/08(金) 00:10:03.92
OpenCVの話をしろよw
630デフォルトの名無しさん:2013/02/08(金) 03:57:49.42
それでも俺はLispを使う
631デフォルトの名無しさん:2013/02/08(金) 09:09:38.88
お前らが何言語使おうがどうでもいい!!!!!!!!
632デフォルトの名無しさん:2013/02/08(金) 09:11:38.50
OpenCVってCとPython以外は何言語が使えますか?
(出来るといえば何でも出来るのは判りますが、
ほどほどに便利に使えるっていうレベルでおながい)
633デフォルトの名無しさん:2013/02/08(金) 10:17:44.75
>>632
自分で永久にメンテする意欲がないなら公式以外使うな
公式は、C、C++、Python
634デフォルトの名無しさん:2013/02/08(金) 14:34:25.36
>>632
JavaもC#もRubyもあるよ
非公式だけど
635デフォルトの名無しさん:2013/02/09(土) 00:28:52.01
質問です。cvcalibratecamera2実装でintrinsinc.xmlに書き込まれた値がf=954.16となりました。
この値が意味するのは、焦点距離fをピクセル単位で表すと954.16[pixel]
という意味で、これを焦点距離[mm]にするためには1pixel辺り何ミリかという
基準x[mm]/[pixel]がわかれば焦点距離をmm単位で表せるとおもいます。
使ったカメラは6.3[mm]の焦点距離であることが説明書でわかるので、
この値で逆算すればいいのでしょうか?
636デフォルトの名無しさん:2013/02/11(月) 04:59:00.49
グレースケールで読込むと三分割されるのはなぜなのか・・・
637デフォルトの名無しさん:2013/02/11(月) 12:33:25.15
あれですね
わかります
638デフォルトの名無しさん:2013/02/11(月) 12:46:26.48
>>636
カラープレーンが完全に分かれた保存形式だからだろうな。その画像形式の詳細を知らないと上手く扱えない。
639デフォルトの名無しさん:2013/02/13(水) 11:30:09.78
creat_samplesで作成した画像をjpgなどで違うフォルダに保存することは可能ですか?
640デフォルトの名無しさん:2013/02/13(水) 11:35:33.22
はい
641デフォルトの名無しさん:2013/02/13(水) 11:50:57.83
何かコマンドがいるのですか?
642デフォルトの名無しさん:2013/02/13(水) 14:27:06.01
643デフォルトの名無しさん:2013/02/13(水) 15:45:03.52
>>641
自分で改造すればできる
-debugでimshowしてる画像を保存するようにするだけ
またはvecファイルを読んでjpgで保存するプログラムを書く
644デフォルトの名無しさん:2013/02/14(木) 21:13:08.80
ttp://opencv.org/opencv-2-4-4-is-under-way.html
デスクトップ版Java正式対応だって
それとVisualStudio2012用バイナリ標準装備
今更Java対応とか言われてもなぁ・・・
beta来てる
645デフォルトの名無しさん:2013/02/15(金) 01:38:25.34
javaつってもJNIでそ
646デフォルトの名無しさん:2013/02/17(日) 01:58:39.81
この画像開こうとしたら落ちちゃったの><;
パソコンの大先生助けて!
http://up.null-x.me/poverty/img/poverty45054.bmp
http://uproda.2ch-library.com/635758JO3/lib635758.jpg
http://fsm.vip2ch.com/-/sukima/sukima132164.jpg
http://i.imgur.com/2dyUPBU.png
http://entropymine.com/jason/bmpsuite/bmpsuite/q/rgb24largepal.bmp
http://uproda.2ch-library.com/635749oac/lib635749.bmp
http://www.dotup.org/uploda/www.dotup.org3951754.bmp
http://www.dotup.org/uploda/www.dotup.org3951647.bmp
http://www.dotup.org/uploda/www.dotup.org3951797.bmp
http://www.dotup.org/uploda/www.dotup.org3951823.bmp
http://engawa.2ch.net/test/read.cgi/poverty/1360988998/

技術者向け解説
BMPの使用色数の値に300(リトルエンディアンの16進数で2C01)が指定されている画像を開くと、
使用色数が256までしか対応していないJaneの内蔵ビューアが落ちてしまう現象

バイナリディタで46バイト目から4バイトが使用色数を示す部分
既存のBMPのこの部分(画像の選択範囲)を2C01に変えて実験すればJaneで開けなくなることが確認できる
http://img827.imageshack.us/img827/2841/18045009.jpg

これヘッダ見ればすぐ分かる
パレットが300色ある。通常は256まで(00~FF)だから、
FFを超えたパレットを扱おうとした時に何が起こるか。
まぁ雑なプログラムなら落ちるわな それだけ
多分どっかのサンプルでも持ってきたんだろ

http://homepage1.nifty.com/frontier_spirit/ZipFile/BMPPI101.zip
↑を回答してjaneと同じフォルダに入れる
ツール >ビュアー設定 >プラグイン >Susieプラグイン有効 >BMPPlugIn.spi有効
JANE再起動
647デフォルトの名無しさん:2013/02/17(日) 11:13:40.05
>>646
死ね
648デフォルトの名無しさん:2013/02/17(日) 14:20:42.82
マルチ氏ね
649デフォルトの名無しさん:2013/02/24(日) 13:36:34.16
>>622
最近OpenCV使い始めた新参者です。

このスレとかWebとかで情報集めてるんですが、
PythonでOpenCV叩くのは不人気みたいですね。
10年くらい前からPythonやってた人間からすると、
使い捨ての画像処理コードはコンパイル不要の
Pythonで実装したいところなのですが。
サンプルコードがもっと出回れば流行りそうな
気がします。
欧米発の科学計算ツールでも、Pythonインタフェースを
搭載してるものは意外とありますよ。
650デフォルトの名無しさん:2013/02/24(日) 14:22:26.08
>PythonでOpenCV叩くのは不人気みたいですね。

個人的にPythonは好きだし速度にも不満は無いけど
OpenCV叩くときにCのOpenCVの知識が前提になってて
Pythonで書くメリットがほとんどないんだよね
651649:2013/02/24(日) 17:55:15.07
>>650
>OpenCV叩くときにCのOpenCVの知識が前提になってて
そこがドキュメントとサンプルコードで補われれば
道は開けそうですよね。
NumPyとの連携、それとコンパイルレスというだけでも
メリットは充分享受出来そうなものですが。
opencv.jpとか読んでいても、この程度の情報しかないと
フルスクラッチは難しいな、と感じてしまいました。

簡単な画像処理コードはいくつか作成出来たので、
もう少しノウハウを開拓してみます。
652デフォルトの名無しさん:2013/02/24(日) 18:36:36.35
いや、そうじゃないでしょ。
MFCみたいに糞API剥き出しのただのラッパーなのよ。
Pythonらしさがないから嫌われてるんだと思う。
653デフォルトの名無しさん:2013/02/24(日) 19:15:41.40
画像処理じゃないけど wxPython は
ラッパーに見えて実は良く出来てるな
wxWidgets の出来が良いからかもしれんが
654デフォルトの名無しさん:2013/02/25(月) 07:09:29.83
Pythonらしさは、もう一つ上のレイヤに作ればいいだろ
655デフォルトの名無しさん:2013/02/26(火) 21:50:21.67
>>649
その通り、OpenCVでもPythonはもっと流行してほしい
サンプルコードとかも出来る限りPythonで書いてほしい
C++と大して変わらないってのはむしろ新しく関数を覚えなおさなくていいっていうメリットだと思う
さらに画像を画素の行列としてNumpy形式で読み込めるから
画素レベルの操作だと十分Pythonらしく書けるよ
他にもPythonは数学関係や機械学習のライブラリが豊富にあるから
組み合わせて使えばいろいろできそう
唯一のネックはC++に比べて実行速度が遅いってことだけだけど
Pythonでも耐えられないほど遅いってことはない
656デフォルトの名無しさん:2013/02/27(水) 08:14:44.07
SimpleCV って良いの?
ttps://github.com/ingenuitas/SimpleCV
657デフォルトの名無しさん:2013/02/27(水) 13:21:25.45
>>655
そのへんのものはこれからはJavaでやってくれというスタンスでしょう
需要と使用者数で考えればしょうがないかと
658デフォルトの名無しさん:2013/02/27(水) 14:53:32.30
>>656
おまえはまずhを抜く必要があるのか考えろ
hを抜くのが本当に必要なことなのか?
リンク出来なくて不便ではないか?
なぜ2chでhを抜くという文化が生まれたのか?
現代においてgithubのURLのhを抜く必要があるのか?
そうやって判断力を養っていけばそのうちSimpleCVが良いのか分かるようになる
659デフォルトの名無しさん:2013/02/27(水) 15:52:42.08
660デフォルトの名無しさん:2013/02/27(水) 16:28:40.02
リンク出来るからどうでもいいな
661デフォルトの名無しさん:2013/02/27(水) 21:55:36.82
そのレスを見た人のうち何%がリンク表示されているか推定しろ
662デフォルトの名無しさん:2013/02/27(水) 22:10:02.99
確か ● 買わないとリンク貼れないはず
663デフォルトの名無しさん:2013/02/27(水) 23:25:54.11
>>657
Javaは何気に使い勝手が悪いし
スクリプト言語の手軽さには勝てないっすよ
Javaはコード量多いし
AndroidでJava対応したから
ユーザ数を鑑みてついでに対応させたようにしか見えない
664デフォルトの名無しさん:2013/02/28(木) 00:25:53.18
665デフォルトの名無しさん:2013/02/28(木) 03:41:39.27
>>656
リンクとかは置いといてちょっと見た限りでは
OpenCVじゃなくてわざわざこれ使うメリットは無さそうに思えます
666デフォルトの名無しさん:2013/02/28(木) 08:19:23.10
てか中でOpenCV使っているし
ちょっとかぶせただけのものでしょ
シンプル何とかにろくな物はない
667デフォルトの名無しさん:2013/02/28(木) 09:56:28.84
シンプルと言いながらソース見る時に両方見なきゃいけないから二度手間になるんだよな
668デフォルトの名無しさん:2013/03/01(金) 09:12:28.68
うちのプロパイダは規制かかってるからなのか知らないが
リンクは禁止(つまり●買わないと駄目)って前に表示されたことあるな
669デフォルトの名無しさん:2013/03/01(金) 09:22:02.65
このスレも含めてだけど、2chは瀕死の状態だね。どのスレも進まない。
670デフォルトの名無しさん:2013/03/02(土) 15:28:12.94
忍法帳のレベルの問題だろ
671デフォルトの名無しさん:2013/03/02(土) 19:08:07.03
大規模規制だと思うけど
672デフォルトの名無しさん:2013/03/02(土) 20:57:08.07
そもそも、OpenCV自体、ちょっと試すぐらいの用途でしかないからなぁ
C++の今ので十分だろ。
673デフォルトの名無しさん:2013/03/02(土) 22:38:00.26
674デフォルトの名無しさん:2013/03/03(日) 11:54:04.68
ユーロファイターもスホーイも所詮は相打ちの戦闘機
確実に相手を殺し自分は生き残る最強無敵の戦闘機
それはF-35ライトニングII !

その恐るべき能力の数々!

DASシステム機能解説 ノースロップ・グラマン公式ビデオ(日本語版)
http://www.youtube.com/watch?v=BMqVkeyGnD8

AESA(エーイーサ) レーダー解説ノースロップグラマン公式ビデオ(日本語版)
http://www.youtube.com/watch?v=_sKEOtvAukE

2012 F-35 Highlights
http://www.youtube.com/watch?v=WPx1A5Rsg10
675デフォルトの名無しさん:2013/03/03(日) 13:09:28.47
>>673
5年前にあればなぁ
676デフォルトの名無しさん:2013/03/03(日) 23:47:03.78
iphoneから2chへのアクセスが禁止になると同時に
http://togetter.com/li/464104#c990983
あちこちに「2chは底辺」とか「2chは終わり」
>>669
みたいなのが増殖するというのは分かりやすすぎなのではないのですか?
もうちょっとこう工夫するとか出来ないのでしょうか?
677デフォルトの名無しさん:2013/03/12(火) 01:17:32.97
OpenCVってlinux or Winですよね?
組込みRTOS上で使いたいんだけど、手軽に出来る
オススメなライブラリを知ってる人いませんか?
678デフォルトの名無しさん:2013/03/12(火) 03:20:05.53
OpenCV使えばええやん・・・
679デフォルトの名無しさん:2013/03/12(火) 07:15:21.34
あれ、組込みのRTOSからでもOpenCV使えるの?
linux か windowsじゃないとOpenCVは対応していないと思ってた。
680デフォルトの名無しさん:2013/03/12(火) 09:55:10.96
組み込みのRTOSってなに?μITRONの類い?
681デフォルトの名無しさん:2013/03/12(火) 11:41:16.96
OpenCVのソース見て、必要な画像処理だけ実装すればいいやん
682デフォルトの名無しさん:2013/03/12(火) 11:47:48.97
OpenCVいいね

なんでもっと早く勉強しなかったんだろう
683デフォルトの名無しさん:2013/03/12(火) 12:45:06.30
>>679
IOなどOSのシステムコールに依存している部分だけ置き換えれば動くだろ
必要なところで抜き出せばいい
684デフォルトの名無しさん:2013/03/12(火) 16:40:15.00
OpenCVSharpって使ってる人いる?
聞きたいことあるんだけど
685デフォルトの名無しさん:2013/03/13(水) 00:17:08.37
>>680
iTron系ですよ。
>>681
OpenCVって、OS(linux or Win)に依存しまくってる設計実装かと、
勝手に思ってました。OSに依存した作りじゃないんですか?

8個くらいの基本的なAPIしか使わないんですが、1週間くらいで、
できますかね?
686デフォルトの名無しさん:2013/03/13(水) 00:32:36.50
必要な部分のコードを自分で眺めて判断すりゃいいだろ
687デフォルトの名無しさん:2013/03/13(水) 02:03:43.19
Iplimage とcapturerの使い方と内部の行列計算関数覚えたら他はそんなに使わん
それにos選ばん
688デフォルトの名無しさん:2013/03/13(水) 02:05:52.42
>>685
BSD ライセンスだから商用で使うなら取扱説明書なりに記入してね。
どんな処理を持ってきたいかは知らんけど画像加工や空間フィルター位なら一週間で出来るんじゃね?
顔認証とか特徴抽出、学習ならもっと時間みとき
689デフォルトの名無しさん:2013/03/13(水) 02:17:08.59
       //
     /  /   バカッ
     //⌒)∩__∩
    /.| .| ノ     ヽ
    / | |  ●   ● |     
   /  | 彡  ( _●_) ミ 馬鹿には無理
   /  | ヽ  |∪|  /_
  // │   ヽノ  \/
  " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
690デフォルトの名無しさん:2013/03/13(水) 07:03:36.60
公開したら需要あるかな
691デフォルトの名無しさん:2013/03/13(水) 11:42:29.11
>>676
違うだろ
フジテレビと同じでアップルもチョンに乗っ取られてる
全てはチョンの陰謀
692デフォルトの名無しさん:2013/03/13(水) 21:35:50.45
公開したところで、需要がない。opencvソース見るのと変わらん。後悔するだけ
693デフォルトの名無しさん:2013/03/14(木) 09:05:27.36
ほう、RTOSでOpenCV使ってるやつは結構いんだね
しらんかった
694デフォルトの名無しさん:2013/03/14(木) 15:22:14.42
>>685
俺には簡単だけどお前には無理そう
695デフォルトの名無しさん:2013/03/14(木) 19:46:45.90
>>694
俺にも無理そうだからおまえ頼むわ。
公開してちょ
696デフォルトの名無しさん:2013/03/15(金) 07:39:37.05
車輪の最発明乙
697デフォルトの名無しさん:2013/03/15(金) 23:26:19.93
>>694
飯くらいならおごるからやってくれ
698デフォルトの名無しさん:2013/03/21(木) 01:16:05.67
OpenCVつかいはじめたが糞使いにくい
C言語の配列から出し入れできるようになぜなってないのか
関数が止まってるとデバックするのがすげえ苦労するわ
699デフォルトの名無しさん:2013/03/21(木) 02:02:49.89
ナニを出し入れするのよ
700デフォルトの名無しさん:2013/03/21(木) 04:43:19.30
典型的な低レベルベテランプログラマなので相手にするな
701デフォルトの名無しさん:2013/03/21(木) 04:45:33.56
視線入力やってる人いる?
赤外線カメラで白目部分に光を出すのが一般的なのかな?
702デフォルトの名無しさん:2013/03/21(木) 04:57:56.50
俺はopencv 使いやすいと思うけどね。
ただ、欲を言うとdirectshowやwindows標準 との相性がよくないかな。
たとえば、directshow ではbmpのパラパラ画像が流れてくるんだけど、opencv とフォーマットが違う。
BGR,下の座標が0なのに対してopencv はRGB 上が座標0
入出力変換して渡してやるのに10msはかかるんだよね。

30fpsで処理したいとき全体で33msで抑えないといかんので変換が重たい
703デフォルトの名無しさん:2013/03/21(木) 05:18:52.04
ミルフィーュ
704デフォルトの名無しさん:2013/03/21(木) 05:22:32.56
>>702
なんで無駄な変換してんの?馬鹿なの?死ね?
705デフォルトの名無しさん:2013/03/21(木) 08:52:00.35
>>694
手こづって挫折したのか?出来ないなら返事求む。
706デフォルトの名無しさん:2013/03/21(木) 09:04:55.63
>>704
勉強になります。
是非参考にソースをお願いいたします。
707デフォルトの名無しさん:2013/03/21(木) 09:10:29.13
>>706
お前のソースが無いと添削のしようがない
708デフォルトの名無しさん:2013/03/21(木) 10:05:44.84
馬鹿には無理
709デフォルトの名無しさん:2013/03/21(木) 10:32:02.22
>>706
OpenCVのソース参考にbmpを直接いじればいいだろと
710デフォルトの名無しさん:2013/03/21(木) 15:35:19.04
>>705
自分で使う予定もないことを無料でやるわけないだろ
ライブラリのどこでどういうシステムコールが必要かも予測できない素人に
iTRONへの移植ができるとは思えないってだけ
Toy OSやマルチプラットホームで動作するライブラリ作って10年間勉強しろ
711デフォルトの名無しさん:2013/03/21(木) 15:52:49.88
>>702
OpenCVは基本BGRだしMatのtypeでRGBも指定できるだろ
変換してもそんなにかからないと思うが画素のアクセスに重い関数を使っているか
変換前の画像が大きすぎるかじゃね
712デフォルトの名無しさん:2013/03/21(木) 16:48:04.55
C++使いにくいって人は
Pythonから使ってみることをおすすめする
C++で書いてたのがアホだったと思うくらい簡単に使えるようになってるから
713デフォルトの名無しさん:2013/03/21(木) 17:34:49.70
PythonCVがですか?
714デフォルトの名無しさん:2013/03/21(木) 18:31:19.91
おまえら口先だけだな俺も人のこと言えないけど
715デフォルトの名無しさん:2013/03/21(木) 18:40:08.03
手先だけです
716デフォルトの名無しさん:2013/03/21(木) 21:49:29.90
imreadってファイルの名前が九文字以上だと読めないんだけど仕様なの?
717デフォルトの名無しさん:2013/03/21(木) 21:59:16.41
たくさんレスついて嬉しかったが、メモリアクセスだけの簡単なのに誰も答えないのは何故?
718デフォルトの名無しさん:2013/03/21(木) 22:40:01.23
別にC++が使いにくいとは思わん。
ただ、Cより早くなることはないんだよな。
ただ、そもそもCVって、今までやったことないのを
ちょっと試してみるかとか、公的機関とかで使う
もんだと思うが。うわべだけいじれても、人と違うこと
できないしなぁ
719デフォルトの名無しさん:2013/03/21(木) 23:05:17.84
>>716
imreadの前身の関数cvLoadImageが何文字でも読み込めるので
使い方の問題なのでは?
OpenCV2.0から実装された関数でDOSの文字制限8文字+3文字はさすがにない
720デフォルトの名無しさん:2013/03/21(木) 23:46:30.00
>>717
おまえだれだよ
721デフォルトの名無しさん:2013/03/22(金) 00:09:48.60
>>718
OpenCVは単なる画像処理便利ライブラリ集だけども、結局どう使うかでしょ。
OpenCVの関数単に1個よぶだけじゃ、ありがちな画像のフィルタリングとかしか出来ないわけだけども、
特徴点抽出して、データベースと照合して、云々ってすればいっぱしの画像認識システムができるわけだからさ。
iPad向けのARシステム作ってるけど、OpenCVなかったらかなりしんどいよ。
その辺のCV系の論文の実装をしてみよう、ってなったときにすごく便利だしね。
まあ、それをもってして「ちょっと試してみる」とか、「うわべだけいじって人と違うことできない」って言うならそうだけど、
そしたらあらゆる研究開発は人と大して違うことをやってるわけじゃないからなあ。
722デフォルトの名無しさん:2013/03/22(金) 00:16:47.31
>>710
言い訳はいいが、いくらならやるの?
723デフォルトの名無しさん:2013/03/22(金) 00:53:05.05
>>710
「いつやるの?いまでしょ!」
724デフォルトの名無しさん:2013/03/22(金) 01:07:50.80
>>719
うーん
九文字以上だと落ちるんだよな
725デフォルトの名無しさん:2013/03/22(金) 03:52:19.36
>>721
ほとんどの研究開発がそのちょっとの違いを出すためにエネルギー注いでいるのでは。
そこに付加価値があるんじゃないか。ただ、研究系が研究の本筋以外で楽なものを使うのは当然なのでは。

売り物のシステムの場合、他と違うものが既存の組み合わせでもできるなら、それも付加価値があると思う。
でも、ビジョンの場合、そういったものができるとは俺は思わねぇ。中をいじれないなら、所詮別の奴でもできるだろし。
そしたら、次は安売り勝負だよね。それに、論文読んで実装できる力があるんなら、OpenCVなくてもできるだろう。
なので、初期の検討段階で実装を試してみたいとか、デモ用ならありうるけどと俺は思っています。
実際のところ、商用としてどう使われてるのかよくわからんのだけど、展示会とかで話を聞く限り
あまりはずれていないと思うんだがなぁ。実際どのくらい金になってるんだろね?
726デフォルトの名無しさん:2013/03/22(金) 09:35:25.37
>>725
うーん、できるかもしれないけど、自分の場合、SIFTやらSURFやらの特徴点抽出アルゴリズムとか、そういうところを自前で実装するのもめんどくさいし、
研究が特徴点抽出アルゴリズムの改良じゃなくて、そういったものをつかってアプリケーションを作る部分だから、自前でいろんなライブラリもってきて
作ってもいいし、SIFTを自力で実装してもいいけど、そんなの無意味じゃん?だからOpenCVを使ってる。
「所詮別のやつでもできる」ってのはそうなんだけど、できるやつが何人いるかって話でさ、確かにOpenCV使ってちょっとSTL使って、っていういい加減な
プログラムなんて他人でも作れるじゃん、って思うかもしれないけど、ほとんどのソフトウェア開発者はOpenCVをどのようにして使うか、なんて知らないから
十分金になるよ。
ああ、おっしゃるとおり、あとはプロダクトがどういうプロダクトか、ってのもあるか。自動車用の画像認識にOpenCVなんか使わないよね、という意味ではyesだろうなあ。
けど、2-3年勝負できるサーバーサイドで画像解析するプロダクトを作ります、とかだったら全然普通に使うでしょ。
結局開発の規模感によって違ってくるよね。少なくとも2-3人とかのチームで開発するとかなら間違い無くOpenCV使って勝負できるものは作れると思うけど。
727デフォルトの名無しさん:2013/03/22(金) 09:43:47.40
金出す側にとって開発者が何を使うかは一考の価値も無い
728デフォルトの名無しさん:2013/03/22(金) 17:24:26.55
使う側にとってもな
729デフォルトの名無しさん:2013/03/22(金) 17:27:39.08
そんでライセンス確認もせずにGPL感染や特許侵害してて迷惑掛けるんですね
730デフォルトの名無しさん:2013/03/22(金) 19:17:51.64
特許権侵害は「非」親告罪
納入ソフトがOpenCV使っていたら要注意
731デフォルトの名無しさん:2013/03/22(金) 20:02:08.93
OpenCV自体はBSDライセンスだし問題ないでしょ
むしろ上に上がってるSIFTやSURFのほうが特許取得されてて要注意だわ
知らない人多いみたいだけど
732デフォルトの名無しさん:2013/03/22(金) 21:10:53.35
>>726
あまり知らないようですけど、そのいっている特徴点抽出のSIFTなりはBSDじゃないライセンスいる部分ですよ。実費としているはず。
それもかなりの割合で。あと、金の他に情報の提供も要求されるはずですよ。こちらの希望するライセンス形態なんかまず通りません。
比較的価値ある部分がそれだからどうなの?ってのもあるんですよ。欧米のライセンスはかなり厳しいですぜ。
733デフォルトの名無しさん:2013/03/22(金) 23:25:43.80
特許なくて性能いいかわりの特徴点検出がたくさん入っただろ
734デフォルトの名無しさん:2013/03/22(金) 23:31:08.62
FREAKSとかいう新しいの全然使えなくてワラタ
735デフォルトの名無しさん:2013/03/22(金) 23:40:13.10
論文読んで実装できるかどうかもわからないレベル、
中身の良し悪しも判断できないレベルなら、そりゃ試してみるしかないだろうな。
どこに違いがあるかも、わからんのだろ。
736デフォルトの名無しさん:2013/03/23(土) 00:15:13.22
特許絡みのはnonfreeになってるから普通に気付くでしょ
737デフォルトの名無しさん:2013/03/23(土) 00:36:57.96
まぁ、surfもsiftもいうほど万能じゃないけどね
738デフォルトの名無しさん:2013/03/23(土) 09:17:01.28
SURFとかSIFT使ったってバレないっしょ
739デフォルトの名無しさん:2013/03/23(土) 10:42:30.97
>>738
dumpbinで一発じゃね?
740デフォルトの名無しさん:2013/03/23(土) 11:41:11.67
なんで特許のあるコードがOpenCV本体に入っちゃったの?
商用利用可能なのに一部はそのままでは不可ってやるぐらいなら
最初から別のモジュールとして出せばいいのに
741デフォルトの名無しさん:2013/03/23(土) 12:14:30.42
何が問題なの?
普通に特許料払えばいいじゃん
742デフォルトの名無しさん:2013/03/23(土) 14:43:24.37
大きい会社ほど特許料支払うの凄い嫌がるようになるのはなんでだろうね
全部独自技術じゃないとダメみたいな謎の風潮
743デフォルトの名無しさん:2013/03/23(土) 15:15:35.45
ついでに言うと大きい会社ほど他所の会社の真似をしたがる
どうしても同じことをやらないと気が済まないと言うか
レベルの高さよりも品質落としてでも自社の技術()を寄せ集め
横並びを好む
744デフォルトの名無しさん:2013/03/23(土) 17:02:26.18
>>718の真意がよくわからないんだよな。
「今までやったことないのをちょっと試してみるかとか」ってのがどういうレベルでの「試す」なのかがよくわからない。
大企業が消費者向けの完成された商品を提供するようなレベルでなきゃ、「試す」なのかな?
小規模な開発だと、結構お試しっぽい感じでいろいろ動いてると思うんだけどさ。特にこの業界は。
「うわべだけいじる」「人と違うことする」についてもどういうレベルを想定してるのかよくわからない。
745デフォルトの名無しさん:2013/03/23(土) 18:03:02.83
わからないならレスしないでください
うざいだけです
746デフォルトの名無しさん:2013/03/23(土) 20:18:21.35
>>740
だからそうなってるだろ
opencv_nofreeに分けてて勝手にはリンクされない
747デフォルトの名無しさん:2013/03/23(土) 23:16:22.59
>>745
議論をするのにどういう前提条件での話なのか確認するのはダメなの?
748デフォルトの名無しさん:2013/03/24(日) 21:07:35.51
ハフ変換って精度わるすぎね?
ペイントで、直線と丸を書いて検出させても検出できん事多いのだが、
749デフォルトの名無しさん:2013/03/25(月) 00:47:57.83
OpenVX
4Gamer.net ― OpenGLがOpenGL ESを呑み込む!? 次世代TegraがOpenGLに対応する理由も見えてきた,GTC 2013のKhronosセッションレポート
http://www.4gamer.net/games/107/G010729/20130324001/
750デフォルトの名無しさん:2013/03/25(月) 03:43:44.20
>>748
確率的ハフ変換ならパラメーターでどこまでを検出するか指定できる
751デフォルトの名無しさん:2013/03/27(水) 07:44:42.25
VideoCaptureでWebカメラから映像を取得してimshow()で表示したいんだけど、
imshowの後にwaitkeyを書かないとグレーの画像しか表示されない。
これってなんで?仕様?
2.4.4でVS2010です。
752デフォルトの名無しさん:2013/03/27(水) 11:51:45.55
確認しないで書くと、どっかでモノクロ指定かグレースケールに変換してないか?
まぁwaitkeyで解除されるってのも変な話だが
753デフォルトの名無しさん:2013/03/27(水) 12:03:46.08
waitkeyがないとイベントループが回らなくてウィンドウへの描画が起こらないんじゃね?
754デフォルトの名無しさん:2013/03/27(水) 12:19:28.82
>>752
すまんグレーの画像ってのはグレースケールじゃなくて灰色の単一色の画像なんだ
取り敢えず取得して表示するだけの最小のプログラムで試してる

>>753
そういうのがあるのか
必ず必要なら1ミリ秒の時間がもったいないなー
755デフォルトの名無しさん:2013/03/27(水) 20:34:53.15
必ず必要です。最小値1msも当たり前。画面書くのやめればいいさ。

Sleepしてもオープンcvに処理が回るわけではないんだよな
756デフォルトの名無しさん:2013/03/27(水) 20:52:50.87
d
ということは今回は画面表示で気づいたけど
他でもwaitkeyがないとダメなこともあるかも知れないんだな
覚えとくよ
757デフォルトの名無しさん:2013/03/27(水) 21:06:54.19
http://opencv.jp/opencv-2svn/cpp/highgui_user_interface.html#cv-waitkey
これが参考になるんじゃね。とかいっても一言しか書いてないけど。
758デフォルトの名無しさん:2013/03/28(木) 00:15:13.03
1msとか人間が認識できるわけないからまったく問題にならない、誤差の範囲
内部処理とか描画のが絶対時間かかってる
759デフォルトの名無しさん:2013/03/28(木) 00:58:17.22
たかが1ms、されど1ms
Webカメラ使ってるならコマ落ちにも関わってくるからな
760デフォルトの名無しさん:2013/03/28(木) 11:09:49.00
highgui使うのやめればいいじゃん。
761デフォルトの名無しさん:2013/03/29(金) 11:45:07.76
OpenCVって不安定すぎない?
OSとvisualstudioのバージョンが同じPCにライブラリ持って行って動作しないからその場でコンパイルしなおしたわ
762デフォルトの名無しさん:2013/03/29(金) 11:51:11.82
へえー
763デフォルトの名無しさん:2013/03/29(金) 13:26:32.83
んで?
764デフォルトの名無しさん:2013/03/29(金) 14:08:03.58
自己解決しません
765デフォルトの名無しさん:2013/03/29(金) 16:00:31.14
waitKeyはSleepで1ms待ちながらpeekMessageしてるから
Windowsスケジューラの仕様上、1を指定しても16msは待ってるんじゃね
766デフォルトの名無しさん:2013/03/29(金) 21:39:44.32
>>765
昔聞いたことあるなと思って、
今やってみたら1ms単位(?)でSleepしてるみたい(winows7)
767デフォルトの名無しさん:2013/03/30(土) 07:43:07.51
>>761
PythonかJavaで書いたら?
なんでみんなわざわざC++みたいなカオス言語で書こうとするの?
マゾなの?
768デフォルトの名無しさん:2013/03/31(日) 21:20:07.12
>>766
昔はOS自体のタイマー精度を上げるかマルチメディアタイマーを使わないと
10msくらいは誤差が出るものだったけど何か変わったのかね
769デフォルトの名無しさん:2013/03/31(日) 21:29:45.42
>>767
そのC++のライブラリをリンクしてるから同じだろ
>>761
AVXやPOPCOUNT使ってコンパイルしていると
対応してないCPUで動かないかもね
770デフォルトの名無しさん:2013/04/01(月) 13:30:17.35
>>767
最速を求められてるから
771デフォルトの名無しさん:2013/04/05(金) 15:18:49.77
usbカメラでつまづいてググったらみんな
つまづいとるがな
でさewlibだっけ
なんかそれつかってやってるんだが
while
入った直後の
capture.capture
まではバグでないんだけど
次の
cvcopyで落ちる
なんでだ
orz
772デフォルトの名無しさん:2013/04/05(金) 15:20:43.44
direct sdkはいれた
ソースはふじもんのコピペ
773デフォルトの名無しさん:2013/04/05(金) 21:25:44.29
msysでライブラリ作成時どうしてもlibstdc++とlibgccがリンク出来ませぬ
フラグ立ててもガン無視、cmakeのcuiで無理矢理リンクさせても無理

gccでopencvやってる人、作成物のリンク時にstdcとgccリンクしてるの?
774デフォルトの名無しさん:2013/04/07(日) 15:41:49.60
gccにリンク?
日本語わからない。。
775デフォルトの名無しさん:2013/04/08(月) 12:13:38.97
斜めになった長方形を検出するのがどうもうまくできない
776デフォルトの名無しさん:2013/04/08(月) 19:08:48.32
カメラを斜めに傾けるといいよ
777デフォルトの名無しさん:2013/04/09(火) 09:28:12.43
サンプル通りで普通に動いてた気が
Ver2.10の頃だが
778デフォルトの名無しさん:2013/04/10(水) 10:12:29.38
tes
779デフォルトの名無しさん:2013/04/10(水) 11:38:46.56
2.4はまだ相変わらず情報量少ないの?
780デフォルトの名無しさん:2013/04/10(水) 14:55:16.32
少ないのではない
無いのだ
781デフォルトの名無しさん:2013/04/12(金) 00:42:51.07
画像処理の専門書読んだら 気が狂いそうな程意味分からん数式ばかりなんですが
このスレの皆さんはその数式も理解してプログラミングしてるんですか?
例えばCRFとか
782デフォルトの名無しさん:2013/04/12(金) 00:58:48.16
たしなむ程度には
783デフォルトの名無しさん:2013/04/12(金) 03:20:57.72
大抵はライブラリ使うだけでしょ
784デフォルトの名無しさん:2013/04/12(金) 10:19:44.82
ゆとり時代の高校数学の指導要領を見ると画像処理に関連の深い分野がすっかすか
だからな。今はかなり改善されているけど偏微分とかは復活していない。
785デフォルトの名無しさん:2013/04/12(金) 13:23:26.49
サンプルソースコード見ながら数式追いかけてる
786デフォルトの名無しさん:2013/04/12(金) 16:05:38.08
高校数学で頑張っても所詮文系だよ
787デフォルトの名無しさん:2013/04/12(金) 17:06:54.27
とりあえず線形代数の本を本棚に祀った。
788デフォルトの名無しさん:2013/04/12(金) 22:29:22.97
いや、読めよ
手元に置けよ
789デフォルトの名無しさん:2013/04/12(金) 22:42:24.75
読もうと思って裁断まではした
790デフォルトの名無しさん:2013/04/13(土) 01:47:20.56
OpenCVって、RGBの並び順はなぜBGRなんですか?
791デフォルトの名無しさん:2013/04/13(土) 08:41:13.85
インテルが作ったからだろ
792デフォルトの名無しさん:2013/04/13(土) 15:43:21.00
32bit intで上の桁から順にRGBAって入れていくと、リトルエンディアンだとバイトの並びはABGRになるからそれが由来じゃね?って話を聞いたんだが真偽の程は?
793デフォルトの名無しさん:2013/04/13(土) 18:25:39.24
バグだな
794デフォルトの名無しさん:2013/04/13(土) 18:35:44.10
いいエンディアンは死んだエンディアンだけだ
795デフォルトの名無しさん:2013/04/13(土) 21:48:08.22
16色の頃からBGRの順番だしな
24bitでもそのまま拡張しただけか?
796デフォルトの名無しさん:2013/04/14(日) 20:37:54.65
アルファベット順だったりして
797デフォルトの名無しさん:2013/04/14(日) 21:49:18.92
それだ
798デフォルトの名無しさん:2013/04/14(日) 22:55:08.04
pgr
799デフォルトの名無しさん:2013/04/15(月) 17:24:12.44
threshold()での2値化の際のビット深度についての質問です。

cvThreshold()では32Fの画像を2値化する際、
srcに32bit(32F)の入力画像、dstに8bit(8U)の2値画像を指定していました。
でも同じことをcv::threshold()で行おうとした場合、
dstに指定した8bit画像のビット深度が勝手に32Fに変換されてしまいます。

リファレンスでは
(cvThreshold)
dst: 出力配列.src と同じデータタイプ,または8ビット.

(cv::threshold)
dst: src と同じサイズ,同じタイプの出力配列.

と書かれているので、この動作は仕様と考えていいんでしょうか。
800デフォルトの名無しさん:2013/04/16(火) 00:14:13.62
SetCursorPosがリンクされません。助けて下さい。
801デフォルトの名無しさん:2013/04/16(火) 00:30:24.38
現在SetCursorPosを使おうとしているのですが、以下のメッセージが
でて実行することができません、

error LNK2019: 未解決の外部シンボル __imp__SetCursorPos@8 が関数 _main で参照されました。
802デフォルトの名無しさん:2013/04/16(火) 01:33:00.92
includeしてないんじゃね?
803デフォルトの名無しさん:2013/04/16(火) 01:37:56.46
>>802
違います。次の方どうぞ
804デフォルトの名無しさん:2013/04/16(火) 01:51:55.52
#pragma comment(lib, "kernel32.lib")
805デフォルトの名無しさん:2013/04/16(火) 01:53:25.74
>>804
それでもありません。次の方どうぞ
806デフォルトの名無しさん:2013/04/16(火) 02:25:13.02
次の方どうぞ
807デフォルトの名無しさん:2013/04/16(火) 03:25:13.55
次の方はよ
808デフォルトの名無しさん:2013/04/16(火) 06:37:59.80
User32 ですれ違いと見た
809デフォルトの名無しさん:2013/04/16(火) 11:16:52.92
dft動かねーよ
810デフォルトの名無しさん:2013/04/17(水) 12:08:40.37
opencv2.4を使用しています。
vc2012です。

カメラから入力した映像のなかで選択した色を抽出し、その色の部分を追いかけるといったプログラムを作りたいのですがまったく手がつけられません。プログラムの流れというかそういったものをヒントで教えていただけると助かります。
811デフォルトの名無しさん:2013/04/17(水) 13:28:21.61
>>810 プログラムの流れ

カメラの映像を読む

選択した色を抽出

選択した色を追いかける

終了
812デフォルトの名無しさん:2013/04/17(水) 13:28:37.35
単純な方法

選択箇所の色を抽出
変数に保存

毎フレーム全ピクセルから変数と合致する色を探す
813デフォルトの名無しさん:2013/04/17(水) 15:04:49.36
OpenCV関係ねーと思ったら、画像処理スレ落ちてたのかw
814デフォルトの名無しさん:2013/04/21(日) 22:53:22.90
こっちは落とさないようにしよう
815デフォルトの名無しさん:2013/04/22(月) 17:21:32.45
OpenCV使ってキャプチャした動画からランダムに表示される数値を動的に読み取って
スプレッドシート上で加算していくアプリ作るのってOpenCV初心者ならどれくらいの時間でやれますか?
プログロムの知識は2,3年Javaの開発してたくらいでCとかC#の知識はあまりないって感じです
というかそもそも市販の10万前後のPCでそのくらいアプリをまともに動かす事が可能でしょうか?
816デフォルトの名無しさん:2013/04/22(月) 18:07:43.77
数字の書体や大きさ太さは固定?ランダム?
817デフォルトの名無しさん:2013/04/22(月) 18:12:31.23
数字の書体や大きさ太さは固定で出現する位置も固定です
818デフォルトの名無しさん:2013/04/22(月) 20:33:46.58
OpenCVの部分だけなら1週間〜3週間ぐらいってとこじゃない?
全部スムーズに行けば
C++で引っかかれば+2週間ぐらいかかりそう
819デフォルトの名無しさん:2013/04/22(月) 20:51:17.96
ありがとうございます
頑張ってみます
820デフォルトの名無しさん:2013/04/22(月) 22:28:15.18
opencvに文字認識なんてあったけ?
821デフォルトの名無しさん:2013/04/22(月) 23:14:25.12
あらたいへん
822デフォルトの名無しさん:2013/04/22(月) 23:53:56.98
なんか昔OCR系調べた時にそんなネタあったよな、
と思ってググってみたけど
OpenCV単体じゃなくて他ライブラリとの組み合わせではいろいろあるみたいね
823デフォルトの名無しさん:2013/04/23(火) 01:01:17.76
位置フォント大きさ固定なら
フォント画像用意して距離測るだけでしょ
824デフォルトの名無しさん:2013/04/23(火) 02:01:40.89
数字10種類しかないしな
825デフォルトの名無しさん:2013/04/23(火) 09:36:25.86
数字が手書きみたいに適当なのか、PCで記録された時刻等なのかでも難易度がえらく変わるような
826デフォルトの名無しさん:2013/04/23(火) 15:05:52.24
画像にノイズが含まれていないことが保証されていて位置もフォントも固定なら
単に画像の特徴点の一致だけを見れば良いから一日あれば出来るだろう
827デフォルトの名無しさん:2013/04/24(水) 03:00:08.99
>>817
いわゆるテンプレートマッチングか。出る場所決まってるなら、テンプレート画像を
用意しておいて、対象のROI(Region Of Interest; 問題にしたい領域)を指定して
正規化相関とかで数字を一つ一つチェックして相関値が最大のを取れた数字にする、という
のでいいんじゃね。
828デフォルトの名無しさん:2013/04/24(水) 04:04:38.74
>>826
画素値そのまま並べたベクトルでユークリッド距離が一番近いやつを選ぶだけでえやろ
829デフォルトの名無しさん:2013/04/24(水) 05:37:33.09
正直ネタとしか思えない内容
830デフォルトの名無しさん:2013/04/24(水) 08:05:54.11
ネタとしか思えん言うのはある程度画像の扱いに慣れてるからやろ
831デフォルトの名無しさん:2013/04/24(水) 16:46:49.75
あー完全固定だったか
画素を数点比較するだけで出来るなw
832デフォルトの名無しさん:2013/04/24(水) 18:13:08.73
さて、一日経った訳だが、 >>826 は何か出せるのか?
833デフォルトの名無しさん:2013/04/25(木) 22:45:00.66
OpenCV使うのがはじめてだったりするとまだ cmake で間違って64ビット用のバイナリを作っちゃってWin32プロジェクトで
動かない事に悩んでるレベル
834デフォルトの名無しさん:2013/04/25(木) 23:54:37.02
今は自分でコンパイルする必要ないから
835デフォルトの名無しさん:2013/04/26(金) 02:48:56.20
「おい、そこのお前。 こいつをコンパイルしろ。 今すぐにだ」
836815:2013/04/27(土) 17:32:11.81
先日質問した者ですがOpenCVにはテレビ出力に対応した入出力ライブラリは用意されていないのでしょうか?
DirectShowと連携すればそういう事が可能になるようですが色々調べてみたら
OpenCV単体ではUSBカメラ用のライブラリしかないような印象を受けました
837デフォルトの名無しさん:2013/04/27(土) 18:37:10.73
OpenCVはくだらない関数つくりすぎ
しかも名前が似てるもの量産するし
838デフォルトの名無しさん:2013/04/27(土) 19:18:42.91
直交性がないとか
ネーミングセンスが悪いとか
839デフォルトの名無しさん:2013/04/27(土) 21:51:52.71
>>836
オープンcvはdirctshowのラッパーだからできると思うけどいくらで作る?
なんならdirctshowフィルターを自作。dirctshowフィルターの中身をオープンcv使えるようにすればいい。
見返りがあるならもっと情報提供するよ
840815:2013/04/27(土) 22:39:39.02
>>839
個人で使うものなのでいくらというとタダです
時間のある時に趣味で作っている感じです
DirectShowのラッパーという事は知りませんでした
どちらを使うか色々試してみようと思います
ありがとうございました
841デフォルトの名無しさん:2013/04/28(日) 23:23:18.81
Windowsで最初からビルドされてるバイナリ使うんでいいよ、もう
VisualStudio使えば簡単でしょ
842デフォルトの名無しさん:2013/05/03(金) 21:22:45.21
本家画像処理スレ落ちてんのか
843デフォルトの名無しさん:2013/05/09(木) 13:49:06.80
opencv2.1のリファレンスで
HoughLines
のサンプルを動かそうとしているのですが
どうもCV_PIでNullpointerになってしまうのですが
どなたか解決方法をご存じないでしょうか
844デフォルトの名無しさん:2013/05/10(金) 01:21:57.05
ソース晒して
845デフォルトの名無しさん:2013/05/10(金) 17:15:55.31
根本的な解決にはならんだろうが、直接3.14に書き換えてみるとか
pathが通って無いとか参照先が無いとか間違っているんだろうけども
846デフォルトの名無しさん:2013/05/11(土) 07:32:53.69
ただの画像処理ライブラリなのに、使うだけで苦労してるのが多いのか
847デフォルトの名無しさん:2013/05/11(土) 14:21:11.55
まあまあ最初は面倒くさいよね
848デフォルトの名無しさん:2013/05/18(土) 00:44:29.96
OpenCVって動画ファイルを入力してフレーム毎に保存とかできたりする?
849デフォルトの名無しさん:2013/05/18(土) 08:02:30.19
はい
850デフォルトの名無しさん:2013/05/28(火) 02:05:38.23
それぞれの関数のソースが知りたいんだけど公開されてる?
ちなみにmacです
851デフォルトの名無しさん:2013/05/28(火) 11:41:03.99
はい
852デフォルトの名無しさん:2013/05/28(火) 20:42:15.65
どいつも質問の仕方下手すぎてわろた
853デフォルトの名無しさん:2013/05/28(火) 20:57:33.55
ドイツ?
854デフォルトの名無しさん:2013/05/28(火) 21:01:40.19
アメリカは上手いらしいよ
855デフォルトの名無しさん:2013/05/29(水) 13:18:16.16
俺はイタリアだし
856デフォルトの名無しさん:2013/05/29(水) 21:07:24.58
質問者がこれだから画像処理スレと分けたんだよな
857デフォルトの名無しさん:2013/05/30(木) 11:43:10.66
そういえば最近画像処理スレ見かけないと思ったら
次スレ立ってなかったのか
858デフォルトの名無しさん:2013/05/31(金) 18:45:21.06
バグレポの通算50個突破しそう
今回はDescriptorExtractor.computeでPythonバインディングの参照カウントが腐るのを見つけた
859デフォルトの名無しさん:2013/05/31(金) 23:35:03.49
もう一つ
freak.cppの365行目
SSE2有効だとmovdqaが使われるみたいだけど
movdqaのオペランドは16の倍数アドレスじゃないといけないのに
8の倍数アドレスががたまに入ってて死ぬ

と思ってさらに2行下を見ると
堂々と ptr -= 8; って書いてある
そら死ぬわな
何だこれは
860デフォルトの名無しさん:2013/06/01(土) 01:30:35.10
レガシーな上ガンガン作り替えてるからな
861デフォルトの名無しさん:2013/06/01(土) 14:56:21.91
stable版とは一体なんなのか
862デフォルトの名無しさん:2013/06/01(土) 21:39:55.63
いい加減に安定したと思いたいバージョン
863デフォルトの名無しさん:2013/06/02(日) 00:52:42.20
いい加減安定させなさいよ
864デフォルトの名無しさん:2013/06/02(日) 19:55:04.45
865デフォルトの名無しさん:2013/06/03(月) 11:30:05.43
今だに2.1使ってるw
866デフォルトの名無しさん:2013/06/20(木) 05:00:30.52
保守
しかし過疎るね、フリーの画像処理ライブラリってこれくらいしかないのに
867デフォルトの名無しさん:2013/06/20(木) 10:24:59.52
画像処理自体あんまでかい業界じゃないってこと
868デフォルトの名無しさん:2013/06/20(木) 11:46:09.29
画像処理自体はでかいと思うんだがなぁ
869デフォルトの名無しさん:2013/06/20(木) 20:11:38.13
ライブラリの完成度が微妙ってのもあるし
画像処理って一歩踏み込むとだいぶ専門的になるから着いていけない奴が多いし
単純な効果だけが必要ならImageMagickのバインドでも使ってた方が分かりやすい
870デフォルトの名無しさん:2013/06/20(木) 20:18:41.99
Dで書き直したのないかな
871デフォルトの名無しさん:2013/06/21(金) 14:49:05.77
実装が変とかバグがあるままリリースとか常態化しすぎ
872デフォルトの名無しさん:2013/06/21(金) 15:11:54.10
てかこれつくってるやつら相当古いプログラマーだよな
いくつなんだろう
873デフォルトの名無しさん:2013/06/21(金) 16:28:23.99
いっそのこと、公式で.net版を・・・
874デフォルトの名無しさん:2013/06/21(金) 22:58:58.01
OpenCV4Androidを使って、C++でAndroid開発してる人いますか?参考にしたHPなどを教えていただけたら嬉しいです。
875デフォルトの名無しさん:2013/06/22(土) 02:30:40.65
最近は研究者が多いんだろ
876デフォルトの名無しさん:2013/06/22(土) 10:29:55.09
VideoCaptureで、deviceが何番まで使えるかとか、それぞれ設定できる
解像度とか取得することってできないんですかね?
とりあえず試してみてエラーを確認するとか、泥臭い方法しかないのかな。
877デフォルトの名無しさん:2013/06/23(日) 15:42:49.07
正直ここで質問してもあまり答えは期待できないよ
公式フォーラムなりなんなりに英語で質問した方がいいんじゃないかな
質問するなとは言わないけど
878デフォルトの名無しさん:2013/06/23(日) 17:09:06.62
VideoCaptureクラス読んでみたけどその辺の機能はない
その辺の機能追加するのも今のクラス構造だとキツそう
879デフォルトの名無しさん:2013/06/23(日) 19:47:01.37
やっぱりできないですか。
実験用以上のものじゃないんでしょうね。
880デフォルトの名無しさん:2013/06/23(日) 21:38:36.57
キャプチャ部分はオマケみたいなもんだからな
881デフォルトの名無しさん:2013/06/24(月) 10:29:38.39
キャプチャ部分はfpsが合わない動画があるとか不具合あったしなー
最新では直ってるんだろうか
882デフォルトの名無しさん:2013/06/25(火) 08:28:44.71
ARM+Linuxで動かしてるヤツいる?どんなCPU使ってる?
883デフォルトの名無しさん:2013/06/25(火) 12:30:13.65
Snapdragon
884デフォルトの名無しさん:2013/06/25(火) 13:51:34.09
cvResizeってIplImageで領域確保しておかないと動かないんだな
885デフォルトの名無しさん:2013/06/27(木) 16:09:23.08
画像をフーリエ変換し、その周波数成分の分布からテクスチャ特徴を求めて
そのパワースペクトルを表示させたいんだけど
大きい画像を使わなくてはならないのでパワースペクトルがまったくでない
領域統合法の様にn*nの短形領域に分割して
それぞれをフーリエ変換してテクスチャの方向性と構成要素の大きさを求めた方がいいのかな?
処理時間は別に長くなっても構わないんだ
886デフォルトの名無しさん:2013/06/27(木) 20:46:04.35
ここでそういう質問すんなカス死ね
887デフォルトの名無しさん:2013/06/28(金) 09:05:30.91
888デフォルトの名無しさん:2013/06/28(金) 09:58:02.56
ハハハ
889デフォルトの名無しさん:2013/07/07(日) 06:30:31.72
tbb3.xってもう手に入らないのかな?

intelのHP行っても4.1しか落ちてないので.
オープンソースって,LinuxにせよOpenCVにせよ過去のバージョン
保存するものだと思ってたが
理研や奈良先端大に落ちてたりするのかしら
890デフォルトの名無しさん:2013/07/08(月) 01:33:29.52
OpenCvのLANCZOS4の品質悪過ぎワロス
高画質を求めるなら楽せず自力で作れと言うことなのか
891デフォルトの名無しさん:2013/07/08(月) 12:45:43.48
こんなクソに何を期待してんの?バカなの?死ねよ
892デフォルトの名無しさん:2013/07/08(月) 21:53:47.33
なんだ突然
893デフォルトの名無しさん:2013/07/09(火) 21:11:39.68
R、G、Bの各値からHSVの値に変換したいんだけど、
cvtColorの引数にcv::Scalarを与えて使うのって無理なの?
なにか良い方法ってあるんだろうか
894デフォルトの名無しさん:2013/07/10(水) 04:09:51.40
オーバーロードがない時点で直接は無理だと分かってくれ
1x1のcv::Mat経由してくれ
895デフォルトの名無しさん:2013/07/10(水) 04:22:29.26
やっぱ無理なのか。dクス
896デフォルトの名無しさん:2013/07/10(水) 23:27:38.07
ソースから該当部分だけ抜き出しゃいいじゃん
897デフォルトの名無しさん:2013/07/14(日) 19:47:35.32
任意の色変換を行う機能ってないんですかね?
cvtColorはcodeを指定すればいくつかの色空間の変換はできるけど、
任意の3x3係数行列を使って変換できるようなものが欲しいのですが。
898デフォルトの名無しさん:2013/07/14(日) 19:51:23.98
たぶんそういうのはフィルターの機能
899デフォルトの名無しさん:2013/07/14(日) 20:12:13.79
ありがとうございました。
この程度なら機能として存在するかなと思ったんですが、自分で
filterを書かなきゃならんですか。
900デフォルトの名無しさん:2013/07/26(金) 17:24:08.83
cvmatで読み込んだ画像にcvcircleで円をかき込めないんだけど
一度IplImageでコピった後に円処理をしてcvarrToMatで戻すしかないのかな?
901デフォルトの名無しさん:2013/07/29(月) 00:29:28.67
>>900
よく分からないがお前が間違ってる
902デフォルトの名無しさん:2013/07/29(月) 08:49:01.46
>>900
試してないが、cv::MatならcvCircleじゃなくてcv::circleつかえばいいんじゃないの?
903デフォルトの名無しさん:2013/08/04(日) 14:46:03.23
ttp://fieldhouse.com/Stores/FHSHop1.aspx?PON=74808&CON=75944&AC=
OpenCVグッズいっぱい売ってるよ
Tシャツやズボン、リュックサックやマグカップまで無駄に充実してる
904デフォルトの名無しさん:2013/08/04(日) 15:25:16.99
面白いけどどういう需要があるのこれ
905デフォルトの名無しさん:2013/08/04(日) 16:53:09.55
寄付の代わりに買えよってことダロ
906デフォルトの名無しさん:2013/08/08(木) 06:36:24.84
1万円ぐらいのステレオカメラ
Panasonic デジタルカメラ ルミックス 3D1 光学4倍 DMC-3D1-K
にusbケーブルついてるのだけどOpenCVからリアルタイムで使えたりします?
907デフォルトの名無しさん:2013/08/08(木) 07:06:48.35
デジカメのusbは撮影後の写真ファイルを送るためについてるんじゃないのか?
普通は無理。webカメラにもなるならしらね
908デフォルトの名無しさん:2013/08/08(木) 07:13:44.68
http://news.ameba.jp/20130719-603/
ステレオカメラで撮影したのを変換して広角カメラにしてるみたいだけど
元のステレオ画像はとれないのかな
909デフォルトの名無しさん:2013/08/08(木) 07:28:10.82
広角目的に2つのレンズがついているなら、視野の重なりはほとんどないよね?撮ってどうするのか興味がある
910デフォルトの名無しさん:2013/08/08(木) 07:40:20.53
ちなみにbsw180abkの仕様を確認したところ1つのビデオデバイスとして認識されるみたいね。
だから普通には生画像を2毎取り出すことは出来ない
911デフォルトの名無しさん:2013/08/08(木) 12:33:51.21
あんま高度な期待しないでくださいよこのライブラリに
幻滅するだけですよ
912デフォルトの名無しさん:2013/08/19(月) 07:57:40.54
>>911
>あんま高度な期待しないでくださいよこのライブラリに
>幻滅するだけですよ

高度な処理を実装してOpenCVに提案しても無視されるよね
githubを検索したほうがいい感じ
913デフォルトの名無しさん:2013/08/19(月) 07:59:13.02
OpenCVもboost.eggと似た感じの事を何度もやってきた結果
こうなってるわけか
914デフォルトの名無しさん:2013/08/20(火) 09:00:37.20
>>911-913
gnomeの開発があまりに酷いのでmateにフォークしたけど
OpenCVもそろそろ同じ事しないといけない感じする
915デフォルトの名無しさん:2013/08/26(月) 13:51:35.95
>>914
応援するわ
916デフォルトの名無しさん:2013/08/27(火) 00:18:16.81
基本部分はできたから意欲ある研究者が自分のアルゴリズム公開する共通プラットフォームになってくんじゃないの?
917デフォルトの名無しさん:2013/08/27(火) 09:04:07.36
ありえねえ
918デフォルトの名無しさん:2013/09/04(水) 11:48:19.49
いろんな種類の猫の顔検出をまじめにやってるとこある?
919デフォルトの名無しさん:2013/09/04(水) 11:57:02.35
ない
920デフォルトの名無しさん:2013/09/04(水) 12:30:35.26
犬猫はうちの製品にあるけど種類までは出力しないな
なんといっても精度が微妙だったから
921デフォルトの名無しさん:2013/09/04(水) 20:39:06.38
人の顔のデータベースにぬこの顔一匹分混ぜた
今のところ誰も気付いていない
922デフォルトの名無しさん:2013/09/04(水) 21:02:14.83
Stanford Dogs Datasetを見たらやる気をなくす
923デフォルトの名無しさん:2013/09/05(木) 20:00:19.21
>>922
これすごいな!
かわいくない犬画像が2万枚もあるぞ
924デフォルトの名無しさん:2013/09/08(日) 14:15:35.60
Cats Datasetとかないの?
925デフォルトの名無しさん:2013/09/08(日) 20:47:53.50
>>924
Oxford Pet Datasetってのがある
926デフォルトの名無しさん:2013/09/08(日) 20:56:28.49
すげえなお前ら超詳しいな
こういうDatasetってどこかに纏まってないのかな
927デフォルトの名無しさん:2013/09/09(月) 05:19:28.28
まとめてるところはあるだろうがリンク切れが多かったり微妙だったりだな
最近の論文を見て実験で使われているデータセットをメモるのがいい
流行も分かるし
928デフォルトの名無しさん:2013/09/11(水) 22:36:09.04
UncannyCVってどうなんでしょう?
ARM環境でopencvよりも2-20倍高速らしい。
929デフォルトの名無しさん:2013/09/11(水) 22:47:21.24
でもプロプラだしお高いんでしょう?
930デフォルトの名無しさん:2013/09/12(木) 09:11:06.94
OpenCVのソース見て、自分で最適化すればいいんじゃね
931デフォルトの名無しさん:2013/09/12(木) 12:58:45.98
自分で最適化する人件費が安いやつはすればいいし
高いやつは買えばいいってだけ
買って糞だったらここに愚痴を書き込め
932デフォルトの名無しさん:2013/09/13(金) 08:27:43.76
>>930
試しになんか最適化してみろよ
933デフォルトの名無しさん:2013/09/13(金) 11:01:38.76
他人が書いたライブラリのコードをわざわざ読んで最適化するくらいなら
自分で新しいの書くほうがラクだし
934デフォルトの名無しさん:2013/09/14(土) 02:10:57.17
sseで書く高速画像処理みたいな本が出てたりするけどどれくらい効果的なんだろうね
935デフォルトの名無しさん:2013/09/14(土) 08:54:08.58
画像処理でSSEとOpenMP/TBB使ってなかったら馬鹿だろって思うくらいには効果あるよ
OpenCVはどちらも使っているだろ
936デフォルトの名無しさん:2013/09/17(火) 12:21:06.74
失礼します。
USBカメラを複数繋げたいので、一台辺りの通信量を減らしたいのですが、
cvSetCaptureProperty (capture, CV_CAP_PROP_FRAME_WIDTH, w);
cvSetCaptureProperty (capture, CV_CAP_PROP_FRAME_HEIGHT, h);
これでサイズを小さくしてもあまり変わっているように見えないのは、受信後にサイズ変更しているからでしょうか?
937デフォルトの名無しさん:2013/09/17(火) 18:30:26.58
ドライバによるんじゃね
ソースコード見れば答えが分かるやろ
938デフォルトの名無しさん:2013/09/17(火) 22:15:31.52
あまり変わっているように見えないという意味がわからない
単に表示サイズを固定にしてるだけではないのか
939デフォルトの名無しさん:2013/09/17(火) 22:42:27.61
いったいいくつ繋いだら足りなくなるんだよ
940デフォルトの名無しさん:2013/09/17(火) 23:14:58.76
一つでもわりときついよ
941デフォルトの名無しさん:2013/09/18(水) 12:14:28.91
USB2.0かIEEE 1394を使え
942デフォルトの名無しさん:2013/09/18(水) 13:06:24.40
帯域がボトルネックならUSB3.0とか
でもUSBコントローラの方が制限厳しいかと
943デフォルトの名無しさん:2013/09/19(木) 00:32:01.93
フレームレートを下げる必要がある
バックエンドによるが
directshowなら帯域最大限使おうとする
cvでのやり方はしらないけどなんかあるでしょ
944デフォルトの名無しさん:2013/09/19(木) 00:49:29.12
openCVのカメラ関係はオマケだからなあ
945デフォルトの名無しさん:2013/09/19(木) 01:48:01.47
Directshowなら期待するフレームレートをカメラに要求できるよ。
936の質問はそれでカメラからのデータ量は落ちるような気がする。
946デフォルトの名無しさん:2013/09/19(木) 10:39:46.08
>>943
>>945

ありがとうございます。
30fpsのカメラでcvSetCapturePropertyのCV_CAP_PROP_FPSの値を1や100にしても変化がありませんでした。
現在はビデオファイルのみとのことですので、カメラをより細かく制御するにはDirectShow等を使用する必要がありそうですね。
http://opencv.jp/opencv-2svn/c/reading_and_writing_images_and_video.html
947デフォルトの名無しさん:2013/09/19(木) 13:29:45.12
そもそも普通のUSBカメラってパラメータ変更を受け付ける部分が無ければ、
解像度やFPSは固定のような?
948デフォルトの名無しさん:2013/09/19(木) 23:51:18.73
パラメータ変更を受け付ける部分っていうか設定可能な解像度とfpsの組み合わせは製品ごとに決まってる。
MATLABだとその組み合わせを表示できるから、多分パラメータセットを呼び出す共通の仕様があるんだろうけど知らないな。
949デフォルトの名無しさん:2013/09/20(金) 02:18:04.13
以前、video4linux2 で解像度とFPSの取得とか設定はしたことある。
950デフォルトの名無しさん:2013/09/20(金) 22:07:06.44
xcode でpython とopencvのコード混ぜてプログラム作成することって
可能なのでしょうか?
951デフォルトの名無しさん:2013/09/20(金) 22:14:50.48
質問が悪かった。
python+opencv(C++)を混ぜてってことです。

pythonのプログラムでは単にディレクトリ走査などだけをしようと考えています
952デフォルトの名無しさん:2013/09/20(金) 22:15:46.75
opencvのコードって何だ
opencv自体は言語じゃないからpythonがよければpythonのバインディングをimport cv2するだけだろ
953デフォルトの名無しさん:2013/09/20(金) 22:17:29.26
手っ取り早いのはctypes
954デフォルトの名無しさん:2013/09/21(土) 18:41:17.08
ここはプログラミング初心者スレじゃない
955デフォルトの名無しさん:2013/09/21(土) 22:27:46.53
【Intel】OpenCV総合スレ 5画素目【画像処理】
http://toro.2ch.net/test/read.cgi/tech/1379769972/
956デフォルトの名無しさん:2013/09/21(土) 22:58:12.11
非常に時期尚早だと思いますね
957デフォルトの名無しさん:2013/09/22(日) 08:17:16.62
>>955
早杉
958デフォルトの名無しさん:2013/09/22(日) 08:22:34.14
>>955
959デフォルトの名無しさん:2013/09/22(日) 10:26:35.97
うむ
960デフォルトの名無しさん:2013/09/22(日) 10:54:16.89
同意
961デフォルトの名無しさん:2013/09/22(日) 11:03:40.62
おまえのそのレスが一番ウザい
962デフォルトの名無しさん:2013/09/23(月) 09:38:16.97
Come on talk to me.
963デフォルトの名無しさん:2013/09/23(月) 10:15:08.99
全部のバージョンが必要
964デフォルトの名無しさん:2013/09/23(月) 12:02:29.75
ストアアプリ(笑
965デフォルトの名無しさん:2013/09/24(火) 15:17:09.67
966デフォルトの名無しさん:2013/09/25(水) 08:49:17.51
こういう画像の内部を真っ白にする場合どう処理すればいいんだ
http://uploda.cc/img/img524224ba0f4bc.png

ちなみに枠線は円ではなく、手書きのようなもの。
967デフォルトの名無しさん:2013/09/25(水) 09:52:00.32
>>966
解決した。フラッドフィル使うのね
968デフォルトの名無しさん:2013/09/25(水) 12:21:23.95
969デフォルトの名無しさん:2013/09/25(水) 12:23:14.11
970デフォルトの名無しさん:2013/09/25(水) 12:29:08.60
971デフォルトの名無しさん:2013/09/25(水) 21:00:48.16
HKEY_CURRENT_USER\Software\Microsoft\Windows\DWM

AlwaysHibernateThumbnails
ColorizationAfterglow
ColorizationAfterglowBalance
ColorizationBlurBalance
ColorizationColor
ColorizationColorBalance
ColorizationGlassAttribute
ColorizationGlassReflectionIntensity
ColorizationOpaqueBlend
Composition
EnableAeroPeek
EnableWindowColorization


これらの値を変更して再起動することで色々設定できるみたいだね
972デフォルトの名無しさん:2013/09/26(木) 16:40:20.04
失礼します。

http://opencv.jp/sample/discrete_transforms.htmlのプログラムを利用して、入力画像のDFTを計算し、実部の画像をcvSaveImageにて
保存したいのですが、保存した画像が真っ黒になってしまいます…
上記のプログラムでは、実部を表示する画像のデプスをIPL_DEPTH_64Fで作成しており、cvSaveImageでは扱えないからだと思うのですが…

image_Re = cvCreateImage (cvSize (dft_N, dft_M), IPL_DEPTH_64F, 1);
のデプスをIPL_DEPTH_8Uと書き換えるだけだとエラーが出て実行できません。

なので、image_ReをIPL_DEPTH_8Uに変換する方法を教えて頂けませんか?
よろしくお願いいたします。
973デフォルトの名無しさん:2013/09/26(木) 16:44:51.87
cvCvtScale()
変換前と変換後の値の対応をどうするのかはあなた次第
974デフォルトの名無しさん:2013/09/26(木) 17:02:29.53
>>973
ありがとうございます。
エラー無くコンパイルはできたのですが、なぜか保存された画像は真っ黒のままです。
ウィンドウにはDFTの結果が表示されるのですが…
解決策はありますでしょうか?
975デフォルトの名無しさん:2013/09/26(木) 17:25:50.62
image_Reの値を一つずつ見れ
976デフォルトの名無しさん:2013/09/26(木) 18:52:32.14
0.0-1.0の範囲になってるのを0-255に変換しないといけない
977デフォルトの名無しさん:2013/09/28(土) 20:33:19.99
OpenCLだよ
978デフォルトの名無しさん:2013/09/29(日) 23:14:54.13
3.0からC APIはメンテされなくなるらしいな。C++使わなきゃならないのか。
979デフォルトの名無しさん:2013/09/30(月) 09:04:27.26
がっかりだね
980デフォルトの名無しさん:2013/09/30(月) 09:09:23.69
GDI+の悪夢ふたたび
981デフォルトの名無しさん:2013/09/30(月) 12:23:14.12
まず2系のfixしろよw
982デフォルトの名無しさん
シャープ、「Mebius」ブランドのWindowsタブレットを発表
〜WQXGA対応10.1型IGZO搭載、LTE対応、防水/防塵仕様
http://pc.watch.impress.co.jp/docs/news/20130930_617213.html