ホームページ > バックエンド開発 > Python チュートリアル > 私はガールフレンドと 3 日間旅行していましたが、Python が私の精神的欠陥を治してくれました...

私はガールフレンドと 3 日間旅行していましたが、Python が私の精神的欠陥を治してくれました...

王林
リリース: 2023-04-12 21:10:10
転載
1639 人が閲覧しました

私は少し前に年次有給休暇を取得し、彼女と長旅に行きました。途中、景色も良くて幸せな気持ちになりましたが、特に数日間ゆっくり休めなかったのでとても疲れていました。そして家までずっとぶつかることになりました。

家に帰って一休みしようとした瞬間に、次のようなメッセージが届くとは誰が想像したでしょうか:

私はガールフレンドと 3 日間旅行していましたが、Python が私の精神的欠陥を治してくれました...

写真を 1 つ保存してください彼女は実際に 4 日間で 200 枚の写真を撮りました。

これは私にとって少し難しいことです。第一に、私の現在の仕事では写真を切り取る必要がなく、PS はかなり前にアンインストールされています。第二に、たとえ PS があったとしても、何百枚もの写真にプリセットを適用するには、時間がかかります。疲れて眠くて、何かをしなければならないことを考えるだけで拷問です。

ちょっと迷ったので、写真をじっくり見ながら考えてみました。

私はガールフレンドと 3 日間旅行していましたが、Python が私の精神的欠陥を治してくれました...

元の写真の画質はまあまあなので、 , 実際にはあまり編集する必要はありません. 操作, この日は雲が多くて光があまりよくないため、写真の色が少しくすんでいます. 彩度を適切に上げ、同時に明るさを下げることができます良い写真を撮る時間です。

このとき、昔 OpenCV を眺めていたときに使った API を突然思い出しました。Python を使えば、この数百枚の写真を高速に処理できるかもしれません。

まず、HSV について説明します。HSV は色空間です。赤、緑、青の組み合わせで色を表現する RGB とは異なり、HSV は色を色相 (H)、彩度 (S)、色に分割します。明度(V)の3次元で、色の明暗や鮮やかさをより直接的に表現できるため、画像認識の分野で広く使われています。

私はガールフレンドと 3 日間旅行していましたが、Python が私の精神的欠陥を治してくれました...

opencv の Split() 関数を使用すると、画像の HSV 変数を分離し、それを変更してから、merge() 関数を使用して画像を合成できます。新しい画像を実現するには、彩度と明るさの効果をバッチ変更します。同時に、split() は画像の 3 つの RGB カラー チャネルを分離し、チャネルを個別に変更することもできます。

早速、操作を開始しましょう:

import cv2
import numpy as np
import os

def modify_image(img_path, target_dir):
# 读取全部私はガールフレンドと 3 日間旅行していましたが、Python が私の精神的欠陥を治してくれました...
pic = cv2.imread(img_path, cv2.IMREAD_UNCHANGED)
# 将私はガールフレンドと 3 日間旅行していましたが、Python が私の精神的欠陥を治してくれました...修改为HSV
pichsv = cv2.cvtColor(pic, cv2.COLOR_BGR2HSV)
# 提取饱和度和明度
H,S,V = cv2.split(pichsv)
# S为饱和度,V为明度
new_pic = cv2.merge([np.uint8(H), np.uint8(S*1.4), np.uint8(V*0.9)])
# 将合并后的私はガールフレンドと 3 日間旅行していましたが、Python が私の精神的欠陥を治してくれました...重置为RGB
pictar = cv2.cvtColor(new_pic, cv2.COLOR_HSV2BGR)
# 获取原文件名
file_name = img_path.split("/")[-1]
# 将私はガールフレンドと 3 日間旅行していましたが、Python が私の精神的欠陥を治してくれました...写入目录
cv2.imwrite(os.path.join(target_dir, file_name), pictar)

root, dirs, files = next(os.walk("./test/"))

for item in files:
img_path = os.path.join(root,item)
process_image(img_path, "./target/")
ログイン後にコピー

3 回のクリック、5 回、2 回の追加の後、コードを取得しました。携帯電話を見るだけで、数百枚の写真が処理されました。左側が修正前、右側が修正後ですが、効果がまだ非常に明白で、色がより豊かになっていることがわかります。

私はガールフレンドと 3 日間旅行していましたが、Python が私の精神的欠陥を治してくれました...

すべての写真は数分で完成しました。ガールフレンドは信じられないという顔をしていましたが、結果にはとても満足していました。もちろん、彼女に私がどのように撮ったかは言いません。それをやった。

以上が私はガールフレンドと 3 日間旅行していましたが、Python が私の精神的欠陥を治してくれました...の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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