原文链接
使用python读取二维数组,将二维数组输出为图片,并保存在本地。
代码如下:
# coding=utf8from pil import imageimport numpy as npimport imageioimport matplotlib.pyplot as pyplota = 300b = 500x = 20y = 20w = 40h = 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”,即可完成配置。再次启动,就能正常显示了。
无线技术未来的10个主要趋势
iOS 11即将到来,你做好准备了吗?
锤子正式加入安卓7.1.1阵容 一加3/3T尝鲜氢OS公测版
通信网中的第三层交换技术的实际应用
智能机器人可以给企业带来哪些优势
Python将二维数组输出为图片
三大运营商加速5G消息产业规模化发展,今年全面走向商用
UPS逆变模块的Nm冗余并联结构和均流
用于1kW以上电机驱动应用的集成电路GaN逆变器
前端总线频率是什么
神波05A型电动车电池电池修复仪
ST如何在300毫米晶圆上创建量子图像传感器技术
耐威科技将对外投资设立参股子公司 专门从事导航与DSP芯片
多分支选择结构程序设计的思想与实现方法
ADI推出新款业界领先的宽带RF增益模块
linux与centos的区别与联系
小米5C 一次创新也是一次妥协
GE和 AliveCor 宣布建立合作伙伴关系 金升阳连续斩获四大奖项
华为物联网:参与标准制定和增强海外布局
极米4K激光电视A3的详细介绍