,,python实现灰度图

,,python实现灰度图

本文主要详细介绍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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: