iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python实现灰度图
  • 176
分享到

python实现灰度图

2024-04-02 19:04:59 176人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

本文实例为大家分享了python实现灰度图的具体代码,供大家参考,具体内容如下 任务描述 背景 真彩色图像和灰度图像是数字图像的两种常见类型,如下图所示,左图是真彩色图像,右图是灰度

本文实例为大家分享了python实现灰度图的具体代码,供大家参考,具体内容如下

任务描述

背景

真彩色图像和灰度图像是数字图像的两种常见类型,如下图所示,左图是真彩色图像,右图是灰度图像。

在真彩色图像中,像素颜色是 RGB 颜色,每个颜色包含 R、G、B 三个颜色分量。而在灰度图像中,像素颜色只有一个分量,称为灰度值,其取值是 [0,255] 之间的整数,灰度值越小,灰度越暗(越黑),反之越亮(越白)。

任务

本关任务是补全程序,使程序能将一幅真彩色图像转换成灰度图像。说明如下:
1)求得的灰度值需要转换成整数,请使用round函数取整,如round(3.7)是将3.7四舍五入为整数4;
2)本关程序框架与上关基本相同。

相关知识

思路

真彩色图像与灰度图像采用的颜色模式不一样,前者使用 RGB 颜色,有三个颜色分量,而后者使用灰度值,只有一个颜色分量,所以不能像上关一样直接对原始图像的像素进行修改。
解决方法是先新建一个与真彩色图像分辨率相同的纯色灰度图像,然后依次取出真彩色图像中每个像素的 RGB 颜色,算出对应的灰度值,再将此灰度值填入新建灰度图像的对应位置。

示例程序

示例程序见下:

from PIL import Image
img = Image.new('L', (100, 100))  #新建一个3×3的纯黑色灰度图像
gray = img.getpixel((50,50))      #取出某个像素的颜色,即灰度值
print('这是一个灰度值:', gray)   #灰度值只包含一个整数
for x in range(100):
    for y in range(100):
        img.putpixel((x,y), 100)#将所有像素的灰度值设置为100
img.save('src/step2/student/step2_2.jpg')

可将此程序拷入右侧编辑器运行。

编程要求

在 Begin-End 区间补全代码,具体要求见上。

测试说明

系统会检查程序生成的 step2_2.jpg 文件,若正确则打印:

你的图像与正确答案相同!

开始你的任务吧,祝你成功!

from PIL import Image


# 将一个RGB颜色转换成灰度值,结果保留整数
def RGBtoGray(r, g, b):
    ########## Begin ##########
    gray = round(r*0.299 + g*0.587 + b*0.114)
    ########## End ##########
    return gray
# 将真彩色图像转换成灰度图
# 真彩色和灰度图的文件路径分别为path1和path2
def toGrayImage(path1, path2):
    img1 = Image.open(path1)  # 真彩色图像,像素中是RGB颜色
    w, h = img1.size
    img2 = Image.new('L', (w, h))  # 新建一个灰度图像,像素中是灰度值
    ########## Begin ##########
    # 此部分功能:依次取出img1中每个像素的RGB颜色,转换成灰度值,再放到img2的对应位置
    for x in range(w):
        for y in range(h):
            r, g, b = img1.getpixel((x, y))  # 取出颜色
            gray = RGBtoGray(r, g, b) # 转成灰度值
            img2.putpixel((x, y), gray)  # 放回像素

    ########## End ##########
    img2.save(path2)


path1 = 'step1.jpg'  # 真彩色图像
path2 = 'step2_2.jpg'  # 灰度图像
toGrayImage(path1, path2)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: python实现灰度图

