《幸福家庭》杂志社
主办单位:江西省报刊传媒有限责任公司 投稿邮箱: bianji7@126.com
期刊信息
主管单位:中文天地出版传媒集团股份有限公司
主办单位:江西省报刊传媒有限责任公司
出版周期:半月刊
编辑出版:幸福家庭杂志社
国内刊号:CN 36-1321/G0
国际刊号:ISSN 2095-4492
邮发代号:38-366
开本:16开
语种:中文
投稿邮箱: bianji7@126.com
在线编辑QQ: 123456
联系我们

地址 : 江西省南昌市红谷滩区红谷中大道669号电子大厦4楼《幸福家庭》杂志社

投稿邮箱 : bianji7@126.com

编辑部QQ: 123456

官方网站: www.ywjxyj.com

论文展示
您所在的位置:首页 > 论文展示 > [技术与应用]色彩的复现:计算机图像处理与数值计算

[技术与应用]色彩的复现:计算机图像处理与数值计算

阅读数:208   发布时间:2021/06/15

于方军 于倩倩

随着技术的进化,人们发现通过RGB三原色混合可以得到各种颜色。而彩色显示器就是利用这一点显示彩色图片的。对于计算机来说,构成彩色图像的像素点颜色信息是由R(红色)、G(绿色)、B(蓝色)三基色的值构成,不同的RGB值可以混合出各种颜色,我们可以用一个四脚共阴极的三色LED灯,通过控制这三个值,模拟显示不同颜色。对于图像处理的操作,如模糊处理、色度处理、对比度调节等就是对这组数据进行复杂的数学运算。本文利用开源库OpenCV,通过卷积运算来实现图像处理,让学生看到图像处理操作背后的数值计算才是图像处理的本质。

现代的显示屏对色彩的还原度已经达到了以假乱真的程度,而显示器从单色到彩色的过程并不是一个简单的过程。本实验过程首先读取某点的像素值,即获取该点的RGB值,并通过开源硬件Arduino控制四脚共阴极的三色LED灯,并用像素点的RGB值控制对应的LED引脚,在另一种类型的计算机上复现该颜色,已实现对RGB显示色彩这一概念的深刻理解。

读取图片的像素值

如上页图1所示为用Jupyter Notebook打开源程序,分步执行后,读取一张标准的RGB混色示意图片并显示,接下来用img.shape显示彩色图片的长、宽、通道数,用img显示组成图片的各个点的像素值。

图1所示的图像,是一个80行、80列的像素点的组合,每个像素点由三个颜色信息构成。对于彩色图像来说,每一个像素点的值由RGB三个通道值构成,每个通道值用0~255中间值代表不同强度,这些不同强度的RGB值可以组合出各种颜色,通过研究控制图片的像素值来控制显示颜色,可以帮助学生深入理解计算机中彩色图片的构成和显示原理。

2.改变像素值观察区域图像颜色变化

用px=img[20,40]读取图片中纵坐标都为20、横坐标为40的像素点的像素值,该点为蓝色所以读取值为[0 0 254]。可以通过改变该点的像素值,觀察颜色的变化,如改为[255 0 0],则该点变为红色;也可以通过img[30:40,20:30]=[0,0,255]改变某个区域的像素值为蓝色,用同样的方法,可以在图中添加绿色块和红色块(如图2)。

接下来,可以改变颜色块的像素值为其他值,看看色块颜色应该怎样变化,如果把三个值都设置为255,得到的是白色,都设置为0得到的就是黑色;如果设置为相同的三个中间值如[100 100 100],就会得到一个灰度块,同时改变这个值可以得到亮度不同的灰度块。了解了图像矩阵色彩信息的原理之后,便可以在Arduino平台上复现图片上任意一点的色彩信息。

3.对像素点颜色的模拟显示

Pinpong库是一套控制开源硬件主控板的Python库,通过在Python程序中加载PinPong库即可连接硬件,通过Arduino板D8、D7、D6控制红绿蓝三色全彩LED灯三个对应引脚,把读取的某点像素值通过pw0.write_analog()赋值给这些引脚,实现模拟显示该点颜色的功能。

(1)读取像素点的值

用px=img[40,30]获得纵坐标40,横坐标30的像素点色值为[255 4 253],该点呈现粉色。这三个值对应列表px中的px[0]、px[1]、px[2],接下来要用这三个值控制共阴极的RGB三色LED的三个对应脚。幸运的是,色彩的RGB显示范围和Arduino中的模拟引脚的输入范围相当,这省去了换算的麻烦,可以直接使用px当中的分量数值(如下页图3、图4)。

(2)模拟显示读取像素点颜色

把读取计算机图片上某个点的色彩数值用pinpong库中的pw0.write_analog(pw[0])加载到Arduino的对应脚上,以显示计算机色彩在单片机上的还原,运行程序得到的实验装置上显示粉色的效果如图5所示。

这样,用Arduino复现彩色图片中像素点的色彩信息,就完成了彩色显示器中从0到1的突破。显示器可以看作许多极小的彩色LED点的组合,通过这种简单的代码级别的对像素点的操作,点动成线,线动成面,利用这样的原理,是否会有更加丰富的显示效果,留给大家者进一步思考。而技术突破背后的数学知识、计算思维和实践智慧,则是信息科技学科的育人价值所在。


编辑整理:幸福家庭杂志社编辑部
幸福家庭官方网站:http://www.ywjxyj.com/


Copyright© 2019 幸福家庭杂志社:www.ywjxyj.com    版权所有

杂志社地址:江西省南昌市红谷滩区红谷中大道669号电子大厦4楼《幸福家庭》杂志社

幸福家庭在线编辑QQ:123456    幸福家庭投稿邮箱: bianji7@126.com

    备案号: 赣ICP备05067667 网站地图

国家网信办举报中心
网络110报警服务
违法和不良信息举报中心
中国文明网
国家工信部
360安全网站