使用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文章
4835瀏覽量
69117 -
python
+關注
關注
56文章
4809瀏覽量
85071 -
數組
+關注
關注
1文章
417瀏覽量
26034
發布評論請先 登錄
相關推薦
二維周期光柵結構(菱形)光波導的應用
二維掃碼頭有效掃描距離是多少,影響二維掃描頭掃碼的因素有哪些
![<b class='flag-5'>二維</b>掃碼頭有效掃描距離是多少,影響<b class='flag-5'>二維</b>掃描頭掃碼的因素有哪些](https://file1.elecfans.com/web3/M00/06/22/wKgZO2eHcO-AYC7xAAA34zSQjf4282.png)
RS232接口的二維影像掃描引擎,廣泛用在醫療設備上掃一維二維碼
![RS232接口的<b class='flag-5'>二維</b>影像掃描引擎,廣泛用在醫療設備上掃一<b class='flag-5'>維</b><b class='flag-5'>二維</b>碼](https://file1.elecfans.com/web3/M00/03/7D/wKgZO2dpGNeAS83xAAAwjNU-FX4369.png)
二維內嵌掃碼模組用于自助儲物柜,快速掃描各種一維二維條碼
![<b class='flag-5'>二維</b>內嵌掃碼模組用于自助儲物柜,快速掃描各種一<b class='flag-5'>維</b><b class='flag-5'>二維</b>條碼](https://file1.elecfans.com/web3/M00/01/07/wKgZPGdQCyCAQVnKAABZdApkdJs371.png)
指針數組和二維數組有沒有區別
二維碼識讀設備有哪些類型
![<b class='flag-5'>二維</b>碼識讀設備有哪些類型](https://file1.elecfans.com/web2/M00/0A/5B/wKgZomcfMLaAeSZiAACWA45m3go735.png)
labview按行讀取二維數組之后再按讀取順序重新組成二維數組如何實現?
請問labview是否無法向matlab傳遞3維數組
二維力傳感器怎么安裝,在安裝二維力傳感器的安裝步驟
![<b class='flag-5'>二維</b>力傳感器怎么安裝,在安裝<b class='flag-5'>二維</b>力傳感器的安裝步驟](https://file1.elecfans.com//web2/M00/08/47/wKgZomb2d1qANJVqAABMVDVlrLU667.png)
如何為柜式終端設備選配(集成)二維碼模塊?
![如何為柜式終端設備選配(集成)<b class='flag-5'>二維</b>碼模塊?](https://file1.elecfans.com/web2/M00/01/89/wKgaomawg9SAXHUnAABIpQq0wBI050.png)
技術|二維PDOA平面定位方案
![技術|<b class='flag-5'>二維</b>PDOA平面定位方案](https://file1.elecfans.com/web2/M00/EC/7B/wKgaomZeuc6AZ8ZjAACBaHn6et8796.png)
評論