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

Bagaimana untuk melaraskan kecerahan dan kontras imej menggunakan Python

Aug 17, 2023 pm 09:24 PM
Python melaraskan kecerahan gambar Python melaraskan kontras imej

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!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menyelesaikan masalah kebenaran yang dihadapi semasa melihat versi Python di Terminal Linux? Bagaimana untuk menyelesaikan masalah kebenaran yang dihadapi semasa melihat versi Python di Terminal Linux? Apr 01, 2025 pm 05:09 PM

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

Bagaimana cara menyalin seluruh lajur satu data ke dalam data data lain dengan struktur yang berbeza di Python? Bagaimana cara menyalin seluruh lajur satu data ke dalam data data lain dengan struktur yang berbeza di Python? Apr 01, 2025 pm 11:15 PM

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 Kaedah Projek dan Masalah Dikemukakan Dalam masa 10 Jam? Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam Kaedah Projek dan Masalah Dikemukakan Dalam masa 10 Jam? Apr 02, 2025 am 07:18 AM

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 tanpa serving_forever ()? Bagaimanakah uvicorn terus mendengar permintaan http tanpa serving_forever ()? Apr 01, 2025 pm 10:51 PM

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

Bagaimana secara dinamik membuat objek melalui rentetan dan panggil kaedahnya dalam Python? Bagaimana secara dinamik membuat objek melalui rentetan dan panggil kaedahnya dalam Python? Apr 01, 2025 pm 11:18 PM

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

Apakah beberapa perpustakaan Python yang popular dan kegunaan mereka? Apakah beberapa perpustakaan Python yang popular dan kegunaan mereka? Mar 21, 2025 pm 06:46 PM

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

Bagaimana untuk mengelakkan dikesan oleh penyemak imbas apabila menggunakan fiddler di mana-mana untuk membaca lelaki-dalam-tengah? Bagaimana untuk mengelakkan dikesan oleh penyemak imbas apabila menggunakan fiddler di mana-mana untuk membaca lelaki-dalam-tengah? Apr 02, 2025 am 07:15 AM

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

See all articles