【问题标题】:OpenCV Mat to Qt QStringOpenCV Mat 到 Qt QString
【发布时间】:2018-07-11 16:45:02
【问题描述】:

我在 Qt 应用程序中使用 opencv。我已经看到了一些通用的 c++ 方法来打印 Mat 的值,并且已经使用

cout << "myMat = "<< endl << " "  << myMat << endl << endl;

理想情况下,我可以拥有一个包含此 Mat 内容的 QString。有没有一种巧妙的方法来做到这一点?

【问题讨论】:

    标签: qt opencv qstring opencv-mat


    【解决方案1】:

    您可以使用ostringstream 及其方法str() 来获取可以作为参数传递给QString 构造函数的字符串。

        cv::Mat M(2,2, CV_8UC3, cv::Scalar(0,0,255));
        ostringstream oss;
        oss << "M = " << endl << " " << M << endl;
        QString matContent(oss.str()); // QT3
        QString matContent2(oss.str().c_str()); // QT4/5 (const char*) constructor
    

    【讨论】:

    • 这导致error: conversion from ‘std::basic_ostringstream&lt;char&gt;::__string_type {aka std::basic_string&lt;char&gt;}’ to non-scalar type ‘QString’ requested 但它让我非常接近所以谢谢你。我会把我的解决方案作为答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-27
    • 1970-01-01
    • 2014-10-21
    • 2021-11-16
    • 2012-09-21
    • 1970-01-01
    • 2016-10-14
    相关资源
    最近更新 更多