


Bagaimana untuk melaraskan kecerahan dan kontras imej menggunakan Python
Cara menggunakan Python untuk melaraskan kecerahan dan kontras gambar
Pengenalan:
Dalam pemprosesan imej, melaraskan kecerahan dan kontras adalah salah satu operasi yang biasa dan penting. Python menyediakan banyak perpustakaan pemprosesan imej, seperti PIL, OpenCV, dll., yang boleh melaksanakan kedua-dua operasi ini dengan mudah. Artikel ini akan memperkenalkan cara menggunakan kod Python untuk melaraskan kecerahan dan kontras imej dan memberikan contoh kod yang sepadan.
Bahagian Pertama: Laraskan Kecerahan Imej
Pelarasan kecerahan imej boleh dicapai dengan menukar nilai RGB setiap piksel. Kaedah khusus ialah menambah kenaikan tetap kepada nilai RGB bagi setiap piksel. Di bawah ialah contoh kod yang menggunakan pustaka PIL untuk melaraskan kecerahan imej:
from PIL import ImageEnhance # 打开图像 image = Image.open('image.jpg') # 创建Enhancer对象 enhancer = ImageEnhance.Brightness(image) # 调整亮度为原来的2倍 bright_image = enhancer.enhance(2) # 显示图像 bright_image.show() # 保存图像 bright_image.save('bright_image.jpg')
Dalam kod di atas, imej pertama kali dibuka melalui fungsi Image.open() dan kemudian objek Enhancer dicipta menggunakan ImageEnhance .Fungsi Brightness(). Kemudian gunakan kaedah enhance() objek Enhancer untuk melaraskan kecerahan imej Parameter mewakili gandaan kecerahan. Akhir sekali, panggil kaedah show() untuk memaparkan imej yang dilaraskan, atau anda boleh menggunakan kaedah save() untuk menyimpan imej.
Bahagian 2: Melaraskan Kontras Imej
Pelarasan kontras imej dicapai dengan menukar kecerahan relatif setiap piksel. Kaedah khusus adalah untuk mendarabkan nilai RGB setiap piksel dengan kenaikan tetap. Berikut ialah contoh kod yang menggunakan pustaka OpenCV untuk melaraskan kontras imej:
import cv2 # 读取图像 image = cv2.imread('image.jpg') # 提取亮度通道 hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV) v_channel = hsv_image[:,:,2] # 调整亮度为原来的2倍 contrast_image = cv2.addWeighted(v_channel, 2, np.zeros(v_channel.shape, v_channel.dtype), 0, 0) # 将亮度通道替换回原图像 hsv_image[:,:,2] = contrast_image contrast_image = cv2.cvtColor(hsv_image, cv2.COLOR_HSV2BGR) # 显示图像 cv2.imshow('contrast_image', contrast_image) cv2.waitKey(0) # 保存图像 cv2.imwrite('contrast_image.jpg', contrast_image)
Dalam kod di atas, imej pertama kali dibaca menggunakan fungsi cv2.imread() dan kemudian imej itu ditukar daripada warna BGR ruang menggunakan fungsi cv2.cvtColor() Tukar kepada ruang warna HSV kerana ruang warna HSV lebih sensitif kepada perubahan kecerahan. Kemudian dengan mengekstrak saluran kecerahan hsv_image[:,:,2], tatasusunan dua dimensi v_channel yang mewakili kecerahan diperoleh.
Kemudian gunakan fungsi cv2.addWeighted() untuk menggabungkan saluran kecerahan secara linear untuk melaraskan kontras, dengan parameter pertama mewakili imej input dan parameter kedua mewakili gandaan kecerahan, di sini ditetapkan kepada 2. Akhir sekali, saluran kecerahan yang dilaraskan digantikan kembali kepada imej asal dan imej ditukar daripada ruang warna HSV kembali kepada ruang warna BGR melalui fungsi cv2.cvtColor().
Akhir sekali, imej yang dilaraskan dipaparkan melalui fungsi cv2.imshow(), cv2.waitKey(0) digunakan untuk menunggu kunci, dan fungsi cv2.imwrite() digunakan untuk menyimpan imej.
Kesimpulan:
Melalui contoh kod di atas, kita dapat melihat bahawa menggunakan Python untuk melaraskan kecerahan dan kontras imej adalah sangat mudah dan boleh dicapai dengan hanya beberapa baris kod. Melalui tetapan parameter yang berbeza, darjah kecerahan dan pelarasan kontras yang berbeza boleh dicapai untuk memenuhi keperluan yang berbeza. Dalam aplikasi praktikal, kaedah dan parameter pelarasan yang sesuai boleh dipilih mengikut situasi tertentu untuk mencapai hasil yang terbaik. Saya berharap artikel ini dapat membantu pembaca dalam pembelajaran dan amalan mereka dalam pemprosesan imej.
Atas ialah kandungan terperinci Bagaimana untuk melaraskan kecerahan dan kontras imej menggunakan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Untuk memaksimumkan kecekapan pembelajaran Python dalam masa yang terhad, anda boleh menggunakan modul, masa, dan modul Python. 1. Modul DateTime digunakan untuk merakam dan merancang masa pembelajaran. 2. Modul Masa membantu menetapkan kajian dan masa rehat. 3. Modul Jadual secara automatik mengatur tugas pembelajaran mingguan.

Python cemerlang dalam permainan dan pembangunan GUI. 1) Pembangunan permainan menggunakan pygame, menyediakan lukisan, audio dan fungsi lain, yang sesuai untuk membuat permainan 2D. 2) Pembangunan GUI boleh memilih tkinter atau pyqt. TKInter adalah mudah dan mudah digunakan, PYQT mempunyai fungsi yang kaya dan sesuai untuk pembangunan profesional.

Python sesuai untuk sains data, pembangunan web dan tugas automasi, manakala C sesuai untuk pengaturcaraan sistem, pembangunan permainan dan sistem tertanam. Python terkenal dengan kesederhanaan dan ekosistem yang kuat, manakala C dikenali dengan keupayaan kawalan dan keupayaan kawalan yang mendasari.

Anda boleh mempelajari konsep pengaturcaraan asas dan kemahiran Python dalam masa 2 jam. 1. Belajar Pembolehubah dan Jenis Data, 2.

Python digunakan secara meluas dalam bidang pembangunan web, sains data, pembelajaran mesin, automasi dan skrip. 1) Dalam pembangunan web, kerangka Django dan Flask memudahkan proses pembangunan. 2) Dalam bidang sains data dan pembelajaran mesin, numpy, panda, scikit-learn dan perpustakaan tensorflow memberikan sokongan yang kuat. 3) Dari segi automasi dan skrip, Python sesuai untuk tugas -tugas seperti ujian automatik dan pengurusan sistem.

Anda boleh mempelajari asas -asas Python dalam masa dua jam. 1. Belajar pembolehubah dan jenis data, 2. Struktur kawalan induk seperti jika pernyataan dan gelung, 3 memahami definisi dan penggunaan fungsi. Ini akan membantu anda mula menulis program python mudah.

Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam masa 10 jam? Sekiranya anda hanya mempunyai 10 jam untuk mengajar pemula komputer beberapa pengetahuan pengaturcaraan, apa yang akan anda pilih untuk mengajar ...

Cara mengelakkan dikesan semasa menggunakan fiddlerevery di mana untuk bacaan lelaki-dalam-pertengahan apabila anda menggunakan fiddlerevery di mana ...


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini