OpenCV 往图像中写入中文字符

用OpenCV好多年了,近日突然发现它的字符写入功能并不支持中文的写入(写入会出现乱码),是故本篇介绍下怎么补齐这一缺陷(当然正常情况下是用不着这个功能的)。

网上一般推荐用Freetype来做,但写好的OpenCV2接口上的代码不完善,得到的效果差强人意:

可以看到有明显的锯齿,因此看了下接口发现是参数调用问题,OpenCV1接口的代码似乎很OK,正要修改的时候发现有现成的不用Freetype的实现,实在是万分高兴,直接就抄了一波。万分感谢这位老哥

代码十分简练,如下:

putText.h

#ifndef PUTTEXT_H_
#define PUTTEXT_H_

#include <windows.h>
#include <string>
#include <opencv2/opencv.hpp>

using namespace cv;

void GetStringSize(HDC hDC, const char* str, int* w, int* h);
void putTextZH(Mat &dst, const char* str, Point org, Scalar color, 
  • 19
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值