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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2013/10/25(金) 17:28:16.71
OpenCVはインテルが公開したオープンソースのコンピュータービジョンライブラリ。
現在はWillowGateが開発している。

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

日本語資料など
http://opencv.jp/


【Intel】OpenCV総合スレ 4画素目【画像処理】
http://toro.2ch.net/test/read.cgi/tech/1329040627/
441436
垢版 |
2015/10/31(土) 16:57:14.29ID:EpOvgfvE
>>440
レスありがとうございます。
知識不足で申し訳ありませんが、確認させてください。

IplImage result;
float result2;
cvMatchTemplate(image,templ,result,method);
result2 = (double *)result;

としておいてresult2のアドレスが指す値を見るということで合っていますか?
442436
垢版 |
2015/10/31(土) 17:04:16.02ID:EpOvgfvE
あ、ごめんなさい。以下でしょうか。

IplImage result;
float *result2;
cvMatchTemplate(image,templ,result,method);
result2 = (double *)result;
2015/10/31(土) 17:31:04.37ID:ADar2buw
>>441-442
すまん、まちがえた。
float *result2 = (float *)result.imageData;
かな。これでresult2[0]〜result2[W-w+1×H-h+1]が結果のデータになってると思うけど。
試してないから間違ってるかも
2015/10/31(土) 17:35:39.94ID:ADar2buw
おせっかいだけど、どうも、見てる限りOpenCVでのIplImageの取り扱いに慣れてなさそうだから、まずはもっと簡単なところから始めてみたほうがいいかも。
例えば、256x256のIplImageを作って、左上が黒、右上が赤、左下が青、右下が紫になるようなグラデーション画像を作ってみるとか。
色違うけど、
http://www2.rgu.ac.uk/subj/ats/teachingweb/teaching/t16/Wk4-Colour/PhotoshopColourPicker.jpg
こんなやつね
2015/10/31(土) 17:47:46.79ID:jgYZGk3p
ふじこ
446436
垢版 |
2015/10/31(土) 18:14:50.38ID:EpOvgfvE
>>443
IplImage result;
float *result2;
cvMatchTemplate(image,templ,result,method);
result2 = (float *)result.imageData;

なぜか上記のようにすると
. または .* の左側に構造体が必要
というエラーが出てしまいます。
せっかく教えていただいたのに、うまくできずにすみません…
2015/10/31(土) 20:16:22.48ID:cZ2VljDN
cvMatchTemplaeの3番目の引数ってポインタじゃないの
448436
垢版 |
2015/10/31(土) 22:53:47.35ID:EpOvgfvE
>>447
IplImage *result;
float *result2;
cvMatchTemplate(image,templ,result,method);
result2 = (float *)result.imageData;

ごめんなさい。こうですね。
書き込みにする時に変数名を変えたので間違えていました。
結果は変わりません。
2015/11/01(日) 09:20:53.49ID:cdDiqxbo
>>448
アロケートもしてんの?
ttp://opencv.jp/sample/matching.html

