Cara Menukar OpenCV cv::Mat kepada QImage
Masalah:
Bagaimana boleh Saya menukar jenis OpenCV cv::Mat kepada QImage dalam C ? Menukar IPlimage kepada QImage menggunakan kod sedia ada tidak mencukupi.
Penyelesaian:
Respons Michal Kottman secara amnya tepat, tetapi mungkin gagal untuk imej tertentu. Untuk menangani isu ini, anda boleh menggunakan penyelesaian berikut:
QImage imgIn = QImage((uchar*) img.data, img.cols, img.rows, img.step, QImage::Format_RGB888);
Penjelasan:
Perbezaan utama dalam pendekatan ini ialah penambahan img. step, yang menentukan lebar bait setiap baris dalam cv::Mat. Tanpa parameter ini, Qt mungkin tidak sentiasa memaparkan imej dengan betul.
Dengan memasukkan img.step, anda boleh memastikan keserasian dengan julat imej yang lebih luas dan mengelakkan isu pemaparan.
Atas ialah kandungan terperinci Bagaimana untuk Menukar cv::Mat kepada QImage dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!