3.1 图像灰度变换之图像反转

图像处理----灰度变换,图像反转,对数变换,幂次变换,位图切割,直方图显示,直方图均衡,直方图匹配 (数字图像处理matlab实现 ) 灰度变换 灰度 灰度可以认为是亮度,灰色图片中黑白的深浅程度,范围一般为0~255。图像数字化为二维矩阵后,每个点的值都代表一个像素点的灰度值。 灰度级 灰度值的表示范围,灰度级时,称图片为k比特图片。当然灰度级越高,图片的细节则越清晰,因为有更多的灰度值来描述图片。但是灰度级越大,图片所需要的存储空间也会越大,因此一般会采用256灰度级。 灰度变换 空间滤波 空间域处理图... 阅读详情

什么是图像的灰度变换

图像的 灰度变换,简单一点就是输入一个图像 f(x,y)f(x,y)f(x,y),讲过变换后输出另一个图像 g(x,y)g(x,y)g(x,y),关键是我们如何变换。图像的变换本质上是图像像素值的变换。 举个简单的例子,我们现在需要将一张灰度图像变亮,那么我们可以将灰度图像的每个像素值加20(加多少自己决定),即可得到像素的变换方式g(x,y)=f(x,y)+20g(x,y)=f(x,y)+20g(x,y)=f(x,y)+20如果我们不想像素值直接相加,那么我们可以用灰度图像的像素值乘以2,即: g(x,y)=2∗f(x,y)g(x,y)=2*f(x,y)g(x,y)=2∗f(x,y)图像的灰度变换,核心是找到变换方式,表示如下:g(x,y)=F(f(x,y))g(x,y)=F(f(x,y))g(x,y)=F(f(x,y))借用函数的定义:y=F(x)x⊂(灰度图像的像素值)y=F(x) \quad x\subset(灰度图像的像素值)y=F(x)x⊂(灰度图像的像素值)

图像反转

对灰度图像的反转,其实就是对灰度图像像素值的反转,图像像素值的取值范围是(0,255)(0,255)(0,255),那么对像素值(用f(x,y)f(x,y)f(x,y)表示)反转只需要 255−f(x,y)255-f(x,y)255−f(x,y),即:g(x,y)=255−f(x,y)g(x,y)=255-f(x,y)g(x,y)=255−f(x,y)单个像素的变化效果如下:
在这里插入图片描述
上图绘制的代码如下:

import numpy as np
import matplotlib.pyplot as plt

if __name__ =='__main__':
    # 定义 x 的范围
    x = np.arange(0, 256)

    # 定义函数
    P = x  # log变换之前的像素值
    PN = 255 - x  # log变换之后的像素值

    # 绘制图像
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.figure(figsize=(10, 5))
    plt.plot(x, P, label='反转之前', color='blue')
    plt.plot(x, PN, label='反转之后', color='red')
    plt.xlabel('原图像单个像素值')
    plt.ylabel('反转后的图像单个像素值')
    plt.title('图像反转:对图像的每个像素的值进行操作(255 - pixel)')
    plt.legend()
    plt.grid(True)
    plt.xlim(0, 255)  # 设置 x 轴的范围
    plt.ylim(0, 255)  # 设置 y 轴的范围
    plt.savefig("image/tmp.png")
    plt.show()

实例

话不多说,我们直接看图像反转的实例和真实效果,下面实例取自 数字图像处理(冈萨雷斯)第四版

图像反转代码

import numpy as np
import matplotlib.pyplot as plt
import cv2 as cv

if __name__ =='__main__':

    # 读取灰度像,此处正对灰度图像的变换
    imgGray = cv.imread('Image/Fig0101.tif',0)

    rows,cols = imgGray.shape[:2]
    imgTransform = np.zeros_like(imgGray)
    for row in range(rows):
        for col in range(cols):
            imgTransform[row,col] = 255 - imgGray[row,col]

    # 显示图像
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.figure(figsize=(10, 10))

    plt.subplot(121)
    plt.imshow(cv.cvtColor(imgGray, cv.COLOR_BGR2RGB))
    plt.axis('off')
    plt.title('Original Image')

    plt.subplot(122)
    plt.imshow(cv.cvtColor(imgTransform, cv.COLOR_BGR2RGB))
    plt.axis('off')
    plt.title('Transformed Image')

    plt.tight_layout()
    plt.savefig('Image/Fig0101.png', transparent=True)
    plt.show()

