0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python将二维数组输出为图片

jf_96884364 来源:jf_96884364 作者:jf_96884364 2023-01-11 16:18 次阅读

原文链接

使用Python读取二维数组,将二维数组输出为图片,并保存在本地。

代码如下:

# coding=utf8
from PIL import Image
import numpy as np
import imageio
import matplotlib.pyplot as pyplot

a = 300
b = 500
x = 20
y = 20
w = 40
h = 80

# 生成图片矩阵
def Gener_mat(a, b, x, y, w, h):
    img_mat = np.zeros((a, b), dtype=np.int_)
    for i in range(0, a):
        for j in range(0, b):
            img_mat[i][j] = 0
    for i in range(x, x + w):
        for j in range(y, y + h):
            img_mat[i][j] = 1
    return img_mat


# 输出图片
def out_img(data):
    data = (data * 255.0).astype('uint8')  # 转换数据类型
    new_im = Image.fromarray(data)  # 调用Image库,数组归一化

    # 显示新图片
    pyplot.imshow(data)
    pyplot.show()

    # 保存图片到本地
    imageio.imsave('new_img.jpg', new_im)


img_mat = Gener_mat(a, b, x, y, w, h)
out_img(img_mat)

其中 Gener_mat 函数用于生成一个300*500的矩阵,矩阵大部分值为0,在坐标(20, 20)处有一个40*80的区域,值为1。

矩阵转为的图片保存在与代码同级的目录下,图片为:

如果不能正常显示图片,出现报错:

MatplotlibDeprecationWarning: Support for FigureCanvases without a required_interactive_framework attribute was deprecated in Matplotlib 3.6 and will be removed two minor releases later.

是Pycharm设置的问题。点击菜单栏 File——Setting——Tools——Python Scientific,取消勾选“Show plots in tool window”,然后点击右下角的“OK”,即可完成配置。再次启动,就能正常显示了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 代码
    +关注

    关注

    30

    文章

    4762

    浏览量

    68408
  • python
    +关注

    关注

    56

    文章

    4784

    浏览量

    84502
  • 数组
    +关注

    关注

    1

    文章

    416

    浏览量

    25921
收藏 人收藏

    评论

    相关推荐

    指针数组二维数组有没有区别

    指针数组二维数组有没有区别?比如这样的两个代码。 int main(){ char *s1[] = { "hello", "world", "total" }; char s2[][6
    的头像 发表于 11-24 11:12 117次阅读

    二维码识读设备有哪些类型

    随着二维码应用的日益普及,各类二维码识读设备也应运而生。这些设备不仅极大地方便了我们的日常生活,也企业提供了更加高效便捷的服务。那么,你知道二维码识读设备都有哪些类型吗?让我们一起来
    的头像 发表于 11-05 16:10 131次阅读
    <b class='flag-5'>二维</b>码识读设备有哪些类型

    labview按行读取二维数组之后再按读取顺序重新组成二维数组如何实现?

    labview用了index Array按索引一行行读取二维数组之后想再按读取顺序重新组成一个二维数组如何实现,即第一次读取的作为第一行,第
    发表于 10-25 21:06

    请问labview是否无法向matlab传递3数组

    经过一些测试,发现在matlab script中只能传二维数组,利用打包.net库,好像还是只能传递二维数组。 是不是从底层就不支持,这两种语言的三
    发表于 10-22 20:14

    二维力传感器怎么安装,在安装二维力传感器的安装步骤

    二维力传感器是一种精密的测量设备,用于检测物体在平面内的力和力矩。为了确保其测量结果的准确性和稳定性,正确的安装步骤至关重要。本文详细介绍二维力传感器的安装方法。
    的头像 发表于 09-27 17:14 288次阅读
    <b class='flag-5'>二维</b>力传感器怎么安装,在安装<b class='flag-5'>二维</b>力传感器的安装步骤

    FPC软板二维码标识功能?简直是黑科技!

    现在的黑科技是越来越多了,板子上印个二维码用手机扫一下就能将 二维码变成你的电子产品说明书,用来介绍产品功能;呈现教学视频, 个人觉得图文二维码的功能十分丰富,不仅拥有产品溯源与出入
    发表于 08-07 17:46

    如何为柜式终端设备选配(集成)二维码模块?

    随着二维码技术在各行各业的广泛应用,柜式终端设备如何高效集成二维码模块成为行业关注焦点。针对这一需求,本文深入探讨选择与集成二维码模块的关键要素,助力企业精准匹配,提升终端设备性能。
    的头像 发表于 08-05 15:48 252次阅读
    如何为柜式终端设备选配(集成)<b class='flag-5'>二维</b>码模块?

    Labview生成二维

     Labview 的一个Demo,生成二维码。
    发表于 08-01 17:12 7次下载

    技术|二维PDOA平面定位方案

    一、方案概述二维平面定位系统,采用UWB定位技术,精度可到30cm。通过PDOA算法,可实现单基站二维平面的实时人员定位,增强对危险区域的管控,有效预防安全事故发生。面对突发情况,能做到及时报警响应
    的头像 发表于 06-04 14:53 870次阅读
    技术|<b class='flag-5'>二维</b>PDOA平面定位方案

    二维PDMA可以使用描述符链吗?

    我正在尝试使用二维描述符连锁。 编写了一些二维描述符链的代码。 但我有一些疑问,比如 1.二维 PDMA 可以使用描述符链吗? 2.如果 1 是,请附上一些代码 我们是否可以使用 2 个结构或只使用 1 个结构即可。
    发表于 05-31 08:16

    数组的转换到二维数组后的行列增减问题

    请大佬指点,如VI,两个求助点: 1、一数组大小,在停止Vi前把数组大小增加到4,在循环外设置了一数组的行数
    发表于 05-11 00:25

    飞凌嵌入式ElfBoard ELF 1板卡-在线二维码生成器

    在线二维码生成器允许用户文本、网址、图片或其他数据转换为二维码形式。二维码是一种特殊类型的条形码,它可以通过扫描来快速识别和读取信息。在线
    发表于 04-24 17:00

    怎么在Framewin里显示二维码?

    各位前辈好,刚刚开始使用STemWin。现在一个Framewin里显示二维码,在Framewin初始化里调用二维码函数没有反应。请问需要怎么调用?
    发表于 04-16 08:27

    Labview调用Halcon识别二维

    Labview调用Halcon识别二维码 可一次识别多个二维码 使用Labview 2020编辑,halcon的版本是 19.11,32位
    发表于 02-21 16:31

    二维图片框 在 鼠标处 滚轮 缩放 图片,像 CAD 一样,,

    大家好,如何实现,二维图片框 在 鼠标处 滚轮 缩放 图片,像 CAD 一样,,*附件:图片在鼠标处缩放.rar
    发表于 01-07 21:02