あるデータthe data が入っているMatデータがあった場合
下記のようにしてvector型の変数に値を入れることができることが確認できました。
----------------------------------------------------------------------------------
cv::Mat M=Mat(480,480,CV_32FC1,「the data ....」);
//copy vector to mat
vector< float> Vf2;
//copy mat to vector
Vf2.assign((float*)M.datastart, (float*)M.dataend);
----------------------------------------------------------------------------------
しかし、下記のようにポインタ型のvector変数にコピーしようとした場合
Assignの途中でエラーも吐かずに落ちてしまいます。
----------------------------------------------------------------------------------
cv::Mat M=Mat(480,480,CV_32FC1,「the data ....」);
//copy vector to mat
vector< float> *Vf2;
//copy mat to vector
Vf2->assign((float*)M.datastart, (float*)M.dataend);
----------------------------------------------------------------------------------
ポインタ型のvector変数にMat型のデータ(dataの中身だけでよい)を入れてやる必要があるのですが、どうすればよいでしょうか?
どなたかアドバイス下さい。
ポインターの理解が不足しているのではと思っていますがどなたか語教授下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# このプログラミング誰か教えてください 9 2022/04/22 18:50
- その他(言語学・言語) 「ベクトル」ってなんか抵抗ありませんか?「ヴェクトル」のほうがよくありませんか? 9 2023/01/01 10:50
- ブルーレイ・プレーヤー・レコーダー BD-REについて教えてください。 3 2022/11/10 23:28
- ガスコンロ・IHクッキングヒーター・給湯器 コンテンツブロッカーについて 2 2023/05/17 09:43
- フリーソフト Vector フリーソフト 卓上カレンダー Windows10での作動は? 2 2022/06/11 19:03
- C言語・C++・C# C++言語の16進数の表現についておしえてください 1 2022/11/14 17:46
- Visual Basic(VBA) 複数シート一括作成後に、特定範囲の数式は値で貼り付けしたい 3 2022/10/07 11:18
- C言語・C++・C# C言語について コマンドラインで >変数 12.00 (char型) と、小数点付きの値を共用体に渡 1 2022/04/22 16:56
- C言語・C++・C# このプログラミング誰か教えてください。 2 2022/04/22 18:48
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セグメントエラー
-
C言語のポインタに直接アドレス...
-
init関数の意味
-
fopne で失敗する原因
-
C言語でのconstを返す関数
-
c言語で任意のファイルから読み...
-
TCHAR文字列内の検索について
-
main(int argc,char **argv[])...
-
cv::Mat から vectorにコピー
-
構造体とfscanf
-
[C#] DeviceIoControlの変数の型
-
VB6でのgethostbyaddrの使用方...
-
bsearch関数の呼び出しで
-
ExcelVBAでのkernel32(64bit)
-
基本アルゴリズムの『返す』の...
-
ハンドルはポインタか
-
関数ポインタの利点
-
C++で関数ポインタから関数名を...
-
パスからファイル名を抽出
-
エラーの意味
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語のポインタに直接アドレス...
-
C言語の関数と配列に関する質問
-
戻り値で構造体を返すことは可...
-
fopne で失敗する原因
-
init関数の意味
-
Run-Time Check Failure #3とい...
-
LPSTR型の初期化について
-
セグメントエラー
-
アプリを32bitから64bit移行
-
コンストラクタでnewを失敗した...
-
ExcelVBAでのkernel32(64bit)
-
Cで作成したDLL関数をVBから呼...
-
ハンドルはポインタか
-
DLL<->VB間での受け渡し(文字...
-
C言語でのconstを返す関数
-
ポインタについて
-
参照型で受け取った引数をポイ...
-
TCHAR文字列内の検索について
-
デバイスハンドルとは?
-
基本アルゴリズムの『返す』の...
おすすめ情報
分かり辛い質問内容でしたので、補足させて頂きます。
boost/interprocess/managed_shared_memoryを使ってMatのデータを共有メモリ上に保存して別のプロセスに渡したいと思い、下記のようにして渡したところassignの中で落ちてしまいます。
コードはこんな感じです。
managed_shared_memory shmd(create_only, DEPTHNAME, WIDTH_PIC * HEIGHT_PIC * 4 + 1024);
interprocess_mutex* mxd = shmd.construct<interprocess_mutex>("TheMutex")();
std::vector<float> *ptrd=shmd.construct< std::vector<float> >("DepthImage")();
mxd->lock();
ptrd->assign((float*)decodedDepthData2.datastart,(float*)decodedDepthData2.dataend);
mxd->unlock();