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 に答える