Opencv保存讀取float類型深度圖


保存

MyData.h_people_depth = cv::cuda::GpuMat(PROJECTION_HEI, PROJECTION_WID, CV_32FC1, cv::Scalar(0, 0, 0));

cv::Mat people_depth;
MyData.h_people_depth.download(people_depth);


cv::Mat people_depth_save(people_depth.rows, people_depth.cols, CV_8UC4, people_depth.data);
cv::normalize(people_depth, people_depth, 0, 1.0, cv::NORM_MINMAX);

cv::imshow("people_depth", people_depth);
cv::imshow("people_depth_save", people_depth_save);
cv::imwrite("../res/people_depth.png", people_depth_save);

讀取

Mat depth = imread("../res/people_depth.png", IMREAD_UNCHANGED);

for(int i=0;i<depth.rows;i++){
        for(int j=0;j<depth.cols;j++){
            if(depth.at<float>(i,j) > 0)
                printf("%f \n",depth.at<float>(i,j));

            Point2d p1 = pixel2cam(Point2d(i,j),K1);
     }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM