首頁 >後端開發 >C++ >如何將 OpenCV cv::Mat 轉換為 QImage?

如何將 OpenCV cv::Mat 轉換為 QImage?

Barbara Streisand
Barbara Streisand原創
2024-12-03 12:17:10638瀏覽

How to Convert an OpenCV cv::Mat to a QImage?

將OpenCV cv::Mat 轉換為QImage

在電腦視覺應用中,經常需要在不同的影像格式之間進行轉換。一個常見的轉換是從 OpenCV 的 cv::Mat 到 Qt 的 QImage 格式。 OpenCV 是一個強大的電腦視覺庫,而 Qt 是一個跨平台應用程式框架。

解決方案

要將cv::Mat 轉換為QImage,只需使用以下程式碼:

QImage imgIn = QImage((uchar*) img.data, img.cols, img.rows, img.step, QImage::Format_RGB888);

此程式碼從cv: :Mat 取得資料並建立一個新的QImage 物件。 img.step 參數指定 cv::Mat 中每行的位元組數。

但是,需要注意的是,Michal Kottman 提供的程式碼在某些情況下可能會失敗。為了確保正確轉換,建議使用帶有img.step參數的程式碼,如下所示:

QImage imgIn = QImage((uchar*) img.data, img.cols, img.rows, img.step, QImage::Format_RGB888);

以上是如何將 OpenCV cv::Mat 轉換為 QImage?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn