第10课 新建图像、添加文字

**学科:**人工智能年级: 七年级上
**课题:**第10课 新建图像、添加文字课时数:1课时

教学目标

1、通过使用numpy库矩阵数组,学会创建一幅简单的图像。

2、掌握改变图像颜色的方法,实现创建不同颜色图像的效果。

3、通过使用cv2.putText()函数,熟练在图像中添加不同颜色、大小、字体和粗细的字体。

4、明确所要添加文本的坐标位置,并能快速锁定位置进行任意的改变。

**教学重点:**图像的新建及文本的添加

**教学难点:**图像文本的添加中文本坐标位置的确定

**教学准备:**Python编程软件、图像素材


教学过程


一、开放导入

前面我们已经学习了很多对图像的基本处理,包括黑白、灰度、彩色的图像,大家想不想自己新建一幅图像,自己画一画,写一写呢,就像下面一样,我们也可以自己创建一幅自己想要的图像?

下面的两节课里,我们将一起进入绘制基础图形的世界,写写文字,画画几何图形。
在这里插入图片描述
二、核心过程推进

1**、新建图像**

这里需要用到numpy库矩阵数组,进行创建画布。

(1)先导入numpy,由于其单词比较繁琐,我们可以用np来替代numpy,即:import numpy as np

(2)调用np.zeros()函数创建黑色图像

np.zeros函数的作用是返回来一个给定形状和类型的用0填充的数组;zeros(shape, dtype=float, order=‘C’)

shape:形状

dtype:数据类型,可选参数,默认numpy.float64

order:可选参数,c代表与c语言类似,行优先;F代表列优先

**例如:**创建一幅值都是0的矩阵,即黑色画布。

img=np.zeros((height,width,3),np.uint8)

其中,height 为高,width 为宽,3表示通道数,uint8是指8位无符号整型的数值。

这是初始化了一个RGB图像,只是黑色。如果想要建一幅白色的图像,可通过下面语句实现:

img[:,:]=255 将所有的像素值变为255白色

如果想将图像的颜色进行改变,比如左侧设置为蓝色,而将右半设置为绿色,则可以轻松地这样做:

img[:,0:0.5*width]=(255,0,0)

img[:,0.5*width:width]=(0,255,0)

练一练:

新建一幅宽512高512,3通道的黑色图像并保存,同样大小的白色图像以及一半蓝色一半绿色的图像(调试运行素材文件夹中名为“新建图像.py”文件),查看不同的效果。
在这里插入图片描述

2**、添加文字**

在处理图片的时候,我们经常会需要把一些信息直接以文字的形式输出在图片上。opencv中除了提供绘制各种图形的函数外,还提供了一个特殊的绘制函数——在图像上绘制文字。这个函数即是cv2.putText()。想要在图片上绘制文字,你需要设置下列参数:

(1)确定要绘制的文字所在的位置

(2)要绘制的文字(包括字体、大小、颜色等类型属性)

字体的类型可通过查看 cv2.putText() 的文档找到支持的字体;

文字的一般属性如颜色,粗细,线条的类型等。

cv2.putText()函数中各参数功能依次是:

(图像,添加的文字,左上角坐标,字体,字体大小,字体颜色,字体粗细)

cv2中提供了多种字体库,

主要有以下几种常见的:
在这里插入图片描述

**例如:**在新建的黑色图像上绘制白色的字 OpenCV。font=cv2.FONT_HERSHEY_SIMPLEX

cv2.putText(img,‘OpenCV’,(10,300),font,4,(255,255,255),2)

调试运行素材文件夹中名为“添加文字1.py”

文件,查看保存的图片效果。

在这里插入图片描述
思考:

你能根据运行显示的效果图解释上面两行Python代码所实现的功能吗?

总结:

(10,300)表示在实际img图像中标记为10列,300行的坐标位置;font为定义的字体;4为字体的大小;(255,255,255)表示白颜色;2表示字体的粗细。

**注意:**OpenCV中的文字是不支持汉字的,文本坐标的位置切记行列不要弄错。

练一练:

尝试修改代码运行,在新建的图像上添加上不同颜色、大小、字体和粗细的文字,查看运行效果。(如素材文件夹中“添加文字2.py”文件)

三、开放延伸

我们可以在已有的彩色的图像上面添加文字吗?

尝试编写代码调试运行,实现在“xiongmao.jpg”图像上方正中间写上红色的文字“xiongmao”
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值