私はpangolin::Image
形式のrgbdイメージを取り込むアプリケーションを持っています。私はcv::Mat
でお送りしたいと思います。 cv :: Matをpangolin :: Imageに変換するにはどうすればいいですか?cv :: Matをpangolin :: Imageに変換しますか?
(センザンコウ:https://github.com/stevenlovegrove/Pangolin)
画像ヘッダ:
https://github.com/stevenlovegrove/Pangolin/blob/master/include/pangolin/image/image.h
現在フォーマットである:firstRaw
は、アプリケーションを介して送信され
pangolin::ManagedImage<unsigned short> firstData(640, 480);
pangolin::Image<unsigned short> firstRaw(firstData.w, firstData.h, firstData.pitch, (unsigned short*)firstData.ptr);
。
私が今持っている場合:
cv::Mat frame = cv::imread(filepath,0);
frame
からfirstRaw
への変換は何ですか?
私はこのように起動します。
int loadDepthFromMat(cv::Mat filepath, pangolin::Image<unsigned short> & depth)
{
int width = filepath.cols;
int height = filepath.rows;
pangolin::ManagedImage<unsigned short> depthRaw(width, height);
pangolin::Image<unsigned short> depthRaw16((unsigned short*)depthRaw.ptr, depthRaw.w, depthRaw.h, depthRaw.w * sizeof(unsigned short));
//copy data
}
ありがとうございました。
pangolin :: Imageがホスト/ cpuメモリ上にあると仮定すると、pangolin Imageが割り当てられたことを確認した後、データポインタに対してmemcpy()を使用するだけです。最初にOpenCVイメージをunsigned short形式に変換してください。 –
ご返信ありがとうございます。あなたは瞬間があれば私に例を挙げてください。 – anti