本文链接: https://www.lsjlt.com/news/119845.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python实现灰度图
    本文实例为大家分享了python实现灰度图的具体代码,供大家参考,具体内容如下 任务描述 背景 真彩色图像和灰度图像是数字图像的两种常见类型,如下图所示,左图是真彩色图像,右图是灰度...
    99+
    2022-11-11
  • Python灰度变换中灰度切割分析实现
    目录1. 介绍2. 灰度切割代码实现3. 阈值处理1. 介绍 灰度切割:增强特定范围的对比度,突出图像中特定范围的亮度(灰度级分层也叫灰度切割) 实现灰度切割的方法有很多种,但基本的...
    99+
    2022-11-11
  • python opencv实现灰度图和彩色图的互相转换
    目录opencv灰度图和彩色图互相转换注意:附:python将灰度图转换为RGB彩色图总结opencv灰度图和彩色图互相转换 如果摄像头本来就得到3维度红外图那就不用处理直接可以用:...
    99+
    2022-11-13
  • 如何利用一行python代码实现灰度图抠图
    这篇“如何利用一行python代码实现灰度图抠图”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何利用一行python代码实...
    99+
    2023-06-30
  • Python OpenCV 彩色与灰度图像的转换实现
    彩色图像转换为灰度图像 第一种方式通过 imread 读取图像的时候直接设置参数为 0 ,自动转换彩色图像为灰度图像 第二种方式,可以通过 split 进行通道分离,或者叫做读取单个...
    99+
    2022-11-12
  • Python灰度变换中位图切割分析实现
    目录1. 介绍2. 实现方法3. code4. 比特平面重建图像1. 介绍 图像的像素值是由比特组成的。例如一副256级灰度图像中,图像是由8 bit组成。 与之前对比度拉伸的区别是...
    99+
    2022-11-11
  • python图像处理-利用一行代码实现灰度图抠图
    目录一行代码实现灰度图抠图Python抠图程序源码准备程序构思完整代码截图如下,每条语句均有功能注释一行代码实现灰度图抠图 抠图是ps的最基本技能,利用python可以实现用一行代码...
    99+
    2022-11-11
  • python怎么生成灰度图像
    要生成灰度图像,可以使用PIL库中的convert()函数将彩色图像转换为灰度图像。以下是一个简单的示例代码: from PIL i...
    99+
    2023-10-27
    python
  • C语言实现将彩色bmp图像转化为灰图、灰度图像反色
    本文实例为大家分享了C语言实现将彩色bmp图像转化为灰图、灰度图像反色的具体代码,供大家参考,具体内容如下 彩色图像转灰度图像 彩色(24位)bmp图像结构: typedef s...
    99+
    2022-11-12
  • python怎么查看图片灰度值
    要查看图片的灰度值,可以使用Python的OpenCV库来实现。下面是一个示例代码,展示了如何加载一张图片并查看其每个像素点的灰度值...
    99+
    2023-09-29
    python
  • Python NumPy图形的灰度的介绍
    本篇内容介绍了“Python NumPy图形的灰度的介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!对于三维数组来说,可以分别得到三种颜色...
    99+
    2023-06-20
  • Python对图像进行灰度处理
    目录 1、解释说明: 2、使用示例: 3、注意事项: 1、解释说明: 在Python中,我们可以使用PIL(Python Imaging Library)库中的Image模块对图像进行灰度处理。灰度处理是将彩色图像转换为灰度图像的过程,即...
    99+
    2023-10-12
    python 人工智能 计算机视觉
  • C++基于灰度图上色GrayToColorFromOther的实现
    目录场景需求功能函数代码C++测试代码场景需求        之前有提到给灰度图上色的需求,在此基础上,还有一种需求,就是基于另一张参考灰度图...
    99+
    2022-11-12
  • Python 将RGB图像转换为Pytho灰度图像的实例
    问题: 我正尝试使用matplotlib读取RGB图像并将其转换为灰度。 在matlab中,我使用这个: img = rgb2gray(imread('image.png')); 在matplot...
    99+
    2022-06-04
    图像 灰度 转换为
  • C#.Net实现灰度图和HeatMap热力图winform(进阶)
    目录一、前文二、渐进颜色调色板三、热力点大小和扩展大小一、前文 前文可以参考我的前一篇博文:C# .Net实现简易灰度图和酷炫HeatMap热力图winform 但是,先前的热力图效...
    99+
    2022-11-12
  • C# .Net如何实现灰度图和HeatMap热力图winform
    本篇内容介绍了“C# .Net如何实现灰度图和HeatMap热力图winform”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、...
    99+
    2023-06-22
  • python怎么将图像转化为灰度图像
    要将图像转换为灰度图像,可以使用Python中的OpenCV库。下面是一个简单的示例代码:```pythonimport cv2# ...
    99+
    2023-09-20
    python
  • 如何使用python opencv实现灰度图和彩色图的互相转换
    这篇文章将为大家详细讲解有关如何使用python opencv实现灰度图和彩色图的互相转换,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。opencv灰度图和彩色图互相转换如果摄像头本来就得到3维...
    99+
    2023-06-28
  • python怎么将灰度图像二值化
    要将灰度图像二值化,可以使用OpenCV库中的threshold函数。以下是一个示例代码:```pythonimport cv2# ...
    99+
    2023-09-29
    python
  • Python NumPy灰度图像的压缩方法
    这篇文章主要讲解了“Python NumPy灰度图像的压缩方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python NumPy灰度图像的压缩方法”吧!灰度图像是对图像的颜色进行变换,如...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作