Как открыть картинку в python
Перейти к содержимому

Как открыть картинку в python

  • автор:

Как открыть картинку через Python?

Чтобы открыть картинку, используя приложение по умолчанию, на Windows:

#!/usr/bin/env python import os os.startfile(r'D:\picture.jpg') 

Отслеживать
ответ дан 31 мар 2015 в 21:45
52.2k 11 11 золотых знаков 108 108 серебряных знаков 311 311 бронзовых знаков

Открыть наверное значит загрузить для показа (или обработки)? Если да то попробуйте через PIL, примерно так:

from PIL import Image #. img = Image.open(r'D:\picture.jpg') img.show() 

Отслеживать
47.5k 17 17 золотых знаков 56 56 серебряных знаков 99 99 бронзовых знаков
ответ дан 8 мар 2015 в 12:39
928 1 1 золотой знак 6 6 серебряных знаков 17 17 бронзовых знаков

Похоже, что человек хочет открыть ее в приложении по умолчанию, и при запуске из PyCharm что-то не так с окружением.

9 мар 2015 в 2:37
если использовать PIL, то картинка должна быть в папке с проектом?
9 мар 2015 в 14:09
Она может быть где угодно.
9 мар 2015 в 14:16

если обратный слэш есть в пути, то лучше r» константу использовать (в данном случае это не важно, так как ‘\p’ == r’\p’ , но в общем случае ‘\t’ != r’\t’ ).

31 мар 2015 в 21:43

Попробуйте так (картинка откроется в веб-браузере):

import webbrowser webbrowser.open(r"D:\picture.jpg") 

Отслеживать
47.5k 17 17 золотых знаков 56 56 серебряных знаков 99 99 бронзовых знаков
ответ дан 17 мар 2015 в 4:36
Алексей Лобанов Алексей Лобанов
1,202 9 9 серебряных знаков 22 22 бронзовых знака

Вы можете это сделать, например, с помощью специализированных библиотек для обработки изображений и обработки данных. opencv требует установки дополнительных пакетов. Но, при этом, позволяет, помимо прочего, широкий спектр возможностей для обработки изображений. Вторая matplotlib устанавливается легко, интегрируется в pyCharm и позволяет использовать довольно удобный встроенный интерфейс для просмотра. К сожалению, эта библиотека не предоставляет возможности для обработки изображений, а только для их визуализации.

введите сюда описание изображения

Opencv

import cv2 img = cv2.imread('x.jpg', 0) cv2.imshow('', img) cv2.waitKey(0) 

matplotlib:

from matplotlib import pyplot as plt img = plt.imread('x.jpg') plt.imshow(img) plt.show() 

matplotlib:

введите сюда описание изображения

введите сюда описание изображения

opencv:

Установка opencv:

sudo apt-get install -y cmake make libsm6 libxext6 libxrender-dev git clone https://github.com/opencv/opencv.git mkdir ./opencv/build cd ./opencv/build cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local .. make -j4 make install 

Флаг j указывает число процессов, которые будут использованы при установке

Установка matplotlib:

pip install matplotlib pip install pillow 

Если библиотека pillow не будет установлена, то можно будет пользоваться только * .png

Инструменты для работы с изображениями в Python и Pillow

Инструменты для работы с изображениями в Python и Pillow

Автор телеграм-канала CODE BLOG Вадим Шванов написал для нас статью о работе с изображениями c использованием языка Python и Pillow. В ней он рассматривает основы работы с изображениями в Python, показывает, как создать фильтры для фотографий в библиотеке Pillow, преобразовать изображение в массив в библиотеке NumPy и использовать matplotlib для настраиваемого вывода результата на экран. Дочитайте до конца: там вы найдете ссылку на .ipynb-документ со всем используемым кодом, который вы сможете загрузить.

Кому это нужно?

  • создание своего фоторедактора;
  • создание масок для Instagram;
  • анализ и распознавание образов в компьютерном зрении.

Освойте профессию
«Fullstack-разработчик на Python»

Fullstack-разработчик на Python

Fullstack-разработчики могут в одиночку сделать IT-проект от архитектуры до интерфейса. Их навыки востребованы у работодателей, особенно в стартапах. Научитесь программировать на Python и JavaScript и создавайте сервисы с нуля.

картинка - 2023-03-14T190323.524

Профессия / 12 месяцев
Fullstack-разработчик на Python

Создавайте веб-проекты самостоятельно

