Porady

Musisz zmienić sporo różnych zdjęć do jednego wymiaru? Oto, jak to zrobić dzięki… Pythonowi

programowanie zdjęcia

Masowa zmiana wymiarów zdjęć – nie kompresji oryginałów, ale np. Przeskalowanie z 1920×1080 do 2000x1550px – wydaje się być bardzo czasochłonna. Ale… niekoniecznie. Oto, jak można to zrobić wykorzystując internet i dosłownie symboliczną znajomość Pythona.

Załóżmy, że masz 120 zdjęć, z których każdy ma inny wymiar wyjściowy. Chcesz, by wszystkie były ujednolicone – np. pod kątem wydruku w fotoksiążce. Jak to zrobić?

Pierwsze skojarzenie? Ręcznie – tylko, że to oznacza godziny żmudnych edycji chociażby w IfranView.

Tymczasem można wykorzystać szybką komendę Pythona, by zeskalować zdjęcia automatycznie.

Oto przykładowy mechanizm w języku Python, który może zmienić wele zdjęć JPG do wymiaru np. 2000×1500 pikseli. Do tego mechanizmu wystarczy biblioteka PIL (Python Imaging Library) lub Pillow – jeśli korzystasz z Pythona 3.

Treść kodu:

python

Copy code

from PIL import Image

import os

def zmien_wymiary_zdjec(nazwa_folderu_wejsciowego, nazwa_folderu_wyjsciowego, szerokosc, wysokosc):

    if not os.path.exists(nazwa_folderu_wyjsciowego):        os.makedirs(nazwa_folderu_wyjsciowego)

    for plik in os.listdir(nazwa_folderu_wejsciowego):

        if plik.endswith(„.jpg”):

            sciezka_wejsciowa = os.path.join(nazwa_folderu_wejsciowego, plik)

            sciezka_wyjsciowa = os.path.join(nazwa_folderu_wyjsciowego, plik)           

            obrazek = Image.open(sciezka_wejsciowa)

            obrazek = obrazek.resize((szerokosc, wysokosc), Image.ANTIALIAS)

            obrazek.save(sciezka_wyjsciowa)

nazwa_folderu_wejsciowego = „sciezka/do/folderu/wejsciowego”

nazwa_folderu_wyjsciowego = „sciezka/do/folderu/wyjsciowego”

szerokosc = 2000

wysokosc = 1414

zmien_wymiary_zdjec(nazwa_folderu_wejsciowego, nazwa_folderu_wyjsciowego, szerokosc, wysokosc)

Diabeł tkwi w szczegółach. Trzeba się bowiem upewnić, iż podmienisz „sciezka/do/folderu/wejsciowego” na ścieżkę do folderu, w którym znajdują się twoje zdjęcia wejściowe. Podmień również „sciezka/do/folderu/wyjsciowego” na ścieżkę do folderu, w którym chcesz zapisać przetworzone zdjęcia wyjściowe.

W praktyce kod ten otwiera każde zdjęcie z rozszerzeniem „.jpg” w folderze wejściowym, zmienia jego rozmiar na podane wymiary i zapisuje przetworzony obraz w folderze wyjściowym.

A co jeśli nie jesteś programistą?

Nie musisz przecież wiedzieć, jak używać języka komend. I tu internet może pozytywnie zaskoczyć.

Teoretycznie, aby uruchomić ten kod na komputerze, musisz mieć zainstalowany Python w wersji 3.x oraz bibliotekę PIL (lub Pillow). Uruchamiając kod otwórz terminal lub wiersz polecenia, przejdź do folderu, w którym znajduje się plik „zmien_wymiary.py” (używając polecenia cd) i wpisz następujące polecenie:

Copy code

python zmien_wymiary.py

Polecenie to uruchomi kod i rozpocznie przetwarzanie zdjęć.

Po wykonaniu tych kroków kod powinien rozpocząć przetwarzanie zdjęć i zapisać zmienione wersje o wybraych wymiarach  w wybranym folderze wyjściowym.

Można to jednak zrobić również… online w przeglądarce. Wystarczy wykorzystać możliwości środowiska Python online lub platformy do notatników Jupyter online.

Przykładem jest Replit (https://replit.com) lub trinket (https://trinket.io). One umożliwiają  uruchamianie kodu Pythona w przeglądarce bez konieczności instalowania go na komputerze. Wystarczy więc skopiować powyższy kod do odpowiedniego środowiska, zmodyfikować ścieżki folderów i uruchomić go bezpośrednio w przeglądarce.

Zaskakująco proste, prawda?

internet 5G oferty promocje ceny
0 0 votes
Article Rating
Subscribe
Powiadom o
0 komentarzy
Inline Feedbacks
View all comments

Najnowsze artykuły

światłowód orange

Orange na światłowód wydał już, bagatela, aż 4 miliardy złotych

Podsumowanie inwestycji Orange Polska w ramach POPC: ponad 400 tys. domów i 3 tys. szkół w zasięgu światłowodu.

wideodomofon

Uruchomiłem w domu Google Home i byłem sceptykiem. Jestem zachwycony!

Google Home dla niektórych to utrata prywatności w domu i nadmiar technologicznego świata w miejscu, gdzie chce się odpocząc.

e-commerce

Jakich rzeczy nie będzie można zwrócić po zakupie przez internet?

Kupując produkty online, nie zawsze jesteśmy pewni, jak produkt będzie prezentować się na żywo oraz czy spełni…

Porównaj najlepsze oferty operatorów
oszczędź nawet 50%

Pan Wybierak – bezpłatna porównywarka najlepszych ofert operatorów

Panwybierak.pl to porównywarka ofert dostawców Internetu, telewizji i telefonu. W jednym miejscu porównasz najlepsze oferty dostępne w Twoim budynku. Zamawiając na panwybierak.pl nie ponosisz żadnych dodatkowych kosztów, ustalimy dla Ciebie dogodny i szybki termin bezpłatnej dostawy usług i umowy.

testimonial.author

To jedna z najbardziej kompletnych wyszukiwarek, z trafnym dopasowaniem ofert internetu, telewizji kablowej i telekomów do adresu zamieszkania, z której bardzo chętnie korzystają nasi czytelnicy – polecamy!

mobiRANK.pl
testimonial.author

Pan Wybierak to świetny serwis, dzięki któremu nie tylko poznałem wszystkie możliwe warianty instalacji internetu w moim miejscu zamieszkania, ale także odkryłem naprawdę tanią ofertę. Ogólnie - rewelacja!

Paweł z Krakowa

Mówią o nas

  • UKE
  • antyweb logo
  • speedtest logo
  • money logo
  • wirtualna polska