当前位置: 首页 > news >正文

Day06-06.图像相关知识介绍

一、图像基本概念

图像是由像素点组成的,每个像素点的取值范围为: [0, 255] 。像素值越接近于0,颜色越暗,接近于黑色;像素值越接近于255,颜色越亮,接近于白色。

在深度学习中,我们使用的图像大多是彩色图,彩色图由RGB3个通道组成,如下图所示:

1、二值图像

一幅二值图像的二维矩阵仅由0、1两个值构成,“0”代表黑色,“1”代白色。由于每一像素(矩阵中每一元素)取值仅有0、1两种可能,所以计算机中二值图像的数据类型通常为1个二进制位。二值图像通常用于文字、线条图的扫描识别(OCR)和掩膜图像的存储。

2、灰度图像

灰度图像矩阵元素的取值范围通常为[0,255]。因此其数据类型一般为8位无符号整数的(int8),这就是人们经常提到的256灰度图像。“0”表示纯黑色,“255”表示纯白色,中间的数字从小到大表示由黑到白的过渡色。二值图像可以看成是灰度图像的一个特例。

3、索引图像

索引图像的文件结构比较复杂,除了存放图像的二维矩阵外,还包括一个称之为颜色索引矩阵MAP的二维数组。MAP的大小由存放图像的矩阵元素值域决定,如矩阵元素值域为[0,255],则MAP矩阵的大小为256Ⅹ3,用MAP=[RGB]表示MAP中每一行的三个元素分别指定该行对应颜色的红、绿、蓝单色值,MAP中每一行对应图像矩阵像素的一个灰度值,如某一像素的灰度值为64,则该像素就与MAP中的第64行建立了映射关系,该像素在屏幕上的实际颜色由第64行的[RGB]组合决定。也就是说,图像在屏幕上显示时,每一像素的颜色由存放在矩阵中该像素的灰度值作为索引通过检索颜色索引矩阵MAP得到。

4、真彩色RGB图像

RGB图像与索引图像一样都可以用来表示彩色图像。与索引图像一样,它分别用红(R)、绿(G)、蓝(B)三原色的组合来表示每个像素的颜色。但与索引图像不同的是,RGB图像每一个像素的颜色值(由RGB三原色表示)直接存放在图像矩阵中,由于每一像素的颜色需由R、G、B三个分量来表示,M、N分别表示图像的行列数,三个M x N的二维矩阵分别表示各个像素的R、G、B三个颜色分量。RGB图像的数据类型一般为8位无符号整形。注意:通道的顺序是 BGR 而不是 RGB。

""" 案例: 演示基础的图像操作. 图像分类: 二值图: 1通道, 每个像素点由0, 1组成 灰度图: 1通道, 每个像素点的范围: [0, 255] 索引图: 1通道, 每个像素点的范围: [0, 255], 像素点表示颜色表的索引 RGB真彩图: 3通道, Red, Green, Blue, 红绿蓝. 涉及到的API: imshow() 基于HWC, 展示图像 imread() 读取图像, 获取HWC imsave() 基于HWC, 保存图片. """ # 导包 import numpy as np import matplotlib.pyplot as plt import torch # 1. 定义函数, 绘制: 全黑, 全白图. def dm01(): # 1. 定义全黑图片: 像素点越接近0越黑, 越接近255越白. # HWC: H: 高度, W: 宽度, C: 通道. img1 = np.zeros((200, 200, 3)) # print(f'img1: {img1}') # 2. 绘制图片. plt.imshow(img1) # plt.axis('off') plt.show() # 2. 定义全白图片. img2 = torch.full(size=(200, 200, 3), fill_value=255) # print(f'img2: {img2}') plt.imshow(img2) # plt.axis('off') plt.show() # 2. 定义函数, 加载图片. def dm02(): # 1. 加载图片. img1 = plt.imread('./data/img.jpg') # print(f'img1: {img1}') # print(f'img1.shape: {img1.shape}') # (640, 640, 3), HWC # 2. 保存图像. plt.imsave('./data/img_copy.png', img1) # 3. 展示图像. plt.imshow(img1) plt.show() # 3. 测试 if __name__ == '__main__': dm01() dm02()

二、总结

1、图像的构成 由像素点构成,【0-255】,RGB,【HWC】

2、图像的加载方法 Plt.imread() Plt.imshow()

http://www.jsqmd.com/news/709934/

相关文章:

  • 【企业级Dev Container架构白皮书】:基于Kubernetes+OCI标准的可复现、可审计、可灰度的容器开发环境落地规范
  • 从零开始部署gemma4
  • 5分钟掌握SRWE:解锁窗口分辨率自定义的终极工具
  • G-Helper:释放华硕笔记本隐藏性能的轻量级神器
  • Untrunc视频修复终极指南:10分钟拯救你的损坏视频文件
  • 终极视频对比分析工具:5分钟快速上手开源神器
  • 3分钟掌握GEMMA:让复杂遗传数据分析变得简单的终极指南
  • 2026年宁波短视频代运营与GEO搜索优化:中小企业同城竞争突破指南 - 精选优质企业推荐官
  • AI智能体如何30分钟构建全栈酒店预订平台:技术架构与协作机制解析
  • 3分钟揪出Windows热键冲突的“元凶“:Hotkey Detective使用全攻略
  • 简单理解:DLL 库 和 SO 库
  • DLSS Swapper革命性工具:智能游戏画质提升的一键式解决方案
  • 智能自动化助手:3个秘诀让你的Android设备更高效
  • 3分钟搭建零配置静态服务器:http-server让本地开发效率翻倍 [特殊字符]
  • 2026有实力且性价比高的工业窑炉厂家推荐哪家?破解粉体干燥能耗居高不下困局 - 品牌种草官
  • MaxKB4j:Java原生的企业级RAG与智能体引擎设计与实战
  • 2026最新中医执医考试课程选择——为何阿虎课程好 - 医考机构品牌测评专家
  • 多模态模型评估框架AdaptMMBench解析与应用
  • 皮肤管理店收银系统哪个靠谱?行业力荐品牌
  • 全面掌握ezdxf:Python处理DXF文件的终极指南
  • 工业点云必须跨过的三道生死关(噪声鲁棒性|多视角一致性|亚毫米级重复精度):一份被17家制造企业联合采纳的校准白皮书
  • 2026年宁波GEO优化与短视频引流:5大服务商实战对比与中小企业选购攻略 - 精选优质企业推荐官
  • 2026年宁波中小企业GEO搜索优化与短视频代运营深度横评:官方对接指南 - 精选优质企业推荐官
  • 高校科技成果转化难怎么办?
  • Day06-08.CNN概述介绍
  • 软件装饰器管理中的功能增强链
  • 自然语言生成解码算法的数学本质与优化实践
  • 【AI】cursor使用小技巧
  • 2026年宁波短视频代运营与GEO优化:中小企业同城竞争突破指南 - 精选优质企业推荐官
  • 洛阳熟牛肉哪个好吃?众源牛肉实测推荐,本地人都认可的靠谱选择 - 中媒介