我OpenCV中加載的深度圖像與轉換無符號短墊在OpenCV的矢量
cv::Mat depth = cv::imread("blabla.png",CV_LOAD_IMAGE_UNCHANGED);
然後得到它的一個子圖像與
cv::Mat sub_image= depth(cv::Rect(roi_x,roi_y,roi_size,roi_size)).clone();
現在我想的是sub_image轉換成向量
我嘗試用
std::vector<uchar> array;
array.assign(sub_image.datastart,sub_image.dataend);
在StackOverflow中發現了類似問題,但它似乎無法正常工作。
數組賦值心不是roi_size後的尺寸* roi_size, 而是roi_size * roi_size * 2
一些錯誤向量的類型?我也嘗試過其他類型,如double,float,int等。
深度圖像的類型是unsigned short right?
編輯:
陣列填充正確(正確的尺寸roi_size * roi_size)當我規格化深度圖像
cv::Mat depthView;
cv::normalize(depth, depthView, 0, 255, cv::NORM_MINMAX,CV_8UC1);
但那不是我想要做的
std ::向量? –
GPPK
已經試過了,沒有工作 – luthien