本文主要详细介绍python对灰度图像的实现。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下。
在本文中,我们分享一下python实现灰度贴图的具体代码,供大家参考。具体如下。
任务描述
背景
真彩色图像和灰度图像是两种常见的数字图像,如下图所示。左图像是真彩色图像,右图像是灰度图像。
真彩色图像中,像素颜色为RGB颜色,每种颜色包含R、G、b三种颜色分量,而在灰度图像中,像素颜色只有一种分量,称为灰度值,其值为[0,255]之间的整数。灰度值越小,灰度越暗(暗),反之越亮(白)。
任务
这个任务是完成程序,使程序能够将真彩色图像转换成灰度图像。描述如下:
1)得到的灰度值需要转换成整数,请使用round函数进行舍入。例如,round(3.7)将3.7四舍五入为整数4;
2)本次通关的程序框架与上一次通关基本相同。
相关知识
思路
真彩色图像不同于彩色模式下的灰度图像。前者使用三种颜色分量的RGB颜色,后者使用只有一种颜色分量的灰度值,所以不可能像前一种那样直接修改原图像的像素。
解决方法是创建一个与真彩色图像分辨率相同的新的纯色灰度图像,然后依次取出真彩色图像中每个像素的RGB颜色,计算出对应的灰度值,再将这个灰度值填充到新灰度图像的对应位置。
示例程序
示例程序如下:
从PIL进口图片
Img=Image.new('L ',(100,100)) #创建一个新的33纯黑灰度图像。
Gray=img.getpixel((50,50)) #取出一个像素的颜色,即灰度值
Print('这是一个灰度值:',gray) #灰度值只包含一个整数
对于范围内的x(100):
对于范围(100)内的y:
Img.putpixel((x,y),100)#将所有像素的灰度值设置为100
img . save(' src/step 2/student/step 2 _ 2 . jpg ')
你可以把这个程序复制到合适的编辑器中运行。
编程要求
在开始-结束间隔内完成代码。具体要求见上文。
测试说明
系统将检查程序生成的step2_2.jpg文件,如果正确则打印:
你的形象和正确答案一样!
开始你的任务,祝你成功!
从PIL进口图片
#将RGB颜色转换为灰度值,保留整数作为结果。
def RGBtoGray(r,g,b):
##########开始#######
灰色=圆形(r*0.299 g*0.587 b*0.114)
##########结束#######
返回灰色
#将真彩色图像转换为灰度图像
#真彩色和灰度图像的文件路径分别是path1和path2。
默认图像(路径1,路径2):
Img1=Image.open(path1) #真彩色图像,像素为RGB颜色。
w,h=img1.size
Img2=Image.new('L ',(w,h)) #用像素中的灰度值创建一个新的灰度图像。
##########开始#######
#这部分功能:依次取出img1中每个像素的RGB颜色,转换成灰度值,然后放到img2的相应位置。
对于范围(w)中的x:
对于范围(h)中的y:
r,g,b=img1.getpixel((x,y)) #取出颜色
Gray=RGBtoGray(r,g,b) #转换成灰度值。
2.img.putpixel ((x,y),gray) #放回像素
##########结束#######
img2.save(路径2)
Path1='step1.jpg' #真彩色图像
Path=' step2 _ 2.jpg' #灰度图像
照片图像(路径1,路径2)
这就是本文的全部内容。希望对大家的学习有帮助,支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。