当前位置: 首页 > 后端技术 > Python

Python将二维数组输出为图片

时间:2023-03-26 17:25:01 Python

原文链接使用Python读取二维数组,将二维数组输出为图片,并保存到本地。代码如下:#coding=utf8fromPILimportImageimportnumpyasnpimportimageioimportmatplotlib.pyplotaspyplota=300b=500x=20y=20w=40h=80#生成图像矩阵defGener_mat(a,b,x,y,w,h):img_mat=np.zeros((a,b),dtype=np.int_)foriinrange(0,a):forjinrange(0,b):img_mat[i][j]=0foriinrange(x,x+w):forjinrange(y,y+h):img_mat[i][j]=1returnimg_mat#输出图像defout_img(data):data=(data*255.0)。astype('uint8')#转换数据类型new_im=Image.fromarray(data)#调用图像库,数组归一化#显示新图像pyplot.imshow(data)pyplot.show()#保存图像到本地图像io.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:SupportforFigureCanvaseswithoutarequired_interactive_frameworkattributewasdeprecatedinMatplotlib3.6,将在两个小版本后移除。是Pycharm设置的问题。点击菜单栏File——Setting——Tools——PythonScientific,取消勾选“Showplotsintoolwindow”,然后点击右下角的“OK”完成配置。再次启动,即可正常显示。想了解更多编程知识,请关注我的公众号:代码之道