图像反转的效果

在这里插入图片描述
上面例子中,原图像是乳房的X射线数字照片,其中显示了一块小病变,尽管两幅图的内容看起来无差别,但是有些观察者发现使用反转图像更容易分析乳腺组织的细节。

【Python】图像反转/反色的三种方法(pillow) 引言 图像反转(反色)是将图像的灰度值反转,若图像灰度级为 256,则新图的灰度值为 255 减去原图的灰度值。本文介绍了使用 Python 的 pillow 库进行图像反转(反色)的三种方法。 安装 pip install pillow 方法 方法 1🙂 使用 point() 方法对图像所有像素值进行运算,并返回结果。 from PIL import Image def invert_color(fname): im = Image.open(fname) im_inverted . 阅读详情

相关推荐

一、基于MATLAB的数字图像处理———灰度变换

基于MATLAB的数字图像处理———灰度变换与空间滤波 对于图像平面,定义为二维函数 f (x,y),其中x,y分别为空间横竖坐标。当f,x,y都是有限离散值时,图像即为数字图像。 一、图像的输入/输出和显示 相关函数: imread(‘filename’) //读取图片 imshow(f)//显示图片 figure//保留第一幅并输出第二幅 你好! 这是你第一次使用 Markdown编辑器 ...

qimingxia的博客 2万+

Python图像处理---灰度反转

python图像灰度反转

read_book_con的博客 1165

数字图像处理第二章——灰度变换函数

数字图像处理数字图像处理-灰度变换与空间滤波(一)背景知识(二)灰度变换函数1.imadjust函数(三)直方图处理与函数绘图(四)在频率域中直接生成滤波器(五)高通(锐化)频域滤波器(六)选择性滤波(七)小结功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义...

Dujing2019的博客 1万+

基本灰度变换

1、图像反转 公式: , r和s分别代表图像处理前后的像素值,L-1为图像的最大灰度级。 # 作者:喵酱 # 开发时间:2022/4/15 14:40 """基本的图像变换函数""" import numpy as np from matplotlib import pyplot as plt from PIL import Image img = np.asarray(Image.open('la.tif')) print(type(img)) # 1、图像反转 img2 = np.array(2

weixin_49569933的博客 3075

数字图像处理--matlab图像反转、对数变换、伽马变换、对比度拉伸详解和代码实现

邻域为1×1: Basic intensity transformation邻域n×n: 基于空间滤波的增强整幅图像的统计特性: 基于直方图的增强。

fcxgfdjy的博客 1万+

opencv 学习笔记(七) 灰度变换

灰度变换一、灰度变换概念二、灰度变换的作用三、灰度变换的方法灰度化一、灰度的概念二、对彩色图进行灰度化1.加权平均值法2.取最大值3.平均值灰度的线性变换1.线性变换2.分段线性变换灰度的非线性变换1.对数变换2.幂律变换总结 一、灰度变换概念 在图像预处理中,图像的灰度变换是图像增强的重要手段,灰度变换可以使图像对比度扩展,图像清晰,特征明显,灰度变换主要利用点运算来修正像素灰度,由输入像素点的灰度值确定相应输出点的灰度值,是一种基于图像变换的操作。 二、灰度变换的作用 1.改善图像是质量,显示更多的细

Lightismore的博客 9820

[数字图像处理]灰度变换——反转,对数变换,伽马变换,灰度拉伸,灰度切割,位图切割

灰度变换,属于一个非常重要的概念。这里主要参考《Digital Image Processing》 Rafael C. Gonzalez / Richard E. Woods 的第三章。书中所有的实验与数学式都采用了8-bit 图像的灰度范围,也就是0到255这样一个范围,这是本书不合理的一个地方。首先,这样做并不泛用,图片不一定是8-bit的。其次,在做某些变换的时候,可能会导致溢出。比如,伽马

zhoufan的专栏 4万+

图像处理-灰度变换

灰度变换是直接在图像上进行操作的方法。 灰度变换: 一些基本的灰度变换函数: 1.图像反转 2.对数变换 3.幂律变换:存在伽马变换(系数称为伽马)来矫正显示器的失真。还可以用来增强对比度(通过增大灰度密集区域的间距来增强图像的对比度) 4.分段线性变换: (1)对比度拉伸:可以将灰度密集区域变换到较为宽广的范围,压缩不感兴趣区域的灰度范围。 (2)灰度级分层,将感兴趣区域的灰度直接增强,消去/不改变其他区域灰度值。 (3)比特平面分层:通过每个像素相应的每一位0/1来够成图片,有助于节省数据占用的空间。

