使用Python讀取二維數(shù)組,將二維數(shù)組輸出為圖片,并保存在本地。
代碼如下:
# 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') # 轉(zhuǎn)換數(shù)據(jù)類型
new_im = Image.fromarray(data) # 調(diào)用Image庫,數(shù)組歸一化
# 顯示新圖片
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
函數(shù)用于生成一個(gè)300*500
的矩陣,矩陣大部分值為0,在坐標(biāo)(20, 20)
處有一個(gè)40*80
的區(qū)域,值為1。
矩陣轉(zhuǎn)為的圖片保存在與代碼同級(jí)的目錄下,圖片為:
如果不能正常顯示圖片,出現(xiàn)報(bào)錯(cuò):
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設(shè)置的問題。點(diǎn)擊菜單欄 File——Setting——Tools——Python Scientific,取消勾選“Show plots in tool window”,然后點(diǎn)擊右下角的“OK”,即可完成配置。再次啟動(dòng),就能正常顯示了。
-
代碼
+關(guān)注
關(guān)注
30文章
4895瀏覽量
70502 -
python
+關(guān)注
關(guān)注
56文章
4826瀏覽量
86525 -
數(shù)組
+關(guān)注
關(guān)注
1文章
419瀏覽量
26478
發(fā)布評(píng)論請(qǐng)先 登錄
基于STM32的二維碼識(shí)別源碼+二維碼解碼庫lib
基于RK3576開發(fā)板的二維碼生成

二維碼讀取器是干嘛的

請(qǐng)問LabView中如何直接發(fā)送二維數(shù)組到DMD上顯示?
二維周期光柵結(jié)構(gòu)(菱形)光波導(dǎo)的應(yīng)用
二維掃碼頭有效掃描距離是多少,影響二維掃描頭掃碼的因素有哪些

RS232接口的二維影像掃描引擎,廣泛用在醫(yī)療設(shè)備上掃一維二維碼

二維內(nèi)嵌掃碼模組用于自助儲(chǔ)物柜,快速掃描各種一維二維條碼

指針數(shù)組和二維數(shù)組有沒有區(qū)別
二維碼識(shí)讀設(shè)備有哪些類型

labview按行讀取二維數(shù)組之后再按讀取順序重新組成二維數(shù)組如何實(shí)現(xiàn)?
請(qǐng)問labview是否無法向matlab傳遞3維數(shù)組
二維力傳感器怎么安裝,在安裝二維力傳感器的安裝步驟

評(píng)論