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

    文章

    4905

    浏览量

    71002
  • python
    +关注

    关注

    56

    文章

    4831

    浏览量

    87391
  • 数组
    +关注

    关注

    1

    文章

    420

    浏览量

    26730
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于STM32的二维码识别源码+二维码解码库lib

    基于STM32的二维码识别源码+二维码解码库lib,推荐下载!
    发表于 05-28 22:04

    基于STM32的二维码识别源码+二维码解码库lib

    基于STM32的二维码识别源码+二维码解码库lib项目实例下载! 纯分享帖,需要者可点击附件免费获取完整资料~~~【免责声明】本文系网络转载,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请第一时间告知,删除内
    发表于 05-23 20:45

    JCMsuite中对二维光栅的定义和仿真

    光栅是光衍射的周期性结构。它能把入射的光束衍射成几束向不同方向发散的光束。 二维光栅 二维光栅在两个水平方向上都具有周期性。存在两个晶格矢量因此当几何结构移位一个晶格矢量时, 下图显示了一个正方形
    发表于 05-19 08:53

    基于RK3576开发板的二维码生成

    档介绍了如何快速上手二维码生成,包括源码工程下载、开发环境搭建、例程编译与运行。通过EASY-EAI API,用户可轻松生成二维图片,API封装了二维码生成工具,提供了详细的调用说明
    的头像 发表于 05-10 15:19 ?693次阅读
    基于RK3576开发板的<b class='flag-5'>二维</b>码生成

    二维码读取器是干嘛的

    着不可替代的作用。本文深入探讨二维码读取器的工作原理、应用领域及其在现代社会中的重要价值。一、二维码读取器的工作原理二维码读取器的工作原理主要包括以下几个核心步骤:
    的头像 发表于 03-17 15:57 ?476次阅读
    <b class='flag-5'>二维</b>码读取器是干嘛的

    请问LabView中如何直接发送二维数组到DMD上显示?

    LabView中如何直接发送二维数组到DMD上显示。 在LabView中,调用int LoadData(UCHAR*RowData,long length)遇到两个问题,1 二维数组
    发表于 02-27 07:30

    二维周期光栅结构(菱形)光波导的应用

    :层状(一周期性),例如倾斜光栅 ?光栅2 EPE和输出耦合器:交叉光栅(二维周期,非正交) 光栅#2:具有菱形轮廓的二维周期光栅 使用内置调制介质的具有倾斜脊的一
    发表于 01-23 10:37

    二维扫码头有效扫描距离是多少,影响二维扫描头扫码的因素有哪些

    在现代科技快速发展的今天,二维码扫描已经成为我们日常生活和工作中不可或缺的一部分,无论是支付、物流追踪还是信息获取,都离不开二维码的扫描。那么,二维扫描头的有效扫描距离究竟是多少?又有哪些因素会
    的头像 发表于 01-15 16:26 ?1242次阅读
    <b class='flag-5'>二维</b>扫码头有效扫描距离是多少,影响<b class='flag-5'>二维</b>扫描头扫码的因素有哪些

    RS232接口的二维影像扫描引擎,广泛用在医疗设备上扫一二维

    在医疗设备领域,二维码的应用日益广泛,它作为信息的快速传递和识别手段,医疗管理、患者追踪、设备维护等环节带来了极大的便利。而在这背后,RS232接口的二维影像扫描引擎扮演着至关重要的角色,它以
    的头像 发表于 12-23 16:02 ?651次阅读
    RS232接口的<b class='flag-5'>二维</b>影像扫描引擎,广泛用在医疗设备上扫一<b class='flag-5'>维</b><b class='flag-5'>二维</b>码

    二维内嵌扫码模组用于自助储物柜,快速扫描各种一二维条码

    随着科技的飞速发展,自助储物柜已成为我们日常生活中不可或缺的一部分,公众提供了极大的便利。而这一切的背后,离不开二维内嵌扫码模组的强大支持。本文深入探讨二维内嵌扫码模组在自助储物柜
    的头像 发表于 12-04 15:56 ?546次阅读
    <b class='flag-5'>二维</b>内嵌扫码模组用于自助储物柜,快速扫描各种一<b class='flag-5'>维</b><b class='flag-5'>二维</b>条码

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

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

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

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