dst_img = cvCreateImage ( ....
2015/11/03(火) 15:47:56.37ID:KpPfrqOo
ruby-opencvなんですが必要な色の領域だけ抽出した二値画像の重心はどのように計算すればいいのでしょうか
リファレンスガイドを読んでもよく分からなかったです
451436
垢版 |
2015/11/04(水) 01:00:57.90ID:ZDJipCdK
>>449
やってます!それがいけないんですかね?
2015/11/04(水) 07:29:52.96ID:V/pJL6r2
>>451
そうですか!コードやエラーくらいそのままコピペできないんですかね?
2015/11/04(水) 10:05:23.46ID:KsS1layI
>>451

・あなたは言葉で状況を説明しているが「言葉による状況描写」そのものが
誤った認識に基づいているならば情報量ゼロ

・あなたは周辺コードやエラーを「ノイズ」だと思って書かなかったのだろうが、
ここで助言をできる人たちにとってそれこそが情報
2015/11/04(水) 10:46:07.15ID:qzowSUC3
>>450
重心とかあまりわからんけど座標の平均値を取ればいいだけじゃね?
455デフォルトの名無しさん
垢版 |
2015/11/05(木) 11:50:27.70ID:k1mCzttB
Google Maps API ならやってくれる
2015/11/26(木) 20:40:25.32ID:VrX6iLNo
Aの上半分をBにコピー
Bの上半分をCにコピー
これだけでエラー出てくるけど何なのこれ
2015/11/27(金) 02:11:09.55ID:fOCe+Vm0
お前のレスが何なのこれだよ
2015/11/27(金) 02:57:00.66ID:RmnfpZEz
確かに
2015/11/27(金) 13:51:55.91ID:fSrmbKqg
エスパーするとファイルがロックされているか、
範囲がズレてるんじゃね
2015/11/27(金) 14:21:29.61ID:H/BOqAmi
知らんけど「OpenCV 浅いコピー」でググってみると幸せになれるかも
461456
垢版 |
2015/12/01(火) 10:41:38.02ID:WUdCKL/t
自己解決しました
僕の頭が悪いのが原因でした
2015/12/01(火) 11:16:37.58ID:mOAeAozf
それはわかっているから、
書き込むならせめて何を勘違いしたかくらい書け
2015/12/10(木) 10:21:49.27ID:qPm1t7ac
頭が悪かったから、ではなく

なにをどうしたらどうなるとおもっており、
それはそもそも単純にAしたらBになるという誤解の反映であり
そのような誤解を持った理由はOpenCVにおける設計が若干クソ
なのはさておき、二種類のコピーがある事、更には二種類のコピーが
用意されてる理由などを把握していなかったからでした。

これらのコピーはそれぞれ浅いコピー、深いコピーなどと呼ばれておりうんたらかんたら。

使いドコロとしては浅いコピーは(ここになんか書く)
一方深いコピーは(なんか書く)

注意しなければならないこととして Mat を operator= でアレしたときには(うんたらかんたら)

(ごにょごにょ)というわけで、何をほげしたい場合には浅いコピーで十分で具体的には
ほげほげで十分ですが今の場合にはほげげをすることが必要だったので
深いコピーが必要であり、そのためなんとかという構文で明示的にクローンする
必要がありました。

みたいに書く。そうやって書いておくとここ読んでる人にも有益で、おまえが
他人に教えるときにもテンプレにできるのでWin-Winだな。
2015/12/10(木) 12:25:42.92ID:gg94mj0B
みんなでごにょごにょ部分を穴埋めして文章完成させるスレってのがあったな
465名無しさん@そうだ選挙に行こう
垢版 |
2015/12/14(月) 10:18:58.29ID:Mj0LvYes
 https://www.youtube.com/watch?v=0iHLJQTygkI
2015/12/22(火) 09:12:30.04ID:llUOQANv
Cudaで高速計算したかったらopencv3使うしかないのかな
まだ2のままでいたいのだけぢ
2015/12/22(火) 16:19:47.37ID:5TV3ufQe
2のGpumatってCudaじゃないのか?
2015/12/23(水) 15:53:05.84ID:f3OkJGUt
Cudaで超解像画像やるとか凝ったことはopencv3でしか出来ない?
2015/12/24(木) 10:57:07.44ID:+Aw8uHMt
凝ったことやるなら自分で書け
2015/12/25(金) 01:49:00.71ID:0g6U9lRq
>>463
典型的な頭の悪い文章だな
471デフォルトの名無しさん
垢版 |
2015/12/25(金) 20:13:24.97ID:0UODRZi4
>>470
472デフォルトの名無しさん
垢版 |
2015/12/26(土) 10:23:44.42ID:PvF8tuZ2
>471
2016/01/14(木) 00:16:44.68ID:ejCwvGZw
OpenCV触り始めたんですけど、サンプル見てとりあえず、

IplImage *src_img = NULL ;
char imgfile[] =
2016/01/14(木) 11:42:07.58ID:Hp2vnal5
途中だけどもポインタ渡しと参照渡しの違いか?
475デフォルトの名無しさん
垢版 |
2016/01/14(木) 19:19:23.47ID:MVoyv7BA
ポインタのポインタだろ
476473
垢版 |
2016/01/14(木) 23:39:06.96ID:ejCwvGZw
あれ、すいません。
コピペで貼ったんですが切れてしまいました。
IplImageをcvCreateImageしてcvReleaseImageしただけでメモリリークしているようなのですが、
他に何か終了命令などはあるのでしょうか?
2016/01/15(金) 11:27:50.92ID:y8oLhUCG
>>322-323と、その後参照
今はcv:Matだから古いサンプルを見るのを止めるのが一番かもしれんがw
478デフォルトの名無しさん
垢版 |
2016/01/16(土) 11:06:35.60ID:xOOUInQQ
OpenCVはただのゴミだからインストールしないのが吉。
パソコンプログラミングの超神クラスの俺でも100時間かかって動かせなかった。
はっきり言って時間の無駄。
すでに何百時間も費やして動かせるようになってる人にはとやかく言わないが、
導入を検討してる人はとにかくやめておけ。
2016/01/16(土) 18:01:01.85ID:KeKHWyn2
>>478
パソコンってことはWindowsかMacだろうけど、どっちも標準の
開発環境でやってればそんなに迷うようなことないんじゃない?

まあでもそうでもないか。Windows+VSでやってたとき、わりと
DLL関係のプロジェクト設定で躓いて先生に助けてもらったわ。
ああいう設定って一度知ってる人に聞かないとだめだね。
480デフォルトの名無しさん
垢版 |
2016/01/16(土) 20:11:39.84ID:CPZavs1f
>>478
どうしてゴミだと思ったの?
どの辺が理解出来なかったか他人にうまく説明出来る?
本気でやる気があったらここで聞いてくれてもいいんだよ?
2016/01/16(土) 22:19:27.88ID:F8nm5oaF
パソコンプログラミングの超神クラスの俺さんなんてスルーしとけ
2016/01/16(土) 22:37:33.57ID:oAUVPyCf
IplImageってどこで使われてるの?
組み込みは分かるけど
2016/01/16(土) 22:49:02.51ID:sreyGxGM
サンプルで使われてるんだろ
484デフォルトの名無しさん
垢版 |
2016/01/17(日) 18:49:19.74ID:wzxdIUIG
cvMatが出来る前は普通に使われてたんじゃね
485476
垢版 |
2016/01/18(月) 00:00:30.53ID:2kOEc2q5
>>479
環境書いていませんでしたがWindowsです。
今はMatなんですね。気がつきませんでした。
あとcvMatでも_CrtSetDbgFlagでフラグ立てておくと
メモリリーク出ますね〜。心臓に悪い。
2016/02/03(水) 08:41:59.87ID:TXUepsJB
Opencv2とopencv3の両方で動くようにするにはcvmat使えばいいの?
487デフォルトの名無しさん
垢版 |
2016/02/07(日) 11:02:53.61ID:AsHZ+KLf
試せば分かる
488デフォルトの名無しさん
垢版 |
2016/02/07(日) 11:37:29.48ID:2wykn2ry
面倒無用
2016/02/15(月) 18:46:02.29ID:fzqH+KPW
Pythonはやばいな
6行くらいでCVスクリプト動くからな
2016/02/19(金) 00:17:23.58ID:VbtCQrHN
VS2015 Win32コンソール
int main(){
 _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
 //_CrtSetBreakAlloc( 335 ); // リークの出力の{}内の数字に適宜変更して有効にすればブレーク
 cv::Mat search_img = cv::imread( "zbase.png", 1 );
}

new してる箇所
〜\opencv\sources\modules\core\src\matrix.cpp(241)
 CV_SINGLETON_LAZY_INIT(MatAllocator, new StdMatAllocator())


それを記憶する箇所
〜\opencv\sources\modules\core\src\matrix.cpp(231)
 g_matAllocator = getStdAllocator();


たったこれだけでリークしちまうのか
後始末してくれるメソッドの類はないっぽいし、
外側から無理矢理クリアするにも適切な方法がわからんし、どうしたもんかなぁコレ
C#やPhythonで使うにしてもアンマネージドな部分のリークに不安が残る
それとも識者は後始末かリークさせないようにアロケータ自前で設定してたりするのん?

おせーてエロい人
491デフォルトの名無しさん
垢版 |
2016/02/19(金) 00:23:45.79ID:VbtCQrHN
追伸
目的はテンプレートマッチングなんだけど、
メモリリーク箇所全部追跡しようとしたら1回検索するコード実行しただけですんげぇログ吐き出してくれて
思わずハードディスク毎窓の外にブン投げてソースコード破棄したくなった
2016/02/22(月) 00:29:18.01ID:9rsZs1m0
何か気持ち悪い文体だけど自分面白いと思ってそう
質問するならそれなりの態度でお願いするべきだと思いますよ
2016/02/28(日) 23:08:21.74ID:BmcAIKJd
>>492
反応しちゃダメだよ
494デフォルトの名無しさん
垢版 |
2016/03/12(土) 16:26:17.52ID:gc0W1ZBa
質問があります。
cv::Mat depthMat;
depthMat=cv::Mat(depth->height,depth->width,CV_32FC1,depth->data)/4500.0f;
とあり、最後にcv::imshow("depth",depthMat);
で表示されているんですが、いままでCV_8UC1やC3,C4だったのでどうして表示できてるか
分かりません。
中身にどんな値が入っているかもわかりません。
8bitなら0~255で理解できたのですが、32bitだとデータに.atや.dataでアクセスしても変な数字しか出ません。
それに.atと.dataで値が違うのも気になります。
どなたか教えてください。
2016/03/13(日) 03:53:28.89ID:bBn3aLjI
depthMat.at<float>(x,y)とかで正しい値とれない?
dataの方は、((float *)depthMat.data)[i]とかしないと正しい値取れないと思うよ。
結局はバイナリデータのアクセスだから、キャストちゃんとしないとまともな数字が取れないと思う
496デフォルトの名無しさん
垢版 |
2016/03/14(月) 11:04:11.85ID:CN8btJSR
494です。>>495さんの言う通りでした。ありがとうございます。
後、質問なんですがjetson tk1とかに関する質問ってどこの板が適切ですか?
ご存知の方がいらっしゃいましたら教えてください。
497デフォルトの名無しさん
垢版 |
2016/03/25(金) 13:27:39.01ID:1WXfEmgu
http://halide-lang.org/
http://nebuta.hatenablog.com/entry/2013/08/04/135932
便利そうなんだけど誰か使ってます?
2016/03/25(金) 14:12:42.33ID:1nGTC3BS
宣伝か?
2016/03/29(火) 09:05:29.86ID:xWRz3Ukj
どっかのへっぽこ大学じゃなくてMITがドヤ顔で作ったライブラリなんですが
宣伝乙脳になるとこういう反応になるのか
2016/03/29(火) 14:34:26.54ID:gOix+kaV
有名大学だからって有難がる権威主義でも無いし
良い物ならみんな使ってる
501デフォルトの名無しさん
垢版 |
2016/03/30(水) 13:41:10.07ID:WoRxWRoM
>>500
君が >498 でないなら釈明する必要はないし、>500 の言い分はごもっともだがその理屈から >498 が出てきたら失笑なことは変わらない。
2016/04/15(金) 00:07:52.64ID:oWDFnHTu
結局Halideってどうなのよ
2016/04/15(金) 09:56:02.65ID:PpXM10CU
良い物ならみんなとっくに使ってる
2016/04/18(月) 00:43:54.03ID:kYcory21
デスヨネー
2016/04/21(木) 10:02:38.01ID:0GSXCSV8
二重指数積分公式は最高性能の数値積分法であるにもかかわらず
「白人が作ったものではないから」という人種差別的な偏見によって二十年間世界から無視されていた。
2016/04/21(木) 12:29:30.04ID:9Ocgrhnl
rubyをdisるのはやめれ
507デフォルトの名無しさん
垢版 |
2016/05/01(日) 15:40:06.85ID:tKi6j9CT
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています

言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?

Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al

ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw


The Covenant Project
概要

Covenantは、純粋P2Pのファイル共有ソフトです

目的

インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します

特徴

Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)

