美文网首页模式识别
Python将二维数组输出为图片

Python将二维数组输出为图片

作者: 代码的路 | 来源:发表于2022-06-15 10:53 被阅读0次

原文链接

使用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”,即可完成配置。再次启动,就能正常显示了。

学习更多编程知识,请关注我的公众号:

代码的路

相关文章

  • 这周一道算法题(五十五)

    本周题目难度级别'Medium',使用语言'Python' 题目:给你一个二维数组,将数组内为0的行列都置为0。 ...

  • python numpy-shape函数

    以元组形式返回数组各个维度的元素个数 一维数组 输出 二维数组 输出 通过返回的元组,可看出这个二维数组中,一维是...

  • 总结

    在今天的学习中了解到了二维数组的标准格式及两种不同的输入输出方法。 二维数组的格式为: 类型符 数组名【数组上...

  • C#二维数组的初始化(IList>的初始化

    当输出为二维数组的时候,通常LeetCode需要的输出类型为IList >,这个时候,可能会遇到以下错误: 以上两...

  • [算法]二维数组循环输出

    面试中遇到一个题:将一个二维数组螺旋循环输出,二维数组的宽和高并不一定相等。例: [1, 2, 3, 4, 5, ...

  • Python matplotlib imshow

    将一个二维数组显示为图片 图1使用默认设置,图2自定义了颜色映射,图三将数组的元素从左下角开始放,图4缩放了坐标轴。

  • smarty模板引擎的学习

    基本配置 常用的两个方法 assign display 基本语法 输出基本变量 输出一维数组 输出二维数组 变量调...

  • 2021-08-09leetcode刷题

    近几天使用的进阶python语法 zip(*)将列转换为行,是二维数组转换为[(),(),()]形式。 set()...

  • 4. 二维数组(数据结构)

    二维数组可以理解为数组的数组。二维数组组织为矩阵,可以表示为行和列的集合。 但是,创建二维数组以实现关系数据库外观...

  • NumPy 基础入门

    NumPy 内置了进行数据分析时所要执行的大量基础任务所需的函数 一维数组、二维数组 输出结果为: 从数组中取值 ...

网友评论

    本文标题:Python将二维数组输出为图片

    本文链接:https://www.haomeiwen.com/subject/oacemrtx.html