**学科:**人工智能 | 年级: 七年级上 |
---|---|
**课题:**第04课 显示、修改单个像素值 | 课时数:1 |
教学目标:
理解图片像素点的表示方法;
掌握显示、修改二值图像像素值的方法;
掌握显示、修改灰度图像像素值的方法;
掌握显示、修改彩色图像像素值的方法;
能够对代码进行修改,实现修改指定位置的图像颜色;
教学重点:
掌握修改像素值的方法。
教学难点:
修改指定位置的图像颜色。
教学准备:
示例图片,程序代码文件
教 学 过 程
一、开放导入
1.前面我们学习了电脑显示图片的原理,电脑中的图片是由无数个显示颜色的像素点组成,图片中的每个像素点都有一对表示位置的数字(坐标点),比如图1中左上角表示为[0,0],A表示为[2,1],B表示为[4,5]。
【展示图片,对各个坐标点进行提问】
二、核心过程推进
1.显示像素值
如果我们想知道一张图片某个位置的像素值,可以在读取图片后,通过像素点的位置坐标进行查询。
比如:我们要查询彩色图片(nezha.jpg)[30,240]位置的像素值,代码如下
import cv2
img = cv2.imread('nezha.jpg',-1) # 读取图片
print(img[30,240]) # 显示像素值
cv2.imshow('nezha',img) #显示图片
cv2.waitKey(0) #等待按键
cv2.destroyAllWindows() #关闭窗口
显示的像素值
[183 110 52]
练习:
修改代码,分别查询灰度图像(nezha-gray.jpg)、二值图像(nezha-thresh.jpg)[30,240]位置的像素值,看看查询结果有何不同?
图像 | 像素值 |
---|---|
nezha.jpg | [183 110 52] |
nezha-gray.jpg | 101 |
nezha-thresh.jpg | 0 |
彩色图像的像素值用3个0-255的整数表示;
灰度图像的像素值用1个0-255的整数表示;
二值图像的像素值用0(黑)或者1(白)表示;
2.修改像素值
光能够显示像素值还不够,有时候我们还需要对图片做一些修改,让图片变得与众不同。
2.1修改图片原理
师:显示图片的某个像素值,可以通过访问这个像素的坐标点。对像素值的修改也是同理,通过像素的坐标点找到像素,然后修改对应坐标点的颜色。
2.2颜色表示原理
对于二值图像,我们使用数字0表示黑色,255表示白色。
图1中A点的位置是[2,1],颜色是黑色,A可以表示为[2,1] = 0
3.修改图片
我们来看图片2,
这是一张纯白色的图片,这张图片的大小是100*100像素,也就是横向和纵向各有100个像素点。
3.1修改单个像素颜色
在Python代码里,我们用img表示图片2,图片中间位置可以表示为img[50,50]。
我们要让图片2中间位置像素颜色为黑色,可以表示为
img[50,50] = 0
如果将图片中[10,10]位置颜色为黑色,应该怎么做?
练习
1.将二值图像(nezha-thresh.jpg)[30,240]位置的像素值改为255;
2.将灰度图像((nezha-thresh.jpg)[30,240]位置的像素值改为200;
3. 将彩色图像(nezha.jpg)[30,240]位置的像素值改为[100,100,100]
开放延伸
1.通过本节课的学习,对于图片修改你有哪些收获呢?
2.教师总结:修改图像的关键点在于对于不同的图形模式要采用不同的颜色表示方法。
来源:CSDN
作者:崂山区人工智能教育实验室
链接:https://blog.csdn.net/qq_34660800/article/details/104055720