接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
2016/05/01(日) 23:11:10.08ID:YSbB95I/
>>507
opencvとなんか関係あんの?
2016/05/02(月) 01:19:38.59ID:hL8SWjP5
>>508
あちこちコピペしてるだけだから反応すんな
2016/05/02(月) 16:35:26.68ID:aR8AOrvI
2ちゃんってスパム灰汁禁にする機能あったはずなんだが
2016/05/02(月) 16:58:14.19ID:zu7MqjLX
なんか文末の文字変えてるみたいだけど、これで回避できんのかな。
2016/05/02(月) 17:03:44.61ID:aR8AOrvI
糞鯖に変更されたタイミングで規制まで甘くなった感じがする
2016/05/10(火) 17:07:30.48ID:CV1uo/Oi
Qtを組み込んだ時にnamedWindowするとデフォルトで出るコントロールパネルだけど、最前面に持ってくる方法はないのですか?
気を抜くとすぐ背面に隠れて、ウインドウ扱いされてないからタスクバーから復活できないし困ってます
2016/05/24(火) 11:39:22.00ID:oX5dcQm/
OpenCVとはちょっと違うというかOpenCVのテンプレートマッチングの原理の質問になってしまうのですが、
たとえば、DFTの変換結果をそのまま逆変換してもそのままでは元の画像にならず、
各ドットの値を面積で割らないと元の値にはなりません。
では、検索対象画像Sとテンプレート画像TのDFTの変換結果から、
R[y][x].実数 = S[y][x].実数 * T[y][x].実数 + S[y][x].虚数 * T[y][x].虚数
R[y][x].虚数 = -S[y][x]実数 * T[y][x].虚数 + S[y][x].虚数 * T[y][x].実数
の様な計算でRに畳み込み、Rを逆変換して出てきた値を
1.0(完全一致)〜0.0(完全不一致)や-1.0(完全逆位相)の値に正確に合わせるには
どの様な計算を行えば良いのでしょうか?