shanzsz的博客 6498

《数字图像处理》第三章 灰度变换与空间滤波学习笔记(3.1-3.2)反转、对数、幂律、分段线性等变换

空间域指图像平面本身,其处理直接作用于像素矩阵(区别于频率域的变换处理)。

懒人的技术笔记 1586

数字图像处理——灰度变换

灰度变换函数 对于以像素存储的数字图像来说,可对像素进行相应的操作,可得到处理过后的图像。而对像素邻域进行计算的的叫滤波,对单像素进行变换的叫映射,而这个映射关系就是变换函数。 本文主要介绍的一些主要的灰度变换函数。 1、反转变换 反转变换可将图像的灰度级进行反转,公式可参考下式: s = L - r -1 其中,[0, L-1]为灰度级范围, r为原图像灰度级, s为变换图像灰度级。...

minjiuhong的博客 3314

基于知识图谱的电影推荐系统——Neo4j&Python

也可直接从这里下载:链接: https://pan.baidu.com/s/1l6wjwcUzy5G_dIlVDbCkpw 提取码: pkq6。修改main.py中的driver,输入自己数据库的用户名与密码。系统会询问是否需要重新加载并创建知识图谱,在第一次时输入1。

weixin_46351593的博客 6354

数字图像处理(18): 图像灰度变换——线性灰度变换 和 非线性灰度变换(对数变换 与 伽马变换)

目录 1 灰度变换简介 2 线性灰度变换­—图像反转 3 非线性灰度变换 3.1 对数变换 3.2 伽马变换 参考资料 1 灰度变换简介 灰度变换是图像增强的一种重要手段,用于改善图像显示效果,属于空间域处理方法,它可以使图像动态范围加大,使图像对比度扩展,图像更加清晰,特征更加明显。灰度变换其实质就是按一定的规则修改图像每一个像素的灰度,从而改变图像的灰度范围。常见的灰度变换...

TechArtisan6的博客 6万+

VS2022命令行编译C++报错?一招解决‘fatal error C1034: iostream: 不包括路径集‘

本文针对VS2022命令行编译C++时常见的'fatal error C1034: iostream: 不包括路径集'错误,深入剖析了其根源在于环境变量缺失。文章提供了永久配置用户环境变量(PATH、INCLUDE、LIB)的一劳永逸解决方案,确保在任何终端中都能直接使用cl命令进行编译,并给出了进阶配置与常见错误排查指南。

weixin_29011667的博客 303

MATLAB图形图像处理——图像灰度变换

MATLAB图形图像处理——图像灰度变换,介绍matlab处理图像的基础知识、图像灰度变换的基础知识。 通过直方图均衡化改变图像对比度和亮度,将模糊的图像变清晰。

isolation_s的博客 1万+

实现 PDF 添加水印的五种方式

PDF(Portable Document Format,便携式文档格式)是一种流行的文件格式,它可以在多个操作系统和应用程序中进行查看和打印。在某些情况下,我们需要对 PDF 文件添加水印,以使其更具有辨识度或者保护其版权。本文将介绍如何使用 Spring Boot 来实现 PDF 添加水印的方式。

逸轩 6470

Google Earth Engine 红树林制图方法的代码(三个模块)

谷歌地球引擎红树林制图方法(GEM)提供了一种直观、易用且可复制的工具,适用于广泛的非专业沿海管理者和决策者。该工具全面回顾并整合了相关的红树林遥感文献,并利用云计算的力量,包括简化的基于图像的潮汐校准方法。GEM 可免费用于非营利用途,并在 GEE 中运行,包含全面且详细注释的代码。GEM 专门设计用于绘制全球范围内多日期红树林分布并量化其动态变化。目前可用的工具和方法未能充分利用沿海管理者通常持有的丰富地方专业知识——GEM 致力于填补这一空白,帮助结合地方专业知识与 GEE 的云计算能力。

此星光明博客 559

《数字图像处理》第三章学习总结感悟1:灰度变换与空间滤波概念及常用灰度变换方法介绍