dffsdd (3)

А я справлюсь?

В инструкции используются простые операции, поэтому она подойдет для новичков — достаточно уметь немного кодить на Python.

Установка пакетов

NumPy и matplotlib можно установить с помощью пакетного менеджера pip, запустив следующие команды в терминале:

pip install numpy
pip install matplotlib

С Pillow сложнее: Python старше версии 3.6 поддерживает установку этого пакета через pip, а с другими версиями может возникнуть ошибка. Совместимость версий можно посмотреть тут.

Для этого примера в качестве среды разработки выбран Jupyter Notebook.

Начало работы

Импортируйте все необходимые модули и загрузите изображение в объект Python:

Как правило, NumPy импортируется с псевдонимом np, а matplotlib.pyplot — plt.

Загрузите изображение с помощью функции open() подмодуля Image:

Jupyter Notebook выводит изображения по их имени. Вот то самое изображение, путь к которому мы передали в функцию:

Далее мы создадим свою функцию, чтобы у нас была возможность добавить надпись над фотографией (заголовок) или изменить ее размер.

Вывод изображений с matplotlib

Это функция, которую мы будем использовать далее:

Она принимает два параметра: img — массив, который вы получили из исходной фотографии, и title — заголовок, который по умолчанию имеет значение None. Измените размеры фигуры на 6×6, чтобы сделать вывод изображения больше, и выведите его на экран. Также проверьте, был ли указан заголовок. Если нет — установите его с помощью функции title(). Выключите пометки на осях, указав ‘off’ в функции axis().

Станьте Fullstack-разработчик на Python и найдите стабильную работу
на удаленке

Как сделать изображение черно-белым

Здесь мы будем использовать метод convert() класса изображения PIL.

Функция выглядит просто:

Мы представили изображение в RGB-формате, то есть каждый пиксель имеет три значения: красный (R), зеленый (G) и синий (B). Оттенки серого получаются, когда все эти три значения равны. Есть известная формула яркости пикселя:

Но Pillow использует свои коэффициенты:

Изображение потеряло в качестве из-за того, что его растянули с помощью matplotlib.

Станьте Fullstack-разработчик на Python и найдите стабильную работу
на удаленке

Как переформатировать изображение в массив

Теперь мы будем использовать инструменты NumPy, поэтому желательно конвертировать изображение в np.array:

Конструктор массива принимает изображение в качестве аргумента и создает такой массив. Форму массива можно узнать с помощью поля shape.

224×225 — размеры нашего изображения. «3» появляется из-за того, что каждый пиксель представлен тремя значениями.

Как добавить фильтр «Негатив»

Значения цветов могут меняться от 0 до 255. Негатив — эффект инвертирования цветов. Достигается он просто: от 255 нужно отнять значение цвета. Так как все операции над массивом NumPy выполняются поэлементно, то мы отнимем от 255 текущий массив:

С помощью функции show() оценим результат:

Как отзеркалить изображение

Следующая задача — отражение изображения слева направо (т. е. правая и левая стороны изображения меняются местами). В NumPy есть функция fliplr. Про ее применение можно найти информацию здесь.

Передайте исходный массив в fliplr:

Этот фрагмент кода не изменяет массив, а возвращает новый, что нам и нужно. Оценим результат работы:

Как добавить эффект

Идея этого эффекта проста — нужно сделать изображение как можно синее. Для этого замените каждое третье «значение пикселя» на максимальное — 255.

Здесь нужно поменять сам массив, и, чтобы не потерять исходное изображение, скопируйте последовательность с помощью np.copy().

Другой вариант конструкции:

Весь код из статьи вы сможете найти в этом документе.

Python-сообщество

[RSS Feed]

  • Начало
  • » Mobile Python
  • » Открыть картинку

#1 Сен. 30, 2017 20:55:12

yazva Зарегистрирован: 2017-09-30 Сообщения: 3 Репутация: 0 Профиль Отправить e-mail

Открыть картинку

Всем здравствуйте, я новичок в питоне, и нужно чтобы в андроиде(использую QPython3) открыть (запустить для показа) картинку
в пк использовал такой код, но на телефоне не прокатило

#!/usr/bin/env python import os os.startfile(r'D:\picture.jpg') 

Еще попробовал такой код но не сработало

import webbrowser webbrowser.open(r"D:\picture.jpg") 

заранее спасибо

Отредактировано yazva (Сен. 30, 2017 20:55:28)