ttp://iphone.moo.jp/app/?p=630
(OpenCV3.1ではtemplatematch.cppの635行目、crossCorr関数となってもっと大きくなっていますが)
を言葉通りに受け取って相関係数を求めてみても1.0〜0.0の様な値にならず、
OpenCVのソースの理解を試みたものの、規模が大き過ぎて断念しました。

スーパーハカーな皆様、出てきた値の扱い方のご教授をお願いします。
2016/05/27(金) 01:40:43.75ID:G9GLGEnA
突然ですが
画像処理の雑音の例でよく、インパルス雑音が挙げられていますが、現在で実際にインパルス雑音の除去が必要な場面はどういう画像でしょうか?
特に高発生確率のインパルス雑音がのる場合はどんなときでしょうか?
2016/05/27(金) 19:23:35.68ID:QFg12hgO
ザクのメインカメラを想像しろ。宇宙空間はインパルス雑音ばかりだろ
2016/05/28(土) 07:57:15.22ID:gAXtc21H
OpenCVとGPUImageって、どっちを使うか何を基準に決めたらいいんでしょうか?
iOS/Android環境で動作するアプリです。
2016/05/28(土) 11:50:17.68ID:YkPoIoOS
何を基準にするかは君が何をしたいかで基準そのものが変わるんじゃね
519514
垢版 |
2016/05/28(土) 17:24:12.93ID:28o3XPep
自己解決しました
積和の場合、周波数空間で検索対象とテンプレートの位相と振幅を乗算して
元の空間でのドット毎の数値を極端に大きくする事によって、
明度に関係なく類似の度合いを検出しやすくしていると理解しました