本部分主要对应第三章《3.1节 背景知识》和《3.2节 一些基本的灰度变换函数》,介绍了空间域、灰度变换、空间滤波、邻域的概念,结合案例介绍了灰度变换中的图像反转、对数变换、幂律变换、分段线性变换的原理和用途。 通过学习这些基本的概念,老猿第一次系统地理解了灰度变换,灰度变换大部分都是通过拉伸或压缩图像某些灰度值范围来提高图像的整体效果,对于提高图像的可辨识性具有重要的意义,这些简单的变换可以带来图像认知的质的提升。

老猿Python 7932

避坑指南!YOLO26模型导出/推理常见问题,99%的开发者都踩过

版本锁定:Ultralytics=8.4.2、OpenVINO=2024.0.0、Python=3.10,版本不一致是80%问题的根源;参数对齐:训练/导出/推理的imgsz、归一化、坐标映射必须完全一致,差一步就出错;算子统一:避免自定义算子,优先用YOLO26原生算子(C3k2/PSABlock),确保推理引擎兼容;分步验证:导出后先校验ONNX/IR模型→单图片推理→RTSP流推理→72小时稳定性测试,一步过易踩坑;工业级测试。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 509

数字图像处理-空间域处理-灰度变换-基本灰度变换函数(反转变换、对数变换、伽马变换和分段线性变换)

数字图像处理-空间域处理-灰度变换-基本灰度变换函数(反转变换、对数变换、伽马变换和分段线性变换) 空间域处理是直接对像素进行操作的方法,这是相对于频率域处理而言的。空间域处理主要分为两大类:灰度变换和空间滤波。灰度变换在图像单个像素上操作,主要以对比度和阈值处理为目的。空间滤波涉及改善性能的操作,通过像元领域来处理。 空间域处理均可由下式表达: 表示f(x, y)输入图像,g(x,y) 表示输出图像,T 是变换算子(数学规则) 灰度变换可以看作领域大小为1*1的空间域处理,这...

yishuihanq的博客 7789

Transformer实战(30)——Transformer注意力机制可视化

在本节中,我们讨论了人工智能面临的最重要问题之一:可解释人工智能 (explainable artificial intelligence, XAI)。随着语言模型的不断发展,可解释性成为一个严峻的问题。本节中,我们从 Transformer 的角度出发,研究了 Transformer 架构中的自注意力机制,尝试通过各种可视化工具理解这些机制的内部过程。

盼小辉丶的博客 2610

【乐企】有关乐企能力测试接口对接-基础版(详细)

乐企能力测试接口对接详细代码以及步骤

九七的博客 7655

灰度变换(反转,对数,伽马)的python实现

这是学习第三章的时候的灰度变换的知识,就是找一个函数对原图像的每个像素点的灰度值重新计算,得到一个新得图像。 1. 图像反转 一幅图像的灰度级范围为[0,L-1],那么反转函数是 s = L-1-r (原来黑的变亮,亮的变黑) from skimage import io import numpy as np img = io.imread('11.jpg',as_gray = True) ro...

lx127372的博客 6752

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

图像处理灰度变换

灰度变换是对图像的每个像素按照灰度映射函数进行映射的变换,其作用于每个像素。灰度变换一般用来进行图像增强,提高图像的对比度,改善图像的灰度分布等。灰度变换根据灰度变换函数的不同分为线性函数变换、对数函数和幂函数变换。pouti,j=f(pini,j)pouti,j​=f(pini,j​)fff为灰度变换函数,iii和jjj分别为图像的下标索引,pinijpin_{ij}pinij​为i,ji,j。

梦的灰色边沿... 5286

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

【youcans 的图像处理学习课】6. 灰度变换与直方图处理

本节介绍图像的灰度变化与直方图处理,提供完整例程和运行结果:二值处理,反色变换,线性变换,分段线性变换,对比度拉伸,灰度级分层,非线性变换,直方图处理,直方图均衡化,直方图匹配,局部直方图处理,统计量增强,反向投影。 1. 安装与环境配置 2. 图像读取与显示 3. 图像的创建与修改 4. 图像的叠加与混合 5. 图像的几何变换 6. 灰度变换与直方图处理 7. 空间域图像滤波 8. 频率域图像滤波......

youcans的博客 6772

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

下一篇: 3.2 图像灰度变换之对数变换
Four o'clock
博客等级 码龄8年 305粉丝 17原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值