前言
Qt和OpenCV是一对形影不离的好基友(哥俩都开源,Qt又跨平台,Linux环境友好),但OpenCV的最常用的类Mat无法直接用于Qt的QImage中,原因在于,两者对图片定义和操作有所不同——Mat的主要功能是矩阵运算,拥有数之不尽的数据类型,包罗万象;而QImage侧重于图片显示,更多的操作是在图形界面上。
因此,Mat与QImage之间的相互传值,要多一步转换操作。
Mat转QImage
QImage mat2qim(Mat & mat)
{
cvtColor(mat, mat, COLOR_BGR2RGB);
QImage qim((const unsigned char*)mat.data, mat.cols, mat.rows