QT处理图像用的是QImage类,而OpenCV处理图像则是使用cv::Mat类,如果要在QT中运用OpenCV,那就需要进行QImage和Mat的相互转换。
// cv::Mat转换成QImage
QImage cvMat2QImage(const Mat& mat)
{
if (mat.type() == CV_8UC1) // 单通道
{
QImage image(mat.cols, mat.rows, QImage::Format_Indexed8);
image.setColorCount(256); // 灰度级数256
for (int i = 0; i < 256; i++)
{
image.setColor(i, qRgb(i, i, i));
}
uchar *pSrc = mat.data; // 复制mat数据

本文介绍了如何在QT环境中利用QImage处理图像,并探讨了与OpenCV的cv::Mat类之间的转换,这对于在QT中集成OpenCV图像处理功能至关重要。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



