利用OpenCV在图片上书写英文

这篇博客介绍了如何利用OpenCV的cvPutText函数在图片上添加英文文本,详细解析了函数参数的含义,包括图片指针、文本内容、起始位置、字体属性和颜色。还提到了字体初始化函数cvInitFont,并列举了不同字体类型的常量。示例代码展示了实际应用。
        利用OpenCV进行英文字符串的书写是很容易的。只需要调用cvPutText()函数即可。该函数的申明如下所示:

cvPutText(CvArr* img, const char* text, CvPoint origin, const CvFont* font, CvScalar color);函数中各个参数的含义如下所示:

img---图片指针(需要说明的是,CvArr* 等价于void*,一般我们在这里传递一个IplImage*)

### 使用OpenCV在图像中添加文本 由于OpenCV本身并不直接支持中文字符的渲染,因此可以采用Freetype库来实现这一功能。具体方法如下: 对于英文字符可以直接利用`cv.putText()`函数完成文字添加操作[^2]。 然而为了支持中文字符,需先安装并配置好Freetype库。从指定网站下载适合版本的freetype源码包,按照操作系统环境编译生成所需的`.lib`静态链接库文件以便后续集成到项目当中[^1]。 下面给出一段Python代码示例用于展示如何借助于Freetype库实现在图片书写中文,并最终保存带有新添文字说明的新图片: ```python import cv2 from PIL import Image, ImageDraw, ImageFont def put_chinese_text(image_path, text, position=(50, 50), font_size=36): # 加载原始图片 image = Image.open(image_path).convert('RGB') draw = ImageDraw.Draw(image) # 设置字体路径以及大小 font = ImageFont.truetype("simhei.ttf", font_size) # 添加中文文本至图片 draw.text(position, text, fill="red", font=font) # 转换回opencv格式并保存结果 result_image = cv2.cvtColor(np.array(image), cv2.COLOR_RGB2BGR) output_filename = 'output_with_text.jpg' cv2.imwrite(output_filename, result_image) put_chinese_text('input_image.jpg', '你好世界') ``` 此段脚本首先通过PIL库加载输入图片并创建绘图对象;接着定义所使用的字体样式(这里选用的是黑体),并通过`draw.text()`方法将指定位置的文字绘制上去;最后再把经过处理过的图像转换成OpenCV能够识别的形式,从而方便地调用`imwrite()`接口导出含有所需标注信息的结果文件。
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值