[PYTHON] Ich habe ein Skript geschrieben, das das Bild in zwei Teile teilt

Einführung

Ich habe Python bei AtCoder studiert. Als ich nach und nach lernte, wie man es schreibt, wollte ich ein praktisches Skript schreiben, also beschloss ich, das zu machen, was ich brauchte.

Umgebung

OS:Ubuntu 20.04LTS Sprache: Python 3.8.2 Die Version von Pillow ist 7.0.0.

Zweck / Verwendung

Verwenden Sie diese Option, wenn Sie ein horizontal langes Bild vertikal in zwei Hälften teilen möchten. Verwenden Sie diese Option, wenn Sie verteilte Materialien auf Ihrem Smartphone lesen.

Code

imagehalf


import glob
from PIL import Image
import os

files = glob.iglob('/home/user/images/*.jpg')

for f in files:
    img = Image.open(f)
    x, y = img.size

    box = img.crop((0, 0, x//2, y))
    title, ext = os.path.splitext(f)
    box.save(title + 'half1' + ext, quality=75)

    box = img.crop((x//2+1, 0, x, y))
    title, ext = os.path.splitext(f)
    box.save(title + 'half2' + ext, quality=75)

    os.remove(f)

Codebeschreibung

Erstellen Sie ein Verzeichnis mit dem Namen "images" in Ihrem Home-Verzeichnis und verwenden Sie es für die Arbeit. Erkennt alle Dateien mit der Erweiterung .jpg, die in Bildern gespeichert sind. Beginnen Sie oben links im Bild, ermitteln Sie die Zwischenkoordinaten in Richtung der x-Achse und teilen Sie das Bild in zwei Hälften. Speichern Sie die linke Seite des Bildes in zwei Hälften geteilt als "ursprünglicher Dateiname + halbe1 + Erweiterung". Speichern Sie die rechte Seite des Bildes in zwei Hälften geteilt als "ursprünglicher Dateiname + halbe2 + Erweiterung". Löschen Sie das Originalbild.

※Hinweis Ich denke, dass die Skriptdatei funktioniert, wenn sie auf derselben Ebene wie das Arbeitsverzeichnis und im Ausgangsverzeichnis abgelegt wird. Die Bilddatei, aus der sie aufgeteilt wurde, wird anstelle des Papierkorbs gelöscht. Es kann nicht wiederbelebt werden.

abschließend

Da dies das erste Skript ist, das ich erstellt habe, sind der Schreibstil und die Umgebungseinstellungen möglicherweise falsch. Wenn Sie eine intelligentere Schreibweise haben, weisen Sie bitte darauf hin. Bitte verzeihen Sie die Verantwortung für dieses Skript.

Recommended Posts

Ich habe ein Skript geschrieben, das das Bild in zwei Teile teilt
Ein Memo, das ich schnell in Python geschrieben habe
Ich habe ein PyPI-Modul geschrieben, das den Parameterstil in Pythons sqlite3-Modul erweitert
Ich habe ein Skript geschrieben, um die Schluckuhr wiederzubeleben, die bald sterben wird
Ich habe ein Skript geschrieben, um eine beliebte Seite in Japan zu bekommen
Ich habe die Warteschlange in Python geschrieben
Python-Skript, das den Inhalt zweier Verzeichnisse vergleicht
Ich habe ein Python-Skript geschrieben, das alle meine Beiträge mit der Qiita API v2 exportiert
Ich habe ein Programm erstellt, das die Fehlersuche in Sekunden löst
Ich habe eine Funktion zum Laden des Git-Erweiterungsskripts in Python geschrieben
Ich habe ein Skript geschrieben, um Webseiten-Links in Python zu extrahieren
Ich habe den Gleitflügel in der Schöpfung geschrieben.
AtCoder-Autor Ich habe ein Skript geschrieben, das Wettbewerbe für jeden Autor zusammenfasst
Ich habe einen Korpusleser geschrieben, der die Ergebnisse der MeCab-Analyse liest
Ich habe eine Klasse in Python3 und Java geschrieben
Programm zur Suche nach demselben Bild
Ich habe ein Designmuster in der Kotlin Prototype Edition geschrieben
Ich habe ein Skript geschrieben, um ein WordPress-Plug-In hochzuladen
Ich habe einen japanischen Parser auf Japanisch mit Pyparsing geschrieben.
Ich habe einen LINE BOT erstellt, der mithilfe der Flickr-API ein Bild von Reis-Terroristen zurückgibt
Beachten Sie, dass ich den Algorithmus der kleinsten Quadrate verstehe. Und ich habe es in Python geschrieben.
Ich habe ein Designmuster in der Kotlin Factory Edition geschrieben
Ich habe ein Designmuster in der Kotlin Builder Edition geschrieben
Ich habe ein Designmuster in der Kotlin Singleton Edition geschrieben
Ich habe ein Designmuster in der Kotlin Adapter Edition geschrieben
Ich habe ein Skript erstellt, um ein Snippet in README.md einzufügen
Ich habe ein Designmuster in Kotlin geschrieben, das von Iterator bearbeitet wurde
Versuchen Sie, das Bild in einen separaten Thread zu laden (OpenCV-Python).
Was ist in dieser Variablen (wenn das Python-Skript ausgeführt wird)?
Ein Memo, dass ich den Datenspeicher mit Python berührt habe
Ich habe ein Designmuster in der Kotlin Template Edition geschrieben
Beachten Sie, dass ich süchtig nach dem npm-Skript war, das in der Überprüfungsumgebung nicht übergeben wurde
Ich habe das Windows PowerShell-Kochbuch durch ein Python-Skript ersetzt.
Ich habe Python auf Japanisch geschrieben
Ich habe den Super-Resolution-Algorithmus "PULSE" in einer Windows-Umgebung ausprobiert
Mezzanine-Einführungsnotiz, dass ich im Fluss stecken geblieben bin
Ein Python-Skript, das ein GTK-Bild (Clipboard) in einer Datei speichert.
Ein Skript, das die in CSV geschriebenen URLs der Reihe nach öffnet und einen Vollbild-Screenshot erstellt
Ich habe die Grundoperation von Seaborn im Jupyter Lab geschrieben
Erstellen wir ein Skript, das sich bei Ideone.com in Python registriert.
Hinweise zum Einbetten der Skriptsprache in Bash-Skripte
Hinweis 2 zum Einbetten der Skriptsprache in ein Bash-Skript
Wörter, die mich als Programmieranfänger interessiert haben
Erstellen eines Python-Skripts, das die e-Stat-API unterstützt (Version 2)
Ich habe mit LightGBM einen Code geschrieben, der die Wiederherstellungsrate von 100% bei der Vorhersage von Pferderennen überschreitet (Teil 2).
Ich habe versucht, "ein Programm, das doppelte Anweisungen in Python entfernt"
Verarbeiten Sie die Dateien im Ordner in der Reihenfolge mit dem Shell-Skript
Ich habe ein Punktbild des Bildes von Irasutoya gemacht. (Teil 1)
Ich habe es in der Sprache Go geschrieben, um das SOLID-Prinzip zu verstehen
Gibt es eine Verzerrung in den Zahlen, die in den Fibonacci-Zahlen erscheinen?
Ich habe die Grundoperation von Numpy im Jupyter Lab geschrieben.
Ich schrieb einen Test in "Ich habe versucht, die Wahrscheinlichkeit eines Bingospiels mit Python zu simulieren".
Eine Reihe von Skriptdateien, die Wordcloud mit Python3 ausführen
Ein Skript, das den laufenden CloudFormation-Stapel wie ein Mannequin anzeigt
Ich habe versucht, ein Skript zu erstellen, das die Tweets eines bestimmten Benutzers auf Twitter verfolgt und das veröffentlichte Bild sofort speichert
Ich habe einen Linienbot erstellt, der das Geschlecht und das Alter einer Person anhand des Bildes errät
Ich habe versucht, das Bild des Bogenschießen-Bewertungsbuchs (eine Broschüre, in der die Ergebnisse von Treffern aufgezeichnet werden) zu analysieren. (Google Colaboratory)