1. 程式人生 > >kitti中stereo的disparity的gt數據的讀取和使用

kitti中stereo的disparity的gt數據的讀取和使用

dir mage net bubuko 等於 6.0 IT pri int

首先,kitti中disparity的gt的值是uint16的

https://blog.csdn.net/chenxicx1992/article/details/44784559

這個博客是講解如何讀取存儲的是uint16型數據的圖片

我也做過實驗:

python

import cv2 as cv

img = cv.imread(/home/sensetime/000000_10.png,-1)
print img.dtype

c++

cv::Mat img = cv::imread(img_dir,0);
cout << "type: " << img.type() << endl;

如果用0讀出來,讀出的uint8型的,只有用-1才能讀出uint16的類型

這個用img.at<ushort>讀取出來直接cout就是數值,不會像uchar那樣讀出來是字符,其實是因為ushort本身就是數值,uchar本身是可以和字符轉換,cout任何uchar的都是字符.所以不用用int來轉換

順便說一下,如果用uint來讀,會是一個很大的值,因為uint本身是一個32位的,相當於對原來的uint8進行了uint轉換.如果用uint8,編譯就會報錯

這是kitti雙目disparity的說明文檔,kitti中disparity存儲的gt圖像是以uint16存儲的,真實的disparity需要將其轉換為float然後除以256.0

技術分享圖片

並且他說等於0的點是無效的點

kitti中stereo的disparity的gt數據的讀取和使用