0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Python將二維數(shù)組輸出為圖片

jf_96884364 ? 來源:jf_96884364 ? 作者:jf_96884364 ? 2023-01-11 16:18 ? 次閱讀

原文鏈接

使用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ù)用于生成一個300*500的矩陣,矩陣大部分值為0,在坐標(20, 20)處有一個40*80的區(qū)域,值為1。

矩陣轉(zhuǎn)為的圖片保存在與代碼同級的目錄下,圖片為:

如果不能正常顯示圖片,出現(xiàn)報錯:

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”,即可完成配置。再次啟動,就能正常顯示了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 代碼
    +關注

    關注

    30

    文章

    4700

    瀏覽量

    68110
  • python
    +關注

    關注

    54

    文章

    4759

    瀏覽量

    84298
  • 數(shù)組
    +關注

    關注

    1

    文章

    412

    瀏覽量

    25867
收藏 人收藏

    評論

    相關推薦

    labview按行讀取二維數(shù)組之后再按讀取順序重新組成二維數(shù)組如何實現(xiàn)?

    labview用了index Array按索引一行行讀取二維數(shù)組之后想再按讀取順序重新組成一個二維數(shù)組如何實現(xiàn),即第一次讀取的作為第一行,第
    發(fā)表于 10-25 21:06

    請問labview是否無法向matlab傳遞3數(shù)組

    經(jīng)過一些測試,發(fā)現(xiàn)在matlab script中只能傳二維數(shù)組,利用打包.net庫,好像還是只能傳遞二維數(shù)組。 是不是從底層就不支持,這兩種語言的三
    發(fā)表于 10-22 20:14

    二維力傳感器怎么安裝,在安裝二維力傳感器的安裝步驟

    二維力傳感器是一種精密的測量設備,用于檢測物體在平面內(nèi)的力和力矩。為了確保其測量結(jié)果的準確性和穩(wěn)定性,正確的安裝步驟至關重要。本文詳細介紹二維力傳感器的安裝方法。
    的頭像 發(fā)表于 09-27 17:14 ?164次閱讀
    <b class='flag-5'>二維</b>力傳感器怎么安裝,在安裝<b class='flag-5'>二維</b>力傳感器的安裝步驟

    Labview生成二維

    ?Labview 的一個Demo,生成二維碼。
    發(fā)表于 08-01 17:12 ?6次下載

    技術|二維PDOA平面定位方案

    一、方案概述二維平面定位系統(tǒng),采用UWB定位技術,精度可到30cm。通過PDOA算法,可實現(xiàn)單基站二維平面的實時人員定位,增強對危險區(qū)域的管控,有效預防安全事故發(fā)生。面對突發(fā)情況,能做到及時報警響應
    的頭像 發(fā)表于 06-04 14:53 ?725次閱讀
    技術|<b class='flag-5'>二維</b>PDOA平面定位方案

    數(shù)組的轉(zhuǎn)換到二維數(shù)組后的行列增減問題

    請大佬指點,如VI,兩個求助點: 1、一數(shù)組大小,在停止Vi前把數(shù)組大小增加到4,在循環(huán)外設置了一數(shù)組的行數(shù)
    發(fā)表于 05-11 00:25

    飛凌嵌入式ElfBoard ELF 1板卡-在線二維碼生成器

    在線二維碼生成器允許用戶文本、網(wǎng)址、圖片或其他數(shù)據(jù)轉(zhuǎn)換為二維碼形式。二維碼是一種特殊類型的條形碼,它可以通過掃描來快速識別和讀取信息。在線
    發(fā)表于 04-24 17:00

    二維圖片框 在 鼠標處 滾輪 縮放 圖片,像 CAD 一樣,,

    大家好,如何實現(xiàn),二維圖片框 在 鼠標處 滾輪 縮放 圖片,像 CAD 一樣,,*附件:圖片在鼠標處縮放.rar
    發(fā)表于 01-07 21:02

    二維材料增強光纖

    ? 二維材料可用于涂覆光纖以增強非線性相互作用,構(gòu)建未來非線性和超快激光系統(tǒng)開辟新途徑。NIR 和 SWIR 光譜測量并量化輸出特性和光學行為。石墨烯和過渡金屬硫?qū)倩?(TMD)
    的頭像 發(fā)表于 12-01 06:34 ?321次閱讀

    數(shù)組轉(zhuǎn)為二維python

    數(shù)組轉(zhuǎn)為二維數(shù)組是一個常見的問題,特別是在處理數(shù)據(jù)時。一
    的頭像 發(fā)表于 11-23 14:54 ?4705次閱讀

    python列表和數(shù)組的區(qū)別

    Python是一種功能強大的編程語言,開發(fā)者提供了許多數(shù)據(jù)結(jié)構(gòu)來處理和操作數(shù)據(jù)。其中,列表和數(shù)組是常用的數(shù)據(jù)結(jié)構(gòu),用于存儲和組織一系列元素。在本文中,我們詳細比較
    的頭像 發(fā)表于 11-21 15:13 ?2123次閱讀

    python如何定義二維數(shù)組

    Python中,可以通過使用列表嵌套的方式來定義二維數(shù)組。具體步驟如下: Step 1: 創(chuàng)建一個空的二維列表 要創(chuàng)建一個空的二維
    的頭像 發(fā)表于 11-21 15:12 ?1566次閱讀

    python怎么創(chuàng)建二維數(shù)組

    如何創(chuàng)建二維數(shù)組Python中是一個常見的問題。在Python中,我們可以使用嵌套的列表(list of lists)或者使用NumPy庫來創(chuàng)建
    的頭像 發(fā)表于 11-21 15:10 ?3491次閱讀

    數(shù)組如何用下標表示指針

    比如題目中聲明的這個,就是由4個5行3列的二維數(shù)組組成。把這些二維數(shù)組編個號,就是 0 1 2 3。
    的頭像 發(fā)表于 11-14 10:38 ?667次閱讀
    三<b class='flag-5'>維</b><b class='flag-5'>數(shù)組</b>如何用下標表示指針

    制造二維TMD晶體管面臨的挑戰(zhàn)

    學術界和工業(yè)界已經(jīng)提出二維(2D)過渡金屬摻雜化合物(TMD)半導體作為未來取代物理柵極長度小于10納米的硅晶體管的一種選擇。在這篇評論中,我們分享了基于堆疊二維TMD納米帶制造互
    的頭像 發(fā)表于 11-07 09:55 ?1230次閱讀
    制造<b class='flag-5'>二維</b>TMD晶體管面臨的挑戰(zhàn)