


Verwenden Sie Python geschickt, um Bilder in Skizzen- und Comicformate zu konvertieren
【Verwandte Lernempfehlungen: Python-Tutorial】
Das Beispiel in diesem Artikel teilt Ihnen den spezifischen Code zum Konvertieren von Bildern in Skizzen- und Comicformate in Python als Referenz. Der spezifische Inhalt ist wie folgt:
Original Bild
Die Ergebnisse nach der Bildkonvertierung
Quellcode
# -*- coding: utf-8 -*- import cv2 from PIL import Image, ImageOps, ImageFilter # 转换成漫画风格 def toCarttonStyle(picturePath): # 设置输入输出路径和文件名称 imgInput_FileName = picturePath imgOutput_FileName = picturePath.split(".")[0] + '_cartoon.' + picturePath.split(".")[1] # 属性设置 num_down = 2 # 缩减像素采样的数目 num_bilateral = 7 # 定义双边滤波的数目 # 读取图片 img_rgb = cv2.imread(imgInput_FileName) # 用高斯金字塔降低取样 img_color = img_rgb for _ in range(num_down): img_color = cv2.pyrDown(img_color) # 重复使用小的双边滤波代替一个大的滤波 for _ in range(num_bilateral): img_color = cv2.bilateralFilter(img_color, d=9, sigmaColor=9, sigmaSpace=7) # 升采样图片到原始大小 for _ in range(num_down): img_color = cv2.pyrUp(img_color) # 转换为灰度并且使其产生中等的模糊 img_gray = cv2.cvtColor(img_rgb, cv2.COLOR_RGB2GRAY) img_blur = cv2.medianBlur(img_gray, 7) # 检测到边缘并且增强其效果 img_edge = cv2.adaptiveThreshold(img_blur, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, blockSize=9, C=2) # 算法处理后,照片的尺寸可能会不统一 # 把照片的尺寸统一化 height=img_rgb.shape[0] width = img_rgb.shape[1] img_color=cv2.resize(img_color,(width,height)) # 转换回彩色图像 img_edge = cv2.cvtColor(img_edge, cv2.COLOR_GRAY2RGB) img_cartoon = cv2.bitwise_and(img_color, img_edge) # 保存转换后的图片 cv2.imwrite(imgOutput_FileName, img_cartoon) print('文件转换成漫画成功,保存在' + imgOutput_FileName) # 透明度转换 素描转换的一部分 def dodge(a, b, alpha): # alpha为图片透明度 return min(int(a * 255 / (256 - b * alpha)), 255) # 图片转换为素描 def toSketchStyle(picturePath, blur=25, alpha=1.0): # 设置输入输出路径和文件名称 imgInput_FileName = picturePath imgOutput_FileName = picturePath.split(".")[0] + '_Sketch.' + picturePath.split(".")[1] # 转化成ima对象 img = Image.open(picturePath) # 将文件转成灰色 img1 = img.convert('L') img2 = img1.copy() img2 = ImageOps.invert(img2) # 模糊度 for i in range(blur): img2 = img2.filter(ImageFilter.BLUR) width, height = img1.size for x in range(width): for y in range(height): a = img1.getpixel((x, y)) b = img2.getpixel((x, y)) img1.putpixel((x, y), dodge(a, b, alpha)) # 保存转换后文件 img1.save(imgOutput_FileName) print('文件转换成漫画成功,保存在' + imgOutput_FileName) if __name__ == '__main__': imgInput_FileName = input('输入文件路径:') while True: print('1、漫画风格') print('2、素描风格') userChoose = input('请选择风格(输入序号即可):') if userChoose.__eq__('1'): toCarttonStyle(imgInput_FileName) break elif userChoose.__eq__('2'): toSketchStyle(imgInput_FileName) break else: print('违法输入(请输入序号)') break
Verwandte Lernempfehlungen: Programmiervideos
Das obige ist der detaillierte Inhalt vonVerwenden Sie Python geschickt, um Bilder in Skizzen- und Comicformate zu konvertieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Hadidb: Eine leichte, hochrangige skalierbare Python-Datenbank Hadidb (HadIDB) ist eine leichte Datenbank in Python mit einem hohen Maß an Skalierbarkeit. Installieren Sie HadIDB mithilfe der PIP -Installation: PipinstallHadIDB -Benutzerverwaltung erstellen Benutzer: createUser (), um einen neuen Benutzer zu erstellen. Die Authentication () -Methode authentifiziert die Identität des Benutzers. fromHadidb.operationImportUseruser_obj = user ("admin", "admin") user_obj.

