


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!

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

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Penyelesaian kepada Isu Kebenaran Semasa Melihat Versi Python di Terminal Linux Apabila anda cuba melihat versi Python di Terminal Linux, masukkan Python ...

Apabila menggunakan Perpustakaan Pandas Python, bagaimana untuk menyalin seluruh lajur antara dua data data dengan struktur yang berbeza adalah masalah biasa. Katakan kita mempunyai dua DAT ...

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 ...

Bagaimanakah Uvicorn terus mendengar permintaan HTTP? Uvicorn adalah pelayan web ringan berdasarkan ASGI. Salah satu fungsi terasnya ialah mendengar permintaan HTTP dan teruskan ...

Di Python, bagaimana untuk membuat objek secara dinamik melalui rentetan dan panggil kaedahnya? Ini adalah keperluan pengaturcaraan yang biasa, terutamanya jika perlu dikonfigurasikan atau dijalankan ...

Artikel ini membincangkan perpustakaan Python yang popular seperti Numpy, Pandas, Matplotlib, Scikit-Learn, Tensorflow, Django, Flask, dan Permintaan, memperincikan kegunaan mereka dalam pengkomputeran saintifik, analisis data, visualisasi, pembelajaran mesin, pembangunan web, dan h

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

Fastapi ...
