Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk melaraskan kecerahan dan kontras imej menggunakan Python

Bagaimana untuk melaraskan kecerahan dan kontras imej menggunakan Python

WBOY
Lepaskan: 2023-08-17 21:24:26
asal
5047 orang telah melayarinya

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')
Salin selepas log masuk

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)
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan