使用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文章
4556浏览量
66814 -
python
+关注
关注
51文章
4678浏览量
83476 -
数组
+关注
关注
1文章
409浏览量
25595
发布评论请先 登录
相关推荐
飞凌嵌入式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
python如何定义二维空数组
在Python中,可以通过使用列表嵌套的方式来定义二维空数组。具体步骤如下: Step 1: 创建一个空的二维列表 要创建一个空的二维
python怎么创建二维数组
如何创建二维数组在Python中是一个常见的问题。在Python中,我们可以使用嵌套的列表(list of lists)或者使用NumPy库来创建二
二维图片控制,鼠标 滚轮 缩放 图片 ,如何 像 CAD 一样 ,,位置 不变,
各位老师,大家好,二维图片控制,鼠标 滚轮 缩放 图片,如何 像 CAD一样 ,,位置 不变,*附件:缩放.rar
发表于 08-29 19:51
OpenHarmony应用实现二维码扫码识别
文件为:QRCodeParser.ets,支持拍照识别二维码,还支持从相册选择二维码图片进行识别。
我们首先看下如何解析从相机获取的二维
发表于 08-23 17:00
labview如何将多次执行的二维数组拼接起来?
想把循环分别为1、2、3执行后的结果拼接成1个2维数组,纵向排列,最后的结果就是第1列是1-24,宽度是8的数组,将红框里的数据纵向拼接起来。
产生
发表于 06-09 10:01
荣小菜补钙记第59期_LabVIEW之二维图片拖拽与缩放 Demo
荣小菜补钙记第59期_LabVIEW之二维图片拖拽与缩放同步更新于 WeChat:荣小菜在补钙大家好,我是荣小菜,本期用一个小Demo讲解在二维图片控件中实现
发表于 05-19 18:59
荣小菜补钙记第59期_LabVIEW之二维图片拖拽与缩放
荣小菜补钙记第59期_LabVIEW之二维图片拖拽与缩放同步更新于 WeChat:荣小菜在补钙大家好,我是荣小菜,本期用一个小Demo讲解在二维图片控件中实现
发表于 05-19 18:44
评论