利用QImage提供的构造函数,可以直接转化,但是要注意,Mat默认的是BGR空间,而QImage是RGB,所以使用 cvtColor 函数预处理一下。
cvtColor
1 Mat qim2mat(QImage & qim) 3 Mat mat = Mat(qim.height(), qim.width(), 4 CV_8UC3,(void*)qim.constBits(),qim.bytesPerLine()); 5 return mat; 同理,利用Mat的构造函数实现QImage往Mat的转换,但是要注意,QImage的通道数和数据类型,一般而言默认的是三通道八位无符号数,即CV_8UC3。
同理,利用Mat的构造函数实现QImage往Mat的转换,但是要注意,QImage的通道数和数据类型,一般而言默认的是三通道八位无符号数,即CV_8UC3。
CV_8UC3