Обработка и генерация изображений в Python. Библиотека Pillow

Обработка и генерация изображений в Python. Библиотека Pillow

Нередко нам нужно изменить размер картинки, кропнуть ее, наложить текст и так далее. Все это можно автоматизировать с помощью Python и библиотеки Pillow.

Установка Pillow

Установка производится через pip3. Вводим в консоль:

pip3 install pillow

Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей

Начало работы с библиотекой

Для начала нам нужно инициализировать библиотеку в нашем скрипте:

from PIL import Image

В папку со скриптом поместим произвольное изображение. Файл назовем test.jpg.

Теперь откроем изображение через метод в библиотеке:

from PIL import Image img = Image.open('test.jpg') img.show()

На экране у нас отобразилось изображение, которое мы добавили в папку:

Pillow Python

Для просмотра основной информации об изображении с помощью Pillow используем следующие методы:

from PIL import Image img = Image.open('test.jpg') print(img.format) # Просмотр формата изображения. Выведет 'JPEG' print(img.mode) # Просмотр типа цветового пространства. Выведет 'RGB' print(img.size) # Просмотр размера изображения. Выведет (568, 305) print(img.filename) # Просмотр имени файла. Выведет 'test.jpg' r, g, b = img.split() histogram = img.histogram() print(histogram) # Просмотр значений RGB изображения. Выведет 1750, 255, 267, 237, 276, 299…

Обрезка изображений

В Pillow есть методы для кропа (обрезки) изображений. Обрежем наше изображение с помощью метода crop(), передав в параметры координаты обрезки:

from PIL import Image img = Image.open('test.jpg') cropped = img.crop((0, 0, 100, 200)) cropped.save('cropped_test.jpg') img = Image.open('cropped_test.jpg') img.show()

После выполнения данного кода, получим следующее изображение:

Фото в Pillow Python

Поворот изображений

С помощью метода Image.rotate() мы можем поворачивать изображение как нам угодно. В скобках указываем количество градусов, на которое нужно повернуть изображение. Рассмотрим на примере:

from PIL import Image img = Image.open('test.jpg') rotated = img.rotate(180) rotated.save('rotated_test.jpg') img = Image.open('rotated_test.jpg') img.show()

Поворот изображений в Pillow Python

Конвертируем из JPG в PNG с помощью Pillow

Для конвертации нам понадобится открыть изображение и просто сохранить его в другом формате. Рассмотрим на примере:

from PIL import Image img = Image.open('test.jpg') img.save('test_png.png', 'png')

Получаем такое же изображение, но в формате PNG.

Изменение размера изображений

Чтобы изменить размер изображения используем метод resize(). Рассмотрим это на примере:

from PIL import Image img = Image.open('test.jpg') img = img.resize((170, 100), Image.ANTIALIAS) img.save('test_text.jpg') img = Image.open('test_text.jpg') img.show()

Кроп в Pillow Python

Пишем текст на изображениях

Для наложения текста на изображение в Pillow существует метод text(), но для начала нужно добавить шрифт. Рассмотрим на примере:

from PIL import Image, ImageDraw, ImageFont img = Image.open('test.jpg') font = ImageFont.truetype("arial.ttf", size=20) idraw = ImageDraw.Draw(img) idraw.text((25, 25), 'TEST test TeSt', font=font) img.save('test_text.jpg') img = Image.open('test_text.jpg') img.show()

Получим изображение с текстом:

Текст на изображении - Pillow Python

Генерация пустого изображения

Для создания пустого холста (изображения) используем метод Image.new(). Рассмотрим на примере:

from PIL import Image, ImageDraw, ImageFont img = Image.new('RGB', (200, 200), 'black') img.save('test1.jpg') img = Image.open('test1.jpg') img.show()

Получаем черный квадрат:

Работа с Pillow Python

Теперь давайте нарисуем на этом квадрате белый прямоугольник:

from PIL import Image, ImageDraw, ImageFont img = Image.new('RGB', (200, 200), 'black') idraw = ImageDraw.Draw(img) idraw.rectangle((0, 0, 100, 100), fill='white') img.save('test1.jpg') img = Image.open('test1.jpg') img.show()

Рисование в Pillow Python

Вывод

Мы разобрали основные методы библиотеки Pillow в Python: научились писать текст на изображениях, изменять размер, поворачивать их и даже обрезать.

Надеюсь, статья была полезна для вас. Удачи!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *