Ubuntu18.04+Qt+Opencv+opencv_contrib 解决putText中文乱码问题

目录

问题描述:

目的:

配置环境的过程记录:

1 opencv的卸载

1.1 自带的opencv3.3.1卸载方式

1.2 源码安装的opencv卸载方式

2 opencv及opencv_contrib的资源下载

3 安装依赖

4 安装opencv

4.1 在opencv文件夹下,新建build文件夹

4.2 配置 cmake选项

4.3 编译安装

4.4 添加环境变量

4.5 更新库

4.6 配置BUSH

4.7 最后执行

5 查看版本信息

6 qt实例

6.1 配置

6.2 main.cpp文件代码:

6.3 运行效果

7 参考链接:


问题描述:

Ubuntu18.04下在qt+opencv中在图片上叠加中文汉字时,发现putText输出为乱码,需要在安装opencv时连同opencv_contrib一起安装。

目的:

记录配置环境的详细过程,防止后续遗忘,以及能给遇到相同问题的朋友提供一些提示信息。

配置环境的过程记录:

1 opencv的卸载

1.1 自带的opencv3.3.1卸载方式

sudo apt-get purge libopencv*
sudo apt autoremove
sudo apt-get update

1.2 源码安装的opencv卸载方式

cd /home/***/opencv/build
sudo make uninstall
cd ..
sudo rm -r build

2 opencv及opencv_contrib的资源下载

opencv下载地址:Releases - OpenCV
opencv_contrib下载地址:GitHub - opencv/opencv_contrib: Repository for OpenCV's extra modules

其中,opencv_contrib的版本要与opencv的版本一致。
本文编写时,最新版本为opencv4.6.0、opencv_contrib4.x

Ubuntu18.04+Qt+Opencv+opencv_contrib 解决putText中文乱码问题_第1张图片

Ubuntu18.04+Qt+Opencv+opencv_contrib 解决putText中文乱码问题_第2张图片

将OPANCV_CONTRIB放到OPENCV源码目录下  

3 安装依赖

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

4 安装opencv

4.1 在opencv文件夹下,新建build文件夹

进入BUILD进行编译,主要是为了让生成的文件放到一个文件夹下方便管理

Ubuntu18.04+Qt+Opencv+opencv_contrib 解决putText中文乱码问题_第3张图片

4.2 配置 cmake选项

根据自己需要更改cmake内容

sudo cmake -D CMAKE_BUILD_TYPE=RELEASE \
      -D CMAKE_INSTALL_PREFIX=/usr/local \
      -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules \
      -D WITH_TBB=ON \
      -D WITH_V4L=ON \
      -D WITH_QT=ON \
      -D WITH_OPENGL=ON \
      -D OPENCV_GENERATE_PKGCONFIG=ON \
      -D WITH_CUDA=ON ..

4.3 编译安装

sudo make -j4
sudo make install

4.4 添加环境变量

sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
或
sudo gedit /etc/ld.so.conf.d/opencv.conf 
//打开后可能是空文件,在文件内容最后添加
/usr/local/lib

4.5 更新库

sudo ldconfig

4.6 配置BUSH

sudo gedit /etc/bash.bashrc  
//在末尾添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

4.7 最后执行

sudo -s
source /etc/bash.bashrc
//**配置然后更新database
sudo updatedb  

5 查看版本信息

pkg-config --modversion opencv4

Ubuntu18.04+Qt+Opencv+opencv_contrib 解决putText中文乱码问题_第4张图片

显示如上版本信息,说明安装成功。

6 qt实例

6.1 配置

 新建一个qt控制台工程,在pro文件中新增opencv的相关引用配置:

INCLUDEPATH += /usr/local/include/opencv4
LIBS += /usr/local/lib/libopencv_*.so

6.2 main.cpp文件代码:

//#include 
#include 
#include 
#include 
#include 

int main(int argc, char *argv[])
{
    //QCoreApplication a(argc, argv);
    cv::Mat img = cv::imread("1.jpg");
    cv::namedWindow("imgShow");

    cv::Ptr ft2;
    ft2 = cv::freetype::createFreeType2();
    ft2->loadFontData("simsun.ttc", 0);

    cv::Point pt(100, 100);
    ft2->putText(img, "Hello, 你好!", pt, 18, CV_RGB(255, 0, 0), cv::FILLED, cv::LINE_AA, true);
    cv::imshow("imgShow", img);
    cv::waitKey(0);

    cv::destroyAllWindows();
    return 0;
    //return a.exec();
}

simsun.ttc可以从Windows系统中拷贝到该工程目录下 

6.3 运行效果

Ubuntu18.04+Qt+Opencv+opencv_contrib 解决putText中文乱码问题_第5张图片

7 参考链接:

opencv的卸载与安装 - 灰信网(软件开发博客聚合) (freesion.com)

(1条消息) Ubuntu下Opencv的安装(亲测有效,超级简单!)_小潇港哥的博客-CSDN博客_ubuntu安装opencv

你可能感兴趣的:(opencv,qt,opencv,qt,计算机视觉)