Matplotlib显示灰度图

article/2025/8/29 22:42:44

引言

 matplotlib中的imshow()函数不能自动显示灰度图像,这一点应该是众所周知的,需要调用cmap=“gray"以进行设置,但是cmap="gray"实际上并不是如opencv中的imshow函数一样将单通道图显示为灰度图,私以为是引入了灰度图的灰度量化概念,但并不直接对应灰度,证明见正文。

一、测试

 设置一全1.0的图像(全白),和一全白背景叠加黑色条柱的图像,使用plt.imshow()显示。
代码:

import matplotlib.pyplot as plt
import numpy as np
white=np.ones((100,100),dtype=float)
bar=np.ones((100,100),dtype=float)
bar[40:50,:]=0
plt.figure(1)
plt.subplot(211)
plt.imshow(white,cmap='gray')
plt.title('white map')
plt.subplot(212)
plt.imshow(bar,cmap='gray')
plt.title('black bar')

结果为:
在这里插入图片描述
由此可以发现在值全为1.0时,图像显示为黑色,那么是否是dtype的原因呢?测试常用的uint8情况下,亮度为恒定值,显示几何。
代码为:

white1=np.ones((100,100),dtype=np.uint8)*255
white2=np.ones((100,100),dtype=np.uint8)*128
plt.figure((2))
plt.subplot(211)
plt.imshow(white1,cmap='gray')
plt.title('white1')
plt.subplot(212)
plt.imshow(white2,cmap='gray')
plt.title('white2')

结果为:
在这里插入图片描述
由此可以确定,这一显示“异常”与数据类型无关 。

二、解决方案

  使用vmin,vmax参数指定灰度范围,或者设定cmap为gray_r以使得灰度范围反转,后者只适用于想显示白色背景。
代码:

white1=np.ones((100,100),dtype=np.uint8)*255
white2=np.ones((100,100),dtype=np.uint8)*128
plt.figure((2))
plt.subplot(211)
plt.imshow(white1,cmap='gray_r')
plt.title('white1')
plt.subplot(212)
plt.imshow(white2,cmap='gray',vmin=0,vmax=255)
plt.title('white2')

结果:
在这里插入图片描述


http://chatgpt.dhexx.cn/article/5U4w7L5m.shtml

相关文章

python显示灰度图像,Python读取图像并显示灰度图的实现

python读取图像 原图: import cv2 # 利用opencv读取图像 import numpy as np # 利用matplotlib显示图像 import matplotlib.pyplot as plt img cv2.imread("./lena.png") #读取图像 # 显示图像 plt.imshow(img) plt.axis(off) plt.show() 效果: 问&#…

OpenCV灰度图

什么是灰度图&#xff1a; 百度百科 什么是灰度图 #include <opencv2/opencv.hpp> #include <iostream>using namespace cv; using namespace std;int main(int argc, char** argv) {Mat src Mat(4,4,CV_8UC3,Scalar(28,128,228));cout << src << en…

RGB图像转化为灰度图原理

RGB图像转化为灰度图原理 1 原理 利用MATLAB对RGB图像进行读取&#xff1a; imgimread(蒙娜丽莎.jpg);可以知道存储RGB图像数据为 256 256 3 u i n t 8 256\times256 \times3\quad uint8 2562563uint8&#xff0c;其中 256 256 256\times256 256256表示长和宽的像素个数&…

彩色图像转换灰度图像

数字图像 现在我们所接触到的图像绝大多数都是数字图像&#xff0c;图像数字化后&#xff0c;每个像素点就可以看作是一个小方格&#xff0c;每个小方格里面存储的就是图像的像素信息。如果把一副数字图像抽象出来&#xff0c;就是一个二维矩阵&#xff08;灰度图&#xff09;或…

Python灰度图像彩色化

1️⃣作业要求 给定一幅灰度图像&#xff0c;使用任意方法将其变成一幅彩色图像&#xff0c;并尽量使得添加的色彩显得较为真实。 2️⃣核心代码 这里我们是直接调用了eccv16和siggraph17的模型&#xff0c;运行程序时会自动下载这两个model文件&#xff0c;然后经过对图像的…

matlab 绘制灰度图

matlab 将矩阵中不同数值所对应的区域用 不同深度的灰度图画出来&#xff0c;不显示坐标轴标签&#xff0c;并设置在画布上全屏显示。 if 1close allrng (7)mask_allrand(256,256)*10;mask_allround(mod(mask_all,2));mask_allsort(mask_all);mask_all(1:100,1:50)0;mask_all(…

matlab读取一幅灰度图,Matlab处理灰度图

作业2&#xff1a;通过图像分析的方法对如下图像进行分析&#xff0c;获取颗粒特性参数。具体参数包括图像中的颗粒个数&#xff0c;颗粒面积&#xff0c;颗粒等效直径&#xff0c;非球形颗粒的长/短轴&#xff0c;非球形颗粒的方位。 图1 待处理颗粒图像 步骤&#xff1a; (1)…

python灰度图

