opencv库配置

       opencv库来源

       RV1126板子SDK(后续以SDK代替)的buildroot/dl

       freetype来源

       https://github.com/opencv/opencv_contrib/tree/3.4

     

tar -xf opencv3-3.4.12.tar.gz
unzip opencv_contrib-3.4.zip

       复制opencv_contrib-3.4中的modules/freetype目录

       粘贴至opencv的modules目录

       重新将opencv封装为.tar.gz文件

      

rm opencv3-3.4.12.tar.gz
tar -czf opencv3-3.4.12.tar.gz opencv-3.4.12/

Buildroot配置

       进入SDK路径

source envsetup.sh --- 选择自己板子的选项
./build.sh lunch --- 选择自己板子的选项
cd buildroot/
# 备份配置文件
cp configs/rockchip_rv1126_rv1109_spi_nand_defconfig ./

    图形化修改配置

 make 自己的buildroot配置文件 ARCH=arm

       终端放大,终端字体适当缩小

make menuconfig ARCH=arm

       Target packages  --->

              Libraries  --->

                     Graphics  --->

       保存配置文件

       覆盖源配置文件

 cp myconfig configs/rockchip_rv1126_rv1109_spi_nand_defconfig

    编译选项配置

       找到SDK路径/buildroot/package/opencv3

gedit Config.in

       搜索:config BR2_PACKAGE_OPENCV3_LIB_SHAPE

# 新增以下内容
config BR2_PACKAGE_OPENCV3_LIB_FREETYPE
    bool "freetype"
    depends on BR2_PACKAGE_FREETYPE
    depends on BR2_PACKAGE_HARFBUZZ
    help
      Include opencv_freetype module into the OpenCV build. This
      FreeType2 wrapper module allows to draw strings with outlines and bitmaps.

        保存,退出

gedit opencv3.mk

        搜索:

DBUILD_opencv_videostab=$(if $(BR2_PACKAGE_OPENCV3_LIB_VIDEOSTAB),ON,OFF)

# 追加
-DBUILD_opencv_freetype=$(if $(BR2_PACKAGE_OPENCV3_LIB_FREETYPE),ON,OFF) \

        保存,退出

 编译

       找到SDK路径/buildroot/output/rockchip_rv1126_rv1109_spi_nand/build

sudo rm opencv3-3.4.12/ -r

       回到SDK路径

./build.sh

测试程序

const char *filename = "一张图片";
cv::Mat mat = cv::imread(filename); 
cv::Point p = cv::Point(mat.cols/2, mat.rows/2); 
cv::Ptr<cv::freetype::FreeType2> ft2 = cv::freetype::createFreeType2();
cv::String font_path = "./STZHONGS.TTF";
ft2->loadFontData(font_path,0);
ft2->putText(mat, "天线宝宝", p, 70, cv::Scalar(0, 255, 0), cv::FILLED,cv::LINE_AA,true);
cv::imwrite("../ttf-test/opencv-test-new.jpg", mat);
Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