しかし、書き込みには無かった本来の目的とは違っていたので、再度質問させて頂きます
ttp://opencv.jp/opencv-2svn/cpp/object_detection.html
CV_TM_SQDIFFの場合、検索対象画像Sとテンプレート画像TをそれぞれDFTで変換した後、
その変換結果である周波数空間にてどの様な演算を行っているのでしょうか?

>>514のCV_TM_CCORR又はCV_TM_CCOEFFの場合、
ttps://ja.wikipedia.org/wiki/%E9%9B%A2%E6%95%A3%E3%83%95%E3%83%BC%E3%83%AA%E3%82%A8%E5%A4%89%E6%8F%9B
の離散フーリエ変換表の「時間軸畳み込み、周波数軸積」を複素共役によって反転した式だった為、
簡単に理解できたのですが、元の空間での”検索対象とテンプレートの位相と振幅の差の2乗”の総和を
周波数空間(フーリエ変換後の2次元配列)にて求める場合、どの様な式になるかまでは理解できていません
プログラムのコードの提示、数学での式、どちらでも構いません、よろしくお願いします
520デフォルトの名無しさん
垢版 |
2016/05/31(火) 18:18:23.45ID:oGkAGoLg
opencv3.1でcvCreateKDTreeをつかうにはどうすればよいのでしょうか。また、代替品などは存在しますか?
2016/06/19(日) 13:57:35.93ID:I+lgUoFF
質問させてください。

OpenCVSharpで画像表示させるとき
Cv.NamedWindow("window");
をいれても入れなくても
Cv.ShowImage("window",img);
で画像が表示できますが、あったほうがいいのでしょうか。

