0
我正在使用英特爾的RealSense SDK,我必須將其轉換爲OpenCV格式。將PXCImage轉換爲OpenCV Mat(PIXEL_FORMAT_YUY2)
我在論壇中看到了這個解決方案(Convert a PXCImage into an OpenCV Mat),但是對於「PIXEL_FORMAT_YUY2」類型不起作用。
任何人都知道如何改變它?
在此先感謝
我正在使用英特爾的RealSense SDK,我必須將其轉換爲OpenCV格式。將PXCImage轉換爲OpenCV Mat(PIXEL_FORMAT_YUY2)
我在論壇中看到了這個解決方案(Convert a PXCImage into an OpenCV Mat),但是對於「PIXEL_FORMAT_YUY2」類型不起作用。
任何人都知道如何改變它?
在此先感謝
我不知道英特爾RealSense SDK,因爲我只使用了librealsense API。
英特爾實感SDK的文檔應爲here。
我不知道它如何與SDK協同工作,但使用librealsense
您可以直接選擇適當的顏色格式(對於OpenCV mat
它應該是bgr8
)。
如果你沒有SDK的這個選項,你可以看到here如何librealsense
解壓yuy2
格式。
或者,也許你可以嘗試直接將數據複製到mat
(你必須弄清楚的cvDataType
和良好的價值爲cvDataWidth
好值),然後使用cvtColor()
與適當conversion,如果你希望能夠以RGB三元組的形式訪問像素值?
希望它有幫助。
非常感謝!也許這是一個愚蠢的問題,但我不知道如何安裝librealsense ...我看到了一些針對Ubuntu的命令,但是我沒有看到任何針對Windows的教程。你可以幫幫我嗎?提前致謝! – user7563946
'librealsense'是Windows以外的平臺的替代品。對於Windows,我認爲英特爾建議使用SDK。您仍然可以使用CMake和Visual Studio從源代碼'librealsense'進行構建。你應該檢查你使用SDK獲得的默認顏色格式,也許它是一種不同於'yuy2'的格式,你應該可以很容易地轉換成'mat bgr'。 – Catree
在英特爾SDK中,格式爲PIXEL_FORMAT_YUY2,但我不知道如何執行此轉換。我這樣做:\t \t \t \t'colorIm-> AcquireAccess(PXCImage :: ACCESS_READ,PXCImage :: PIXEL_FORMAT_YUY2,&frmData);' \t'image_openCV =墊(尺寸(640,480),CV_8UC3,frmData.planes [0]);' \t \t但它不能正常工作,圖像排序不正確。 – user7563946