【问题标题】:Strange image title generated by c++ and opencvc++和opencv生成的奇怪图片标题
【发布时间】:2015-02-22 05:07:51
【问题描述】:

下面是一个非常简单的例子,使用 openCV 来显示一个 2D 矩阵。奇怪的是,图片标题无法正确显示。请问有什么建议吗?

#include "stdafx.h"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include <string>
#include <iostream>

using namespace cv;
using namespace std;

int main( int argc, const char** argv )
{
    Mat M(200, 200, CV_8UC3, Scalar(0, 0, 255));

    string Something ("Some text");

    namedWindow("Hello", CV_WINDOW_AUTOSIZE);// Create a window for display.
    imshow(Something, M);

    waitKey(0);

    return 0;
}

【问题讨论】:

  • 你得到的输出是什么?没有理由这不应该工作。

标签: c++ image opencv


【解决方案1】:

你的代码有问题,传递给namedWindow的字符串是窗口的标识符(不完全是标题)。

要将图像输出到窗口,imshow 需要先前创建的窗口的名称。我猜你想使用你在namedWindow中定义的那个。

正确的代码应该是这样的:

string Something ("Some text");

namedWindow(Something, CV_WINDOW_AUTOSIZE);// Create a window for display.
imshow(Something, M);

也许这是你更喜欢做的事?

变量Something是窗口的标识符。

【讨论】:

  • 关键是需要创建一个与imshow同名的namedWindow。很好的答案,但我不确定它是否足够清楚。
猜你喜欢
  • 1970-01-01
  • 2019-08-28
  • 1970-01-01
  • 2020-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多