調べてみてもnamedwindowの必要性がわかりません。
2016/06/23(木) 10:09:32.60ID:tc69iVNd
>>521
namedwindow してなければ処理に応じて画像を書き換えるとかできないよね。
OpenCVでインタラクティブなプログラムを書くときには namedwindow しておいたほうが吉
2016/06/23(木) 19:03:28.09ID:K2h1iEuW
>>522
書き換えの際に表示内容だけかえるときということでしたか!
ありがとうございました。
524デフォルトの名無しさん
垢版 |
2016/07/07(木) 16:27:38.11ID:kHm9gYtQ
Chain of Vitalik
2016/07/27(水) 20:30:41.40ID:N+3siVEw
VS2010で2.4を使ってたのをVS2015と3.1に上げてみたが
未だにc4819の警告はでるんだな
2016/08/15(月) 18:27:27.06ID:vd5wuXvi
カメラで撮影した顔写真と予め撮っておいた顔写真を照合して
個人認証をするプログラムをつくっているのですが行き詰ってます

顔の特徴量を抽出する方法で作っていたのですが精度が悪い状態です
何か他によい方法はないでしょうか

撮影は常に顔の正面から行うつもりです
2016/08/15(月) 19:01:16.55ID:GUZ7DBqH
目じりの皺まで判る解像度なのか?
2016/08/15(月) 19:19:24.43ID:vd5wuXvi
>>527
解像度は640x480で距離は2〜3mを想定してます
2016/10/11(火) 12:37:00.40ID:pg0bsIuk
3.2まだかな。
2016/11/16(水) 16:17:58.62ID:CyMhNzzi
opencvで顔認証したいのですがopencv3.1では口や鼻のxmlファイルがありません
素人なのですがどうすれば良いのでしょうか?
2016/11/24(木) 03:35:34.42ID:u2lnGSkh
自前で画像処理を行う関数を作った場合、
元の画像を受け取る引数はconst参照にするのと浅いコピーで受け取るのどちらが良いんだろうか?
最適化されるだろうからどちらも同じ?
2016/11/24(木) 06:04:11.15ID:dIXu87Uw
CVに関係あるインスタンスなのか、全く関係のないビットマップハンドルやラスタイメージなのかで
浅いコピーの量の事情は大分変わってくる
2016/11/24(木) 06:30:26.01ID:u2lnGSkh
肝心のこと書くの忘れてたcv::Matの話です。8UC3か8UC1で。
基本はopencvで処理するけどopencvにない処理なんかを実装した場合にconst参照にするかどうかで悩んでる。
2016/11/24(木) 06:48:47.51ID:dIXu87Uw
リファレンスのカウントとかしてっからその関数だけで全ての処理が完結するならconst参照でもええんでないかい?
不特定多数からアクセスされるリファレンスカウンタとか関わってるから最適化掛からないとおも
速度、大きさ、合理性だけで言えばconst参照が速くて小さくなって合理的

微々たるものだろうから呼び出し回数が大した事なくて、将来の仕様変更の対策とかIF揃えたいとかに拘るなら
まんまMat受け取って当面は暗黙のシャローコピーでも何でもお好きな感じでとしか
2016/11/27(日) 10:30:50.69ID:eANnkNNi
>>531
引数画像を変更するつもりがないなら const 参照でいいはず。
画像の shallow copy は、仕様通りならば実質的に const 参照と
同じことになるはずだが、WGの実装力を信頼してはいけない。
2016/11/29(火) 16:20:17.08ID:90pr09cr
opencv3.10では2.4シリーズのhaarcascade_mcs_mouth.xmlを使って口を検知することが出来ません
どのようにすれば良いのですか?
2016/11/29(火) 21:24:38.31ID:RwYrSiHB
OpenCVSharpで、getRotationMatrix2Dで取得したMat型の行列にアクセス(書き換え)をしたいのですが、
やり方が全くわかりません。
ある場所(例えば[1,2]の場所の値を書き換えたいときはどのように書けばよいのでしょうか。
2016/11/30(水) 01:58:51.66ID:LKKZvee1
mat.At<double>(1,2)か、mat.At<float>(1,2)か、その辺だと思う

参考:https://gist.github.com/ochilab/d720c9d961ed04b8c707
2016/11/30(水) 09:07:49.74ID:n88rQVx5
>>538
ありがとうございます。助かりました。
mat.At<double>で変数に値を取得して、
それを書き換えた上でmat.Set<double>でセットするのですね。
2016/11/30(水) 10:02:18.01ID:5Sq1gvfC
>>536
どなたかコレお願いします
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況