opencv 图片上边写中文

本文介绍如何使用OpenCV的freetype模块在图片上绘制中文文字。通过加载字体文件并设置文字属性,如大小、颜色等,实现中文文字的显示。无需额外编译操作即可完成。

     我想在图片上边写点中文,看到网上的文章都要自己编译到库里边?

     实际上如果编译了opencv_contrib freetype2本来就编译进去了,网上看到很多要编译到opencv的过程,没这个必要,只要用下边的代码就可以了:

   #include <opencv2/freetype.hpp>
 
   void test(){    
    cv::Ptr<cv::freetype::FreeType2> ft2;
    ft2 = cv::freetype::createFreeType2();
    
    ft2->loadFontData( "/tmp/fz.ttf", 0 );
    
    String text = "baseline";
    
    int fontHeight = 60;
    int thickness = -1;
    int linestyle = 8;
    int baseline=0;
    
    Size textSize = ft2->getTextSize( text, fontHeight, thickness, &baseline );
    
    Mat img(600, 800, CV_8UC3, Scalar::all(0));
    Point textOrg( (img.cols - textSize.width) / 2, (img.rows + textSize.height) / 2 );
    
    ft2->putText( img, text, textOrg, fontHeight, Scalar::all(255), baseline, linestyle, true );
    
    imshow( "text", img );
    waitKey();
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值