任务描述 背景   真彩色图像和灰度图像是数字图像的两种常见类型&#xff0c;如下图所示&#xff0c;左图是真彩色图像&#xff0c;右图是灰度图像。    在真彩色图像中&#xff0c;像素颜色是 RGB 颜色&#xff0c;每个颜色包含 R、G、B 三个颜色分量。而在灰度图像中&…

图像处理--灰度图

灰度图 灰度图&#xff0c;Gray Scale Image 或是Grey Scale Image&#xff0c;又称灰阶图。把白色与黑色之间按对数关系分为若干等级&#xff0c;称为灰度。灰度分为256阶。 灰度图定义 什么叫灰度图&#xff1f;任何颜色都有红、绿、蓝三原色组成&#xff0c;假如原来某点…

OpenCV(三)彩色图灰度化、通道分离、单通道反差处理(灰度图)、多通道反差处理(彩色图)

目录 一、彩色图灰度化 1、主要函数cvtColor()介绍 2、代码 3、效果 二、通道分离 1、向量介绍 2、总代码 3、效果 三、单通道(灰度图)反差处理 1、单通道向量访问 2、代码 3、效果 四、多通道(彩色图)反差处理&#xff08;彩色图的反差处理&#xff09; 1、多…

灰度图与RGB图

1.灰度图 灰度图就是单通道图像&#xff0c;而单通道图是指维度数为2的图像。 而灰度就是没有色彩&#xff0c;RGB色彩分量全部相等&#xff08;可将这点与下文的RGB图进行对比&#xff09;。那么灰度图的每个像素点就只有一个值表示颜色&#xff0c;像素值的范围就是[0~255]。…

ER图、ERD图

ER图、ERD图 1. 什么是ERD1.1 举例 2. ERD符号指南2.1 实体2.2 属性2.3 主键2.4 外键2.4 关系2.5 基数2.5.1 一对一的基数的例子2.5.2 一对多的基数的例子2.5.3 多对多的基数的例子 3.概念、逻辑和物理数据模型3.1 概念数据模型3.2 逻辑数据模型3.3 物理数据模型 4.如何绘制ER图…

2.2.2 ER图

2.2.2 ER图 关系型数据库提供了SQL语言&#xff0c;使应用程序开发人员与数据库管理和维护人员能够与数据库进行交互。但是在创建数据库和数据表之前&#xff0c;需要对数据库中的数据表进行设计&#xff0c;并能够正确设计出各数据表之间的关联关系。 通常使用ER图&#xf…

【系统架构】ER图的画图规范和优化点

文章目录 什么是ER图ER图的画图规范组成部分步骤注意 实例 第三弹&#xff0c;讲讲ER图的画图规范以及优化点 什么是ER图 E-R图也称实体-联系图(Entity Relationship Diagram)&#xff0c;提供了表示实体类型、属性和联系的方法&#xff0c;用来描述现实世界的概念模型 ER图…

学好er图

一、什么是er图&#xff1f; ​ 1、 实体-联系图(Entity-Relation Diagram)用来建立数据模型,在数据库系统概论中属于概念设计阶段&#xff0c;形成一个独立于机器&#xff0c;独立于DBMS的ER图模型。 通常将它简称为ER图&#xff0c;相应地可把用ER图描绘的数据模型称为ER模型…

ER图学习笔记(附各个图型的举例,实战案例)

ER图常用图形如下&#xff1a; ER图图形含义详解 实体&#xff08;长方体&#xff09;&#xff1a; 实体字面意思就是实际存在的&#xff0c;例如商品&#xff0c;货物&#xff0c;用户。 属性&#xff08;椭圆&#xff09;&#xff1a; 属性我们不陌生&#xff0c;就是一个…

enterprise architect绘画ER图

ER图的实体&#xff08;entity&#xff09;即数据模型中的数据对象&#xff0c;例如人、学生、音乐都可以作为一个数据对象&#xff0c;用长方体来表示&#xff0c;每个实体都有自己的实体成员&#xff08;entity member&#xff09;或者说实体对象&#xff08;entity instance…

数据库ER图

ER图的实体&#xff08;entity&#xff09;即数据模型中的数据对象&#xff0c;例如人、学生、音乐都可以作为一个数据对象&#xff0c;用长方体来表示&#xff0c;每个实体都有自己的实体成员&#xff08;entity member&#xff09;或者说实体对象&#xff08;entity instance…

java er图_ER图与UML图

ER图&#xff1a;实体-联系图(Entity-Relation Diagram)用来建立数据模型,在数据库系统概论中属于概念设计阶段&#xff0c;ER图提供了表示实体(即数据对象)、属性和联系的方法&#xff0c;用来描述现实世界的概念模型 构成E-R图的基本要素是实体、属性和联系&#xff0c;其表示…

ER图符号含义

ER图在数据库设计中经常用到&#xff0c;用于表示数据库各个表之间的关系。 设计的时候&#xff0c;我个人用到的主要是下图中的两个&#xff1a; Many&#xff1a;一对多 一个数据源对应多个数据库表 One&#xff1a;一对一 一个度量对应一个display设置&#xff0c;一对一…