我想在窗口标题中添加中文文本,该标题由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;
}
结果窗口:
最佳答案
我的原始评论是:
“如果标题使用英语/ 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!");
}