Python を使用して写真をコミック風に変換する方法

PHPz
リリース: 2023-05-12 10:52:05
転載
1460 人が閲覧しました

OpenCV のインストール

まず、OpenCV をインストールする必要があります。 OpenCV は、さまざまなアプリケーションで使用できるさまざまな画像処理ツールを提供するオープン ソースのコンピューター ビジョン ライブラリです。

次のコマンドを使用して、Python に OpenCV をインストールできます: pip install opencv-python

イメージを読み取り、エッジ検出を使用します

イメージを読み取り、エッジを使用する必要があります検出 画像内のエッジを識別するアルゴリズム。これは、OpenCV の Canny 関数を通じて実行できます。例:

import cv2

img = cv2.imread('input.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
edges = cv2.Canny(gray, 100, 200)
ログイン後にコピー

上記のコードは、input.jpg という名前の画像を読み取り、グレースケール画像に変換し、Canny アルゴリズムを使用してエッジを検出します。 edges 変数には、検出されたエッジが含まれます。

エッジを処理してコミック効果を生成する

次に、エッジを処理してコミック効果を生成する必要があります。これは、エッジを黒い線に変換し、色合いを追加することで実行できます。例:

# 转换为黑色线条
edges = cv2.cvtColor(edges, cv2.COLOR_GRAY2BGR)
edges[np.where((edges != [0, 0, 0]).all(axis=2))] = [0, 0, 255]

# 添加色调
color = cv2.bilateralFilter(img, 9, 300, 300)
cartoon = cv2.bitwise_and(color, edges)
ログイン後にコピー

上記のコードは、エッジを黒い線に変換し、線の色として赤を使用します。次に、 cv2.bi LateralFilter 関数を使用して、元の画像に色合いを追加します。最後に、エッジとトーンをマージしてコミック効果を作成します。

コミック エフェクト画像を保存する

最後に、cv2.imwrite 関数を使用して、生成されたコミック エフェクト画像をローカルに保存できます。例:

cv2.imwrite('output.jpg', cartoon)
ログイン後にコピー

上記のコードは、コミック効果画像をoutput.jpgとして保存します。

完全なコードは次のとおりです。

import cv2
import numpy as np

# 读取图片并进行边缘检测
img = cv2.imread('input.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
edges = cv2.Canny(gray, 100, 200)

# 对边缘进行处理以生成漫画效果
edges = cv2.cvtColor(edges, cv2.COLOR_GRAY2BGR)
edges[np.where((edges != [0, 0, 0]).all(axis=2))] = [0, 0, 255]
color = cv2.bilateralFilter(img, 9, 300, 300)
cartoon = cv2.bitwise_and(color, edges)

# 保存漫画效果图片
cv2.imwrite('output.jpg', cartoon)
ログイン後にコピー

上記のコードは、input.jpg という名前の画像をコミック エフェクトに変換し、生成されたコミック エフェクト画像を Output.jpg として保存します。

コミック効果によって生成される効果は元の画像によって異なるため、最良の効果を得るにはコード内のパラメータを微調整する必要がある場合があります。継続的な実験と調整により、Python を使用して画像を独自のコミック スタイルに変換できます。

以上がPython を使用して写真をコミック風に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート