qImageToCvMat
时间: 2024-03-11 13:46:44 浏览: 15
qImageToCvMat是将Qt中的QImage类型转换成OpenCV中的cv::Mat类型的函数。可以使用以下代码实现该函数:
```c++
cv::Mat qImageToCvMat(const QImage& qImage)
{
cv::Mat mat;
switch(qImage.format())
{
// 8-bit, 4 channel
case QImage::Format_ARGB32:
case QImage::Format_ARGB32_Premultiplied:
{
mat = cv::Mat(qImage.height(), qImage.width(), CV_8UC4, const_cast<uchar*>(qImage.bits()), qImage.bytesPerLine());
break;
}
// 8-bit, 3 channel
case QImage::Format_RGB32:
case QImage::Format_RGB888:
{
mat = cv::Mat(qImage.height(), qImage.width(), CV_8UC3, const_cast<uchar*>(qImage.bits()), qImage.bytesPerLine());
cv::cvtColor(mat, mat, cv::COLOR_BGR2RGB);
break;
}
// 8-bit, 1 channel
case QImage::Format_Indexed8:
{
mat = cv::Mat(qImage.height(), qImage.width(), CV_8UC1, const_cast<uchar*>(qImage.bits()), qImage.bytesPerLine());
break;
}
default:
{
mat = cv::Mat();
break;
}
}
return mat;
}
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)