我有一個realsense相機,我試圖讀取16位深度圖像。 我有一個問題 - 當我創建16位值的直接opencv墊我只看到黑色的圖像。當我將16位圖像轉換爲8位255/1000的縮放圖像時,我會得到正常的圖像,但我不想丟失這些信息。opencv realsense 16位深度圖像
depthImage->AcquireAccess(PXCImage::ACCESS_READ, PXCImage::PIXEL_FORMAT_DEPTH, &depthImgData);
pxcBYTE* cpixels = depthImgData.planes[0];
Mat r_depth(frameSize, CV_16UC1, cpixels);
這是我的代碼,我轉換圖像。
你能告訴我這種行爲的原因是什麼,以及如何獲得16位圖像?
「當我將16位圖像轉換爲8位255/1000比例」 - 這是一種非常奇怪的比例因子。什麼是你的16位圖像的像素強度的實際範圍?如果僅僅用4分割就會給出一個「正常圖像」,那麼它看起來更像10位值,存儲爲16位整數。 –
我從博客文章中獲得了這個。數值範圍從4到7k(在我的火車中)。 這裏有相同的比例因子 - https://software.intel.com/zh-cn/articles/using-librealsense-and-opencv-to-stream-rgb-and-depth-data。 我不認爲這個值只有10位。另外,當我將16位轉換爲更小的縮放比例(大約1/4時,我並不確切),我會得到更清晰的圖像。 –