Es ist unmöglich, das MongoDB -Passwort direkt über Navicat anzuzeigen, da es als Hash -Werte gespeichert ist. So rufen Sie verlorene Passwörter ab: 1. Passwörter zurücksetzen; 2. Überprüfen Sie die Konfigurationsdateien (können Hash -Werte enthalten). 3. Überprüfen Sie Codes (May Hardcode -Passwörter).

Python wird in den Bereichen Webentwicklung, Datenwissenschaft, maschinelles Lernen, Automatisierung und Skripten häufig verwendet. 1) In der Webentwicklung vereinfachen Django und Flask Frameworks den Entwicklungsprozess. 2) In den Bereichen Datenwissenschaft und maschinelles Lernen bieten Numpy-, Pandas-, Scikit-Learn- und TensorFlow-Bibliotheken eine starke Unterstützung. 3) In Bezug auf Automatisierung und Skript ist Python für Aufgaben wie automatisiertes Test und Systemmanagement geeignet.

Sie können grundlegende Programmierkonzepte und Fähigkeiten von Python innerhalb von 2 Stunden lernen. 1. Lernen Sie Variablen und Datentypen, 2. Master Control Flow (bedingte Anweisungen und Schleifen), 3.. Verstehen Sie die Definition und Verwendung von Funktionen, 4. Beginnen Sie schnell mit der Python -Programmierung durch einfache Beispiele und Code -Snippets.

Die MySQL-Datenbankleistung Optimierungshandbuch In ressourcenintensiven Anwendungen spielt die MySQL-Datenbank eine entscheidende Rolle und ist für die Verwaltung massiver Transaktionen verantwortlich. Mit der Erweiterung der Anwendung werden jedoch die Datenbankleistung Engpässe häufig zu einer Einschränkung. In diesem Artikel werden eine Reihe effektiver Strategien zur Leistungsoptimierung von MySQL -Leistung untersucht, um sicherzustellen, dass Ihre Anwendung unter hohen Lasten effizient und reaktionsschnell bleibt. Wir werden tatsächliche Fälle kombinieren, um eingehende Schlüsseltechnologien wie Indexierung, Abfrageoptimierung, Datenbankdesign und Caching zu erklären. 1. Das Design der Datenbankarchitektur und die optimierte Datenbankarchitektur sind der Eckpfeiler der MySQL -Leistungsoptimierung. Hier sind einige Kernprinzipien: Die Auswahl des richtigen Datentyps und die Auswahl des kleinsten Datentyps, der den Anforderungen entspricht, kann nicht nur Speicherplatz speichern, sondern auch die Datenverarbeitungsgeschwindigkeit verbessern.

Als Datenprofi müssen Sie große Datenmengen aus verschiedenen Quellen verarbeiten. Dies kann Herausforderungen für das Datenmanagement und die Analyse darstellen. Glücklicherweise können zwei AWS -Dienste helfen: AWS -Kleber und Amazon Athena.

Nein, MySQL kann keine direkt zu SQL Server herstellen. Sie können jedoch die folgenden Methoden verwenden, um die Dateninteraktion zu implementieren: Verwenden Sie Middleware: Exportieren Sie Daten von MySQL in das Zwischenformat und importieren sie dann über Middleware in SQL Server. Verwenden von Datenbank -Linker: Business -Tools bieten eine freundlichere Oberfläche und erweiterte Funktionen, die im Wesentlichen weiterhin über Middleware implementiert werden.

Zu den Schritten zum Starten eines Redis -Servers gehören: Installieren von Redis gemäß dem Betriebssystem. Starten Sie den Redis-Dienst über Redis-Server (Linux/macOS) oder redis-server.exe (Windows). Verwenden Sie den Befehl redis-cli ping (linux/macOS) oder redis-cli.exe ping (Windows), um den Dienststatus zu überprüfen. Verwenden Sie einen Redis-Client wie Redis-Cli, Python oder Node.js, um auf den Server zuzugreifen.
