解决Ubuntu环境OpenCV在图像上putText中文乱码问题
1)在网上下载simsun.ttc(中文宋体),拷贝到/usr/share/fonts/目录下
在https://github.com/buyanxi/MyLearning/tree/master/putTextChinese里面有
2)代码示例如下
注意工程需要链接库libopencv_freetype.so
#include <iostream>
#include "opencv2/opencv.hpp"
#include "opencv2/freetype.hpp"
using namespace std;
using namespace cv;
int main()
{
Mat srcImg = imread("./1.jpg");
char pchText[128];
snprintf(pchText, 128, "%s", "Linux putText 中文测试");
cv::Ptr<cv::freetype::FreeType2> ft2 = cv::freetype::createFreeType2();
ft2->loadFontData("/usr/share/fonts/simsun.ttc", 0);
ft2->putText(srcImg, pchText, cv::Point(10, 50), 20, cv::Scalar(0, 0, 255), 1, 8, true);
imwrite("./out.jpg", srcImg);
return 0;
}
3)结果如下