Saya mengambil cuti tahunan sebentar tadi dan pergi dalam perjalanan jauh dengan teman wanita saya. Saya dalam suasana gembira dan menikmati pemandangan yang indah dalam perjalanan, tetapi saya juga sangat letih, terutamanya selepas tidak berehat dengan baik. beberapa hari dan perlu melakukan perjalanan sepanjang perjalanan pulang ke rumah.
Siapa sangka sebaik sahaja saya melangkah pulang dan hendak berehat, saya akan menerima mesej ini:
Simpan gambar satu persatu , tanpa diduga Dia sebenarnya mengambil dua ratus gambar dalam empat hari.
Ini agak memalukan untuk saya: Pertama sekali, kerja saya sekarang tidak memerlukan gambar, dan PS telah lama di-uninstall, kedua, walaupun saya mempunyai PS, saya hanya perlu memohon pratetap kepada ratusan gambar Ia akan mengambil sedikit masa untuk menyelesaikannya. Ia satu penyeksaan hanya memikirkan tentang menjadi letih dan mengantuk dan perlu melakukan sesuatu.
Saya agak buntu, jadi saya melihat foto-foto ini sambil memikirkannya:
Memandangkan kualiti gambar asal okey, ia tidak memerlukan banyak pengeditan, kerana terdapat banyak awan pada hari itu dan cahayanya tidak begitu baik, warna foto agak kusam Anda boleh meningkatkan ketepuan dengan sewajarnya dan mengurangkan kecerahan pada masa yang sama untuk mendapatkan gambar yang bagus.
Pada masa ini, saya tiba-tiba teringat API yang saya gunakan ketika melihat OpenCV suatu ketika dahulu Dengan bantuan python, kita mungkin dapat memproses ratusan gambar ini dengan pantas.
Pertama sekali, mari kita perkenalkan HSV ialah ruang warna Tidak seperti RGB, yang menerangkan warna melalui gabungan merah, hijau dan biru, HSV membahagikan warna kepada rona (H), tepu (S) dan. kecerahan ( V) tiga dimensi, yang boleh secara langsung menyatakan kecerahan, kegelapan dan kecerahan warna, jadi ia digunakan secara meluas dalam bidang pengecaman imej.
Dengan bantuan fungsi split() opencv, kita boleh memisahkan pembolehubah HSV imej, dan kemudian mengubah suainya dan kemudian menggunakan fungsi merge() untuk mensintesis imej baharu untuk mencapai Batch mengubah suai kesan ketepuan dan kecerahan. Pada masa yang sama, split() juga boleh memisahkan tiga saluran warna RGB imej, dan kemudian mengubah suai saluran secara bebas.
Tanpa berlengah lagi, mari kita mulakan operasi:
import cv2 import numpy as np import os def modify_image(img_path, target_dir): # 读取全部Saya mengembara bersama teman wanita saya selama tiga hari, dan Python menyembuhkan ketidakcukupan mental saya... pic = cv2.imread(img_path, cv2.IMREAD_UNCHANGED) # 将Saya mengembara bersama teman wanita saya selama tiga hari, dan Python menyembuhkan ketidakcukupan mental saya...修改为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)]) # 将合并后的Saya mengembara bersama teman wanita saya selama tiga hari, dan Python menyembuhkan ketidakcukupan mental saya...重置为RGB pictar = cv2.cvtColor(new_pic, cv2.COLOR_HSV2BGR) # 获取原文件名 file_name = img_path.split("/")[-1] # 将Saya mengembara bersama teman wanita saya selama tiga hari, dan Python menyembuhkan ketidakcukupan mental saya...写入目录 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/")
Tiga kali, lima kali dan dua kali, lima kali dan dua kali untuk mendapatkan kod hanya dengan sekali pandang , ratusan gambar telah diproses. Bahagian kiri adalah sebelum pengubahsuaian, dan sebelah kanan adalah selepas pengubahsuaian Anda boleh melihat bahawa kesannya masih sangat jelas, dan warnanya lebih penuh.
Semua gambar selesai dalam beberapa minit, teman wanita saya kelihatan tidak percaya, tetapi dia sangat berpuas hati dengan hasilnya ia.
Atas ialah kandungan terperinci Saya mengembara bersama teman wanita saya selama tiga hari, dan Python menyembuhkan ketidakcukupan mental saya.... Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!