读取图像,显示图像,输出图像像素矩阵

这篇具有很好参考价值的文章主要介绍了读取图像,显示图像,输出图像像素矩阵。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

方法一:使用matplotlib

import matplotlib
import matplotlib.pyplot as plt         #显示图像
from matplotlib.image import imread     #读取图像

img = imread('./jaja.jpg')              #读取图像
plt.imshow(img)                         #显示图像
plt.show()

matplotlib是模仿matlab中plot绘图函数的一个library(库)。使用matplotlib.image读取的图片,直接就是数组形式,方便后续处理。

plt.imshow()是对图像进行格式化,后面要跟plt.show()才能显示图片。

方法二:使用PIL和numpy

from PIL import Image                   #使用PIL打开图片,方便转成矩阵的形式
import numpy as np                      #矩阵肯定要用到numpy
x=Image.open(img_path)                  #打开图片
x.show()
data=np.asarray(x)                      #转换为矩阵
print(data)

方法一和方法二效果对比

显示图像:

matpotlib是在pycharm软件内部显示图像,PIL是在pycharm软件外部开一个窗口显示图像。

读取图像,显示图像,输出图像像素矩阵

 读取图像,显示图像,输出图像像素矩阵

 输出图像像素矩阵:

matplotlib不需要转换成矩阵,直接输出,输出矩阵的时间短,效率高。PIL需要将读取的图片数据转成矩阵,data=np.asarray(x),输出矩阵的时间较长。

PS:关于彩色图像像素排练的问题。

读取图像,显示图像,输出图像像素矩阵

 教科书上说彩色图像的像素是以R一个矩阵,G一个矩阵,B一个矩阵来排列,但我用matplotlib和PIL显示彩色图像后,却是如下所示:

 [ [ [r11, g11, b11], [r12, g12, b12],...[r19, g19, b19] ],

  [ [r21, g2, b21], [r22, g22, b22],...[r29, g29, b29] ],

  ......

  [ [r91, g91, b91], [r92, g92, b92],...[r99, g99, b99] ] ]

像素一行一行的排列,每个像素按照 r, g, b 的顺序排放,放完一个像素的,放下一个像素的。一个像素的RGB是在一起的。 不是把所有像素的r 放完,再放g,放完g,再放b,像素的三个值分开放的。

参考博文:彩色图像中像素数据的排列 - beforeluck - 博客园文章来源地址https://www.toymoban.com/news/detail-423277.html

到了这里,关于读取图像,显示图像,输出图像像素矩阵的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • VC++中使用OpenCV读取图像、读取本地视频、读取摄像头并实时显示

    最近闲着跟着油管博主murtazahassan,学习了一下LEARN OPENCV C++ in 4 HOURS | Including 3x Projects | Computer Vision,对应的Github源代码地址为:Learn-OpenCV-cpp-in-4-Hours OpenCV是一个开源的计算机视觉库,其官网地址为:https://opencv.org/,对应Github源码地址为:https://github.com/opencv/opencv,目前来说

    2024年01月17日
    浏览(57)
  • RAW图像详解及使用Python读取raw格式图像并显示

    RAW在英文中的解释是未处理的、自然状态的,这也就是RAW文件的真谛。RAW图像就是CMOS或者CCD图像感应器将捕捉到 的光源信号转化为数字信号的原始数据,因此RAW文件也被人们称之为“数码底片”。RAW格式的全称是RAW Image Format,记 录了由相机拍摄所产生的一些元数据,如IS

    2024年02月15日
    浏览(38)
  • python 图像处理——关于plt.imshow显示cv2.imread读取的图像有“色差”、“发蓝”问题的解决方法

    使用cv2.imread()读取图像时,默认彩色图像的三通道顺序为B、G、R,这与我们所熟知的RGB中的R通道和B通道正好互换位置了。 而使用plt.imshow()函数却默认显示图像的通道顺序为R、G、B,导致图像出现色差发蓝。 彩色图像出现色差代码: 运行结果如图1-1所示,其颜色偏蓝,怪吓

    2024年02月01日
    浏览(44)
  • C#中使用OpenCvSharp4库读取本地图像并显示

    OpenCvSharp4是基于.NET 的 OpenCV 包装器,OpenCV源代码是采用C和C++写的,目前对于C++和Python开发者相对来说比较友好,对于Python开发者而言官方提供了opencv-python使用。 首选我们使用Visual Studio 2022创建一个.Net控制台程序 ReadImageUseOpenCvSharp4 ,然后安装 OpenCvSharp4 安装包,我们在Vis

    2024年04月16日
    浏览(41)
  • FPGA + 图像处理(三)生成3x3像素矩阵

    生成NxN的像素矩阵是对图像进行各类滤波操作的基本前提,本文介绍一种通过bram生成3x3矩阵的方法。 因为本文介绍的是基于bram生成的3x3像素矩阵,所以要先生成两个bram核,用于缓存前两行图像数据 在 IP catalog中选择Block Memory Generator 配置如下 注意这里选择simple dual port RAM,

    2024年04月26日
    浏览(31)
  • 计算机视觉教程(第三版)期末复习笔记 第一章(定义、图像显示和表达、像素邻域)

    计算机视觉教程(微课版 第3版) 作者: 章毓晋 出版社: 人民邮电出版社 不一定全,只针对我们期末画的范围,只有一到六章。 目录 第一章 绪论 一、计算机视觉的定义 1. 视觉 2. 计算机视觉 二、常见的应用领域 三、图像的显示方式 1. 图像表达 2. 图像显示设备 3. 表达和显

    2024年02月01日
    浏览(45)
  • 【赛码】python【输入输出】读取未给出行列数的矩阵,并转置输出。

    输入描述: 对于一个n*m的矩阵,输入有n行,每行是m个以空格分隔的数字。 输出描述: n*m矩阵的转置矩阵。输出m行,每行是n个空格分隔的数据。 样例输入 1 2 3 4 5 6 样例输出 1 4 2 5 3 6   解决思路: 将输入转为列表嵌套格式,然后根据转置位置索引输出  

    2024年02月16日
    浏览(45)
  • 高铁轮毂表面缺陷的<视觉显著性>超像素图像检测方法

    内容:提出一种基于 视觉显著性注意机制 的超像素自适应检测方法;         设计视觉显著性注意机制滤波器用于粗略定位出缺陷空间范围,结合超像素分块图像分割方法消除光照不均匀引起的噪声干扰,有效地完成缺陷区域的边界分割和实时特征提取,实现轮毂缺陷空

    2023年04月11日
    浏览(38)
  • openCV图像读取和显示

    运行 imread是OpenCV图像处理库中的一个函数,用于从文件中读取图像数据并将其存储为一个Mat对象 其中,参数filename指定了要读取的图像文件的路径和文件名;参数flags指定了读取图像时的标志,它是一个可选参数,默认值为IMREAD_COLOR,表示读取彩色图像。 imread函数支持读取多

    2024年02月14日
    浏览(38)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包