0

我想在窗口标题中添加一个中文文本,由 OpenCV 的 cvShowImage() 函数调用。但它没有给出正确的结果。

#include <iostream>
#include "opencv2/opencv.hpp"

using namespace cv;
using namespace std;

int main(int argc, const char * argv[])
{
  const char *pstrFilename = "EDF001.png";
  const char *pstrWindowTitle = "欢迎来到细胞图像处理的世界!";

  IplImage* img = cvLoadImage(pstrFilename, CV_LOAD_IMAGE_UNCHANGED);

  cvNamedWindow(pstrWindowTitle, CV_WINDOW_NORMAL);
  cvShowImage(pstrWindowTitle, img);

  cvWaitKey();

  cvDestroyWindow(pstrWindowTitle);
  cvReleaseImage(&img);

  return 0;
}

结果窗口: 窗口标题显示不正确的中文文本

4

1 回答 1

2

我原来的评论是:

“如果您使用英文/ASCII 名称作为标题,它工作正常吗?OpenCV 可能无法处理窗口标题的非 ASCII 字符。”

但另一个潜在的解决方案是在 Objective C 和 Cocoa 框架中使用蛮力方法,例如:

NSWindow * openCVWindow = [[NSApplication sharedApplication] mainWindow];
if(openCVWindow)
{
    [openCVWindow setTitle: @"欢迎来到细胞图像处理的世界!"];
} else {
    NSLog( @"openCV's window isn't considered a main window!");
}
于 2012-12-27T03:17:13.313 回答