在電腦視覺應用中,經常需要在不同的影像格式之間進行轉換。一個常見的場景是將 OpenCV 的 cv::Mat 轉換為 Qt 的 QImage。以下是如何實現這種轉換:
對於某些情況,Michal Kottman 的解決方案使用QImage imgIn= QImage((uchar*) img.data, img.cols, img.rows, img.step, QImage::格式_RGB888);就夠了。但是,如果轉換中不包含 img.step,某些影像可能無法正確顯示。
為了解決此問題,修改後的解決方案是:
QImage imgIn= QImage((uchar*) img.data, img.cols, img.rows, img.step, QImage::Format_RGB888);
此修改可確保影像無論其具體特徵如何,都會正確轉換。請記住,如果省略 img.step,Qt 可能不會發出警告,但它的存在對於維護影像完整性至關重要。
以上是如何有效率地將OpenCV的cv::Mat轉換為Qt的QImage?的詳細內容。更多資訊請關注PHP中文網其他相關文章!