python-opencv-文字与图片的绘制

文字的绘制 

OpenCV中使用putText(img,text,org,fontFace,fontScale,color,thickness=None,lineType=None,bottomLeftOrigin=None)函数进行文字的绘制 

复制代码
import cv2
image=cv2. imread('1.png')
font=cv2. FONT_HERSHEY_SIMPLEX
cv2. putText(image,'This is Python',(180,320), font,1,(180,100,255),2, cv2. LINE_AA)  #画文字
'''
参数2 text:必选参数。待绘制的文本字符串
参数3 org:必选参数。表示待绘制文本字符串的左下角在图像中的位置
参数4 fontFace:必选参数。用于设置待绘制文本的字体类型,可选类型参考HersheyFonts
参数5 fontScale:必选参数。用于设置待绘制文本的字体比例因子,字体大小为该因子乘以特定字体的基本大小
参数6 color:必选参数。用于设置待绘制文本的字体颜色
参数7 thickness:可选参数。用于设置待绘制文本的线条粗细
参数8 lineType:可选参数。用于设置线段的类型,可选8(8邻接连接线-默认)、4(4邻接连接线)和cv2.LINE_AA 为抗锯齿
'''
cv2. imshow(' dst', image)
cv2.waitKey()
复制代码

需要注意的是,putText()函数的text参数只能接收特定字符,也就是说并不是所有的字符串它都能顺利绘制。例如当text参数内容中包含中文时,运行结果中文会被“?”等字符替换,原因就是putText()函数无法识别中文。 如果我们想在图像中绘制中文文字,我们需要借助其他模块或第三方库(PIL库和freetype库)的帮助

图片的绘制 

我们在之前的章节中介绍过图片的融合、叠加以及使用位运算为图像添加水印,图片的绘制有些类似,就是在原图像上再绘制一个图像。 

为了简化操作,我们直接利用原图像的缩放,将缩放后的图片绘制到原图像上,具体代码如下:

复制代码
import cv2
image=cv2. imread('1.png')
height=int(image.shape[0]*0.2)
width =int(image.shape[1]* 0.2)
image_resize=cv2. resize(image,(width, height))
for i in range(height):
    for j in range(width):
        image[i+100,j+100]=image_resize[i,j]

cv2. imshow(' dst', image)
cv2.waitKey()
复制代码

效果图

 

 

 

 

 

 

posted @   天子骄龙  阅读(2282)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
历史上的今天:
2019-02-13 拖放
2019-02-13 pyqt5-键盘事件
点击右上角即可分享
微信分享提示

目录导航