Mat QImage,string qstring相互转换

opencv Mat 与 Qt QImage相互转换

QImage Widget::Mat2QImage(cv::Mat const& src)  
{  
     cv::Mat temp;
     cvtColor(src, temp,CV_BGR2RGB);
     QImage dest((const uchar *) temp.data, temp.cols, temp.rows, temp.step, QImage::Format_RGB888); //temp.setp()没有时,会导致有些图片在转换后倾斜 
     dest.bits(); 
     return dest;  
}  
  
cv::Mat Widget::QImage2Mat(QImage const& src)  
{  
     cv::Mat tmp(src.height(),src.width(),CV_8UC3,(uchar*)src.bits(),src.bytesPerLine());  
     cv::Mat result; 
     cvtColor(tmp, result,CV_BGR2RGB);  
     return result;  
} 

Qt QString std::string相互转换

//qstring->string
std::String fileName = path.toLocal8Bit().toStdString();

//string->qstring
qstring = QString(QString::fromLocal8Bit(cstr.c_str()));

你可能感兴趣的:(qt,c++,opencv)