Detaillierte Erläuterung der Python-Fotosynthesemethode

coldplay.xixi
Freigeben: 2020-08-29 16:26:12
nach vorne
3670 Leute haben es durchsucht

Detaillierte Erläuterung der Python-Fotosynthesemethode

Verwandte Lernempfehlungen: Python-Tutorial

Artikelverzeichnis

      • Vorwort
      • Github
      • Effekt
      • Implementierungsprozess
      • Gesamtcode

Vorwort

Ich habe beim Ansehen eines Films eine Fotowandfunktion entdeckt. Ich dachte, es würde Spaß machen, auf diese Weise Fotos zu erstellen, also habe ich angefangen, es mit Python zu machen, und dachte, es wäre eine gute Idee, es als Erinnerungsfoto zu verwenden.

P photo.git

Effekt

ImplementierungsprozessDetaillierte Erläuterung der Python-Fotosynthesemethode
1. Ermitteln Sie die Anzahl N der Bilder im Bildordner, teilen Sie das Basisbild in XDetaillierte Erläuterung der Python-FotosynthesemethodeY-Blockbereiche auf und machen Sie X * Y(Um die Gesamtkoordination sicherzustellen, werden mehrere Bilder verworfen. Wenn beispielsweise 5 Bilder vorhanden sind, dürfen nur 4 Bilder von 2

2 aufgenommen werden)

	# 打开图片 
	base = Image.open(baseImgPath)
    base = base.convert('RGBA')
    # 获取图片文件夹图片并打乱顺序
    files = glob.glob(imagesPath + '/*.*')  
    random.shuffle(files)
    # 图片数量
    num = len(files)
	# 底图大小
    x = base.size[0]
    y = base.size[1]
    # 每张图片数量 这个公式是为了xNum * yNum 的总图片数量<num又成比例的最大整数
    yNum = int((num / (y / x)) ** 0.5)
    if yNum == 0:
        yNum = 1
    xNum = int(num / yNum)
    # 图片大小 因为像素没有小数点 为防止黑边所以+1
    xSize = int(x / xNum) + 1
    ySize = int(y / yNum) + 1
Nach dem Login kopieren


2. Durchsuchen Sie die Bilder im Ordner und fülle sie aus, um das endgültige zusammengesetzte Bild zu erzeugen

for file in files:
        fromImage = Image.open(file)
        i = int(num % xNum)
        j = int(num / xNum)
        out = fromImage.resize((xSize, ySize), Image.ANTIALIAS).convert(&#39;RGBA&#39;)
        toImage.paste(out, (i * xSize, j * ySize))
        toImage = toImage.convert(&#39;RGBA&#39;)
        img = Image.blend(base, toImage, 0.3)
        # 显示图片
        photo = ImageTk.PhotoImage(img)
        showLabel.config(image=photo)
        showLabel.image = photo
        if num < xNum * yNum:
            num = num + 1
Nach dem Login kopieren

3. Speichern Sie das Bild nach der GenerierungDetaillierte Erläuterung der Python-FotosynthesemethodetoImage.save('generator.png')

img.save("final.png")



4. Erstellen Sie eine visuelle Schnittstelle
Detaillierte Erläuterung der Python-Fotosynthesemethode
5. Pyinstaller generiert eine ausführbare Exe-Datei. ![Detaillierte Erläuterung der Python-Fotosynthesemethode](https://img-blog.csdnimg.cn/20190805150649966.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NoaWppYW5kaQ==,size_16,color_FFFFFF,t_70Installieren Sie das Pyinstaller-Modul und führen Sie den Befehl aus, um die Exe-Datei zu generieren Die Codespezifikationen und die Wiederverwendung des Codes sind möglicherweise etwas unzureichend. In diesem Blogbeitrag geht es hauptsächlich um eine Idee und Aufzeichnungen des Gesamtprozesses.
Später wurden einige Spezialeffekte optimiert, z. B. die Verwendung zufälliger Positionen für zusammengesetzte Bilder, das Hinzufügen von Schwarzweiß-, Flüchtigkeits- und anderen Anzeigespezialeffekten sowie optionaler Transparenz usw.

pyinstaller -F -w test.py (-w就是取消窗口)
Nach dem Login kopieren
Detaillierte Erläuterung der Python-Fotosynthesemethode
Wenn Sie mehr über das Programmieren erfahren möchten, achten Sie bitte auf die Rubrik
php-Schulung

!

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Python-Fotosynthesemethode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage