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

internet lte

Internet 3G będzie tylko wspomnieniem. Orange zastępuje go LTE

Do końca tego roku, użytkownicy sieci Orange, zyskają – w kolejnych lokalizacjach – lepszy zasięg nowoczesnej sieci…

komunikator

Jak odzyskać po latach konto Gadu-Gadu i archiwalne rozmowy?

Odzyskanie konta Gadu-Gadu niewątpliwie kusi – kto nie chciałby zajrzeć o czym i jak pisał przed kilkoma…

gry online internet

Wściekasz się, bo internet w trakcie gry jest za słaby? Tak można to poprawić

Osiągnięcie optymalnej prędkości internetu jest kluczowe dla każdego gracza online. Stabilne i szybkie połączenie może decydować o wygranej…

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