使用numpy处理图片——灰阶影像

这篇具有很好参考价值的文章主要介绍了使用numpy处理图片——灰阶影像。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

灰阶(Gray scale)影像是每个像素只有一个采样颜色的图像。

载入图像

使用numpy处理图片——灰阶影像,numpy,numpy

import numpy as np
import PIL.Image as Image

img = Image.open('lena.png')
data = np.array(img)

灰阶处理

我们有三种方法来生成这种图像。

lightness

基本算法就是对每个像素点的RGB值取最大和最小值的均值,即(Max(RGB)+Min(RGB))/2。

lightnessGrey = ((np.max(data, axis=-1).astype(np.uint16) + np.min(data, axis=-1).astype(np.uint16)) / 2).astype(np.uint8)

lightnessGreyImg = Image.fromarray(lightnessGrey)
lightnessGreyImg.save('lightness_grey.png')

使用numpy处理图片——灰阶影像,numpy,numpy

average

基本算法就是对每个像素点的RGB取均值,即(R+G+B)/3。

averageGrey = np.zeros_like(data)
averageGrey[:] = (np.sum(data, axis=-1, keepdims=1) / 3).astype(np.uint8)
# averageGrey = np.mean(data, axis=2).astype(np.uint8)

averageGreyImg = Image.fromarray(averageGrey)
averageGreyImg.save('average_grey.png')

使用numpy处理图片——灰阶影像,numpy,numpy

luminosity

这种方法是一种加权算法。它会对每个像素的RGB的值配以不同的权重来计算出一个新的值,即0.2989R+0.587G+ 0.114B。

# luminosity 
            
luminosityGrey = np.dot(data[...,:3], [0.2989, 0.5870, 0.1140]).astype(np.uint8)

luminosityGreyImg = Image.fromarray(luminosityGrey)
luminosityGreyImg.save('luminosity_grey.png')

使用numpy处理图片——灰阶影像,numpy,numpy
还有一种写法就是用PIL库

lGreyImg = Image.fromarray(data).convert('L')
lGreyImg.save('lgrey.png')

代码地址

https://github.com/f304646673/numpy-example/tree/main/grey文章来源地址https://www.toymoban.com/news/detail-809803.html

到了这里,关于使用numpy处理图片——灰阶影像的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 无人机影像处理流程

    无人机由于其方便快捷,精度高等特点已经广泛应用于农田尺度的作物生长监测。尤其是近年来大疆推出了两个多光谱无人机,价格也相较便宜。但目前无人机的使用实际上需要进一步处理才能获取得到农田的基本信息,主要包括影像的校正和图像拼接,这些过程都可以基于

    2024年02月15日
    浏览(49)
  • C#处理医学影像(四):基于Stitcher算法拼接人体全景脊柱骨骼影像

    在拍摄脊柱或胸片时,经常会遇到因设备高度不够需要分段拍摄的情况, 对于影像科诊断查阅影像时希望将分段影像合并成一张影像,有助于更直观的观察病灶, 以下图为例的两个分段影像:       我们使用OpenCVSharp中的Stitcher类的Stitch方法,导入两张图像并拼接:  但结果

    2024年02月02日
    浏览(46)
  • C#+GDAL影像处理笔记05:修改tiff影像的存储分块blocksize

    目录 目录 1. 在GDAL的安装包中找到gdal_translate.exe 2. 使用命令行修改数据的存储分块 3.

    2024年02月13日
    浏览(32)
  • 【医学影像数据处理】 XML 文件格式处理汇总

    xml(Extensible Markup Language,简称:XML) 可扩展标记语言,是一种 netconf 配置文件的格式。是一种固有的分层数据格式,最自然的表示方式是解析成树状。 但是, xml 这样的标签数据,是 面向“机器”识别的,是不利于“人类”识别的 ,所以看起来会比较的麻烦。 2003年5月成

    2024年02月08日
    浏览(46)
  • python机器学习(三)特征预处理、鸢尾花案例--分类、线性回归、代价函数、梯度下降法、使用numpy、sklearn实现一元线性回归

    数据预处理的过程。数据存在不同的量纲、数据中存在离群值,需要稳定的转换数据,处理好的数据才能更好的去训练模型,减少误差的出现。 标准化 数据集的标准化对scikit-learn中实现的大多数机器学习算法来说是常见的要求,很多案例都需要标准化。如果个别特征或多或

    2024年02月16日
    浏览(44)
  • SNAP处理Sentinel-1 SAR影像流程

    本文的处理流程适用于Sentinel-1 IW GRD 数据 关于 SLC 数据和 GRD 数据的区别和介绍,很容易找到,本文不再赘述。 本文的处理步骤包含了辐射定标、噪声去除、轨道校正、地形校正(地理编码),这些步骤完成后SAR影像便可正常投入使用。 不需要解压,点击 file–open product 打开

    2024年02月04日
    浏览(35)
  • 【Python&GIS】无人机影像的像素坐标计算图片某点的地理/投影坐标

            又是掉头发的一天,今天的任务是通过图片中心点的地理坐标以及图片中某点的像素坐标(即这个点位于图片中的x,y坐标)计算该点的地理/投影坐标。经过一整天的搜索,发现网上并没有这方面的教程。然后就是想啊想,头发一抓一大把,终于在网上零零散散的

    2024年02月16日
    浏览(40)
  • 基于Photoshop的影像匀光匀色批处理

    ` 本文主要讲解,基于Photoshop软件,按照参考模板影像,对影像进行匀光匀色批处理。该方法可以对前期不同架次获取的原始影像匀光匀色,可对后期的空三加密质量和DOM制作效果具有极大的帮助作用;利用Photoshop对后期不同批次和区域的DOM成果进行匀光匀色,是建立色彩一

    2024年02月12日
    浏览(48)
  • 利用ENVI处理SPOT遥感影像提取水体、植被、不透水面

    利用ENVI处理SPOT遥感影像提取水体、植被、不透水面 (一)在Arcmap中打开shp文件,选择Select Features选中研究区域: (二)选中研究区,在文件上右击选中Data——Export Data导出所选区域shp文件: (一)首先打开SPOT影像免费获取网站: https://regards.cnes.fr/user/swh/modules/60,点击log

    2024年02月05日
    浏览(58)
  • 医院影像科PACS系统源码,医学影像系统,支持MPR、CPR、MIP、SSD、VR、VE三维图像处理

    PACS系统是医院影像科室中应用的一种系统,主要用于获取、传输、存档和处理医学影像。它通过各种接口,如模拟、DICOM和网络,以数字化的方式将各种医学影像,如核磁共振、CT扫描、超声波等保存起来,并在需要时能够快速调取和使用。 PACS系统还提供了辅助诊断和管理功

    2024年02月03日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包