python像素大于,python – matplotlib imshow()和像素强度

本文介绍了Matplotlib库中imshow函数的参数vmin、vmax和插值的作用。vmin和vmax用于设定图像灰度的显示范围,确保在可视化8位灰度图像时正确显示黑白对比。插值选项则控制了当图像大小与矩阵大小不匹配时如何估算新图像的像素值。无插值意味着像素取最近的矩阵元素值,而双线性插值则根据周围四个像素的值进行平滑处理。理解这些参数有助于更好地控制和可视化图像。
摘要由CSDN通过智能技术生成

只是一个简单的例子:

import numpy as np

data = array([[7, 4, 6], [7, 7, 6], [4, 7, 9]])

imshow(data, 'gray', origin='lower')

Matplotlib的imshow有3个参数来控制每个像素的灰度颜色:

> vmin:设置图像的最小强度值(灰度中的黑色),默认情况下设置为图像阵列的最小值.

> vmax:设置图像的最大强度值(灰度为白色),默认设置为数组的最大值.

如果要查看真实的灰度图像,则需要手动设置vmin = 0和vmax = 255(对于8位灰度图像).或者将数组重新调整为[0,255].

>插值:默认设置为bilinear interpolation,如果图像大小大于或小于图像矩阵的大小,则控制插值像素的值.

这是因为关闭插值会发生什么的结果:

imshow(data, 'gray', origin='lower', interpolation='none')

这是vmin和vmax参数功能的一个例子:

imshow(data, 'gray', origin='lower', interpolation='none', vmin=0, vmax=20)

有关双线性插值或插值方法的更多信息,请参阅维基百科或:

其中none = nearest反映原始4×4数组,没有插值.

编辑:基本上,当您可视化图像时有两个关键因素:

>图像的原始大小

>图像可视化的大小

如果以上两种尺寸相同,则图像以其原始尺寸可视化,完全没有问题,但是,这在现实世界中很少发生.想象一下,一个简单的例子,两个人在不同分辨率的两个显示器(假设相同型号)中寻找相同的图像:一个用1280×768,另一个用800×600.显示器实际上具有相同的尺寸,在两种情况下图像都是相同的,但是,两个显示器中的像素密度不同(第一个像素每英寸的像素数多于第二个),因此, 800×600显示器将寻找更大(质量更差)的画面.

不同的情况,但matplotlib发生类似的事情.默认情况下,Matplotlib未经过优化,无法以原始大小显示图像.实际上,如果你显示你的3×3矩阵,你甚至都看不到它(太小)但是,默认情况下,matplotlib会显示一个(比方说256×256)大的平滑图像(上面的第一张图片).

这一切背后发生了什么? figure的figsize和dpi参数控制输出图像的大小和像素密度.如果没有手动给出,matplotlib将默认尝试估计.

因此,无论是通过手动指定还是默认创建,您的3×3矩阵最终都会得到256×256像素.如上所述,vmin和vmax控制颜色的最小值和最大值(在这种情况下为灰度,因此vmin =黑色,vmax =白色).

那么,如何确定每个像素的值?这取决于所使用的插值方法.首先,您的矩阵(在这种情况下为3×3)点沿图像的大小均匀分布(例如256×256).然后,使用插值方法估计新图像的其余点(256×256):

>无插值:像素获取其最接近矩阵元素的值

>双线性插值:像素获得在矩阵的最近4个邻居内平均的值

还有更多……有关详细信息,请参阅上面的插值方法.

例如,请查看wikipedia中的以下图像:

想象一下,带有颜色的点是来自矩阵的数据,黑点代表当您使图像大小大于矩阵大小时需要估算的像素之一.在图像的特定情况下,使用双线性插值来估计黑点(对于新图像)的值.如您所见,像素的值设置为围绕该像素的矩阵中点的加权平均值.如果在matplotlib中将插值方法设置为“无”或“最近”,则黑点的值将仅由黄色像素给出(它最接近一个).

另外,请查看here以了解使用matplotlib以原始像素大小显示图像的实际复杂程度.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值