本文共 774 字,大约阅读时间需要 2 分钟。
OpenCV默认不支持渲染中文字符,因为其cv::putText()函数仅支持ASCII字符。要支持中文字符渲染,需要依赖于支持UTF-8编码的库,如Qt。以下是解决该问题的详细步骤:
编译OpenCV时选择WITH_QT选项:
使用cv::addText()函数:
Mat img = imread("lena.jpg");cv::addText(img, "中文测试", cv::Point(100, 50), cv::fontQt("Times"));imwrite("res.bmp", img);处理窗口问题:
namedWindow("test", WINDOW_AUTOSIZE);理解渲染机制:
优化和调试:
通过以上步骤,可以成功在OpenCV中渲染中文字符。虽然这要求编译时选择特定选项,并且可能需要处理窗口的创建,但这是实现支持UTF-8字符渲染的常规方法。
转载地址:http://zlsfk.baihongyu.com/