[英]How to get pointer of cv::Mat.data?
我讀了一張圖片。 然后,我想訪問圖像的第 39 個元素。
cv::Mat img = cv::imread( "lena.png",cv::IMREAD_GRAYSCALE);
float * ptr = (float*)refImage.data;
printf(" %d \n", refImage.data[39]);
printf(" %f \n", *(ptr + 39));
Output如下圖:
110
274415818481933370785792.000000
我讀過我們可以使用浮點指針訪問。 你能告訴我哪里出了問題嗎?
我發現它並不總是浮動指針:
根據矩陣類型,指針會有不同的模板。
對於 CV_8UC1:uchar* ptr = image.ptr(r);
對於 CV_8UC3: cv::Vec3b* ptr = image.ptr<cv::Vec3b>(r);
對於 CV_32FC1:float* ptr = image.ptr(r);
對於 CV_32FC3: cv::Vec3f* ptr = image.ptr<cv::Vec3f>(r);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.