Как да конвертирате numpy масив в изображение с Pillow?

Nov 13, 2025

Остави съобщение

Оливия Дейвис
Оливия Дейвис
Оливия е маркетинг специалист в Suzhou Dongying. Тя популяризира услугите за рисуване на компанията, които покриват повърхностната боя за малки - средни размери електронни продукти и големи автомобилни части, тъй като фабриката за рисуване е създадена през 2019 г.

Здравейте! Като доставчик на Pillow често ме питат как да конвертирам масив NumPy в изображение с помощта на Pillow. Това е супер полезно умение, особено ако се занимавате с визуализация на данни, обработка на изображения или просто искате да превърнете числените си данни в нещо, което наистина можете да видите. Така че, нека се потопим направо и да изследваме този процес стъпка по стъпка.

Първо, нека поговорим малко за това какво представляват NumPy и Pillow. NumPy е мощна библиотека на Python за работа с големи, многоизмерни масиви и матрици, заедно с голяма колекция от математически функции на високо ниво за работа с тези масиви. От друга страна, Pillow е приятелско разклонение на Python Imaging Library (PIL), което ви позволява да отваряте, манипулирате и запазвате много различни файлови формати на изображения.

Предпоставки

Преди да започнем, уверете се, че сте инсталирали NumPy и Pillow във вашата Python среда. Можете да ги инсталирате с помощта напипако още не сте:

pip инсталирайте numpy възглавница

Основният процес

Основната идея зад преобразуването на масив NumPy в изображение с Pillow е да се създаде PillowИзображениеобект от масива NumPy. Ето един прост пример:

20250331093913120250330034700

импортиране на numpy като np от PIL импортиране на изображение # Създаване на прост масив NumPy # Нека създадем масив 100x100, пълен с произволни цели числа между 0 и 255 arr = np.random.randint(0, 256, (100, 100), dtype=np.uint8) # Преобразуване на масива NumPy в изображение на възглавница img = Image.fromarray(arr) # Запазете изображението img.save('random_image.png')

В този код първо импортираме необходимите библиотеки. След това създаваме масив 100x100 NumPy, пълен с произволни цели числа в диапазона от 0 до 255.dtype=np.uint8е важно, защото Pillow очаква стойностите на пикселите да бъдат в диапазона от 0 - 255 и от типuint8.

След това използвамеImage.fromarray()метод, предоставен от Pillow за преобразуване на масива NumPy вИзображениеобект. Накрая запазваме изображението като PNG файл с помощта назапази ()метод.

Работа с различни режими на изображение

Възглавницата поддържа различни режими на изображение, като „L“ (сива скала), „RGB“ (цвят) и „RGBA“ (цвят с прозрачност). Нека видим как можем да се справим с тези различни режими при конвертиране от масив NumPy.

Изображения в нива на сивото

За изображения в нива на сивото можем да използваме режима „L“. Ето един пример:

import numpy as np from PIL import Image # Създаване на 200x200 grayscale NumPy масив arr = np.random.randint(0, 256, (200, 200), dtype=np.uint8) # Конвертиране в изображение на възглавница в режим на сивото img = Image.fromarray(arr, mode='L') # Запазване на изображението в сивата скала img.save('grayscale_image.png')

Цветни изображения (RGB)

За да създадем цветно изображение, имаме нужда от триизмерен масив NumPy, където третото измерение представлява червения, зеления и синия канал.

import numpy as np from PIL import Image # Създаване на 150x150 RGB NumPy масив arr = np.random.randint(0, 256, (150, 150, 3), dtype=np.uint8) # Конвертиране в изображение на възглавница в режим RGB img = Image.fromarray(arr, mode='RGB') # Запазване на цветното изображение img.save('color_image.png')

Изображения с прозрачност (RGBA)

Ако искате да създадете изображение с прозрачност, можете да използвате режима „RGBA“. В този случай масивът NumPy трябва да има четвърто измерение за алфа канала.

import numpy as np from PIL import Image # Създаване на 120x120 RGBA NumPy масив arr = np.random.randint(0, 256, (120, 120, 4), dtype=np.uint8) # Конвертиране в изображение на възглавница в режим RGBA img = Image.fromarray(arr, mode='RGBA') # Запазване на изображението с прозрачност img.save('rgba_image.png')

Практически приложения

Преобразуването на масиви NumPy в изображения може да бъде наистина полезно в много сценарии. Например при машинно обучение може да искате да визуализирате изхода на невронна мрежа. Ако изходът е масив NumPy, можете лесно да го конвертирате в изображение, за да видите какво произвежда моделът.

Друго приложение е в научните изследвания. Може да имате числени данни от експеримент и преобразуването им в изображение може да ви помогне да забележите по-лесно модели и тенденции.

Допълнителни ресурси

Ако се интересувате от по-усъвършенствана обработка на изображения с Pillow, можете да разгледате някои от нашите свързани продукти. Например, имаме някои страхотниШина UVWпродукти, които могат да се използват в различни индустриални приложения. Освен това, ако обичате автоматизирани процеси, нашитеСиликоновите стоманени листове се подреждат автоматичнорешения може да представляват интерес. И разбира се, не забравяйте да разгледате нашияКалъфка за възглавницаопции за защита на вашите ценни изображения.

Заключение

Преобразуването на масив NumPy в изображение с Pillow е лесен процес, след като разберете основите. Независимо дали работите върху сива скала, цвят или изображения с прозрачност, Pillow предоставя необходимите инструменти, за да се случи това.

Ако искате да използвате Pillow за вашите проекти и се нуждаете от висококачествени продукти Pillow, ние сме тук, за да ви помогнем. Ние предлагаме широка гама от артикули, свързани с възглавници, които могат да подобрят изживяването ви при обработка на изображения. Не се колебайте да се свържете с нас за доставка и да започнете страхотни бизнес отношения.

Референции

  • Документация на NumPy
  • Документация за възглавници
Изпрати запитване