在MFC环境下用OpenCV向图片中写入汉字的简便方法

本文介绍如何在MFC环境下利用OpenCV将汉字写入图片。通过读取字体库获取汉字点阵,然后使用cvSet2D函数绘制到图片上。程序从编辑框获取汉字,生成点阵并保存为txt文件,最后将点阵信息导入图片,形成汉字图像。
摘要由CSDN通过智能技术生成

这个程序功能上没有什么创造性,只是把一些单纯的功能拼接在一起,能达到像图片里写汉字的简单目标而已,见笑了。

思路是首先从字体库中得到汉字的编码,进而得到汉字点阵,然后在利用点阵利用cvSet2D函数将点阵画在图片上。

 

我建立的是一个基于基本对话框的程序,功能是当某一按钮按下的时候,把编辑框中输入的汉字以12*12的大小写入图片,下面是源码

 

const int reglen = 94; //每区(行)有 94 位(列)
const int font_width = 12; // 单字点阵宽度(列数)
const int font_height = 12; // 单字点阵高度(行数)
const int dotsize = font_width * font_height /8; //一个汉字点阵所占的字节数
const int subcode = 0xa0; //内码与区、位码的差值

char *font_file_name = "simsun12.fon"; // 点阵字库文件名
char str[2]; //要显示点阵信息的汉字
char bindot[dotsize] = {0}; //存储点阵信息的数组

//确认生成汉字点阵
void CHanziOpenCVDlg::OnHanziTest()
{
 //首先得到编辑框数据
 UpdateData(true);

 //得到汉字的一部分
 CString partHanzi;

 //得到汉字在字符串中的位置转化为的字符串
 CString num;

 //点阵文件夹名字
 CString Docname="hanzidianzhen";

 //建立文件夹
    D

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值