窗口类型char

时间:2014-05-19 13:08:44

标签: c++ opencv char

我是C ++编码的新手,我目前正致力于一个可以清除图片中所有对象的应用程序,除了最大的对象。我正在寻找基于我找到的here

的边界框教程进行对象大小检测

我正在考虑使用可以在链接中找到的代码实现一段代码,这样我就可以设置'边界框'使用实时视频输入而不是图像的技术,但后来我遇到了这一点:

/// Create Window
char* source_window = "Source";
namedWindow( source_window, CV_WINDOW_AUTOSIZE );
imshow( source_window, src );

为什么要使用char类型,而不是像下面所示那样做?

Mat edges;
namedWindow("edges",1);

正如我之前所说,我对使用C ++和opencv进行编码真的很陌生,如果这是一个愚蠢的问题,那就很抱歉。

提前致谢

1 个答案:

答案 0 :(得分:0)

您将此代码视为可疑是正确的。 source_window的类型错误。

它目前被定义为指向char的指针。然而,它使用字符串文字初始化,其类型为const char[]。虽然存在从数组[]转换为指针*的转换,但没有转换会丢弃const

您为这样的常量指定名称的原因通常是因为您在两个地方使用相同的常量。两次输入会增加您输入拼写错误并最终得到两个不同字符串的风险。这可以像拼写第二个字符串" source"。

一样简单