Bagaimana untuk melakukan penyamaan histogram pada imej menggunakan Python

WBOY
Lepaskan: 2023-08-26 21:40:46
asal
1287 orang telah melayarinya

Bagaimana untuk melakukan penyamaan histogram pada imej menggunakan Python

Cara menggunakan Python untuk melakukan penyamaan histogram pada imej

Pengenalan:
Penyamaan histogram ialah kaedah peningkatan imej biasa yang melaraskan nilai piksel imej untuk menjadikan taburan skala kelabu imej lebih seragam kontras imej. Dalam artikel ini, kita akan belajar cara melaksanakan penyamaan histogram imej menggunakan perpustakaan OpenCV dalam Python.

1. Import perpustakaan yang diperlukan
Pertama, kita perlu mengimport beberapa perpustakaan yang diperlukan dalam Python: numpy digunakan untuk memproses tatasusunan, matplotlib digunakan untuk memaparkan imej, dan cv2 digunakan untuk pemprosesan imej.

import numpy as np
import cv2
from matplotlib import pyplot as plt
Salin selepas log masuk

2 Muatkan imej
Kami menggunakan fungsi cv2.imread() untuk memuatkan imej. Fungsi ini menerima laluan ke fail imej sebagai parameter dan mengembalikan tatasusunan yang mewakili imej.

# 加载图像
img = cv2.imread('image.jpg', 0)
Salin selepas log masuk

3 Kira histogram
Kami menggunakan fungsi cv2.calcHist() untuk mengira histogram imej. Fungsi ini menerima tatasusunan imej, indeks saluran, topeng, saiz histogram dan julat histogram sebagai argumen dan mengembalikan tatasusunan yang mewakili histogram imej.

# 计算直方图
hist = cv2.calcHist([img],[0],None,[256],[0,256])
Salin selepas log masuk

4 Lukis imej asal dan histogram
Gunakan fungsi plt.subplot() dalam perpustakaan matplotlib untuk melukis imej asal dan histogram masing-masing.

# 绘制原始图像和直方图
plt.subplot(121), plt.imshow(img, 'gray')
plt.subplot(122), plt.plot(hist)
Salin selepas log masuk

5. Lakukan penyamaan histogram
Gunakan fungsi cv2.equalizeHist() untuk melakukan penyamaan histogram pada imej. Fungsi ini menerima tatasusunan imej sebagai parameter dan mengembalikan tatasusunan imej selepas penyamaan histogram.

# 进行直方图均衡化
equ = cv2.equalizeHist(img)
Salin selepas log masuk

6. Lukis imej yang disamakan dan histogram
Gunakan juga fungsi plt.subplot() untuk melukis imej yang disamakan dan histogram masing-masing.

# 绘制均衡化后的图像和直方图
plt.subplot(121), plt.imshow(equ, 'gray')
plt.subplot(122), plt.plot(hist)
Salin selepas log masuk

7. Paparkan hasil
Gunakan fungsi plt.show() untuk memaparkan semua imej yang dilukis.

# 显示图像
plt.show()
Salin selepas log masuk

8. Contoh kod lengkap

import numpy as np
import cv2
from matplotlib import pyplot as plt

# 加载图像
img = cv2.imread('image.jpg', 0)

# 计算直方图
hist = cv2.calcHist([img],[0],None,[256],[0,256])

# 绘制原始图像和直方图
plt.subplot(121), plt.imshow(img, 'gray')
plt.subplot(122), plt.plot(hist)

# 进行直方图均衡化
equ = cv2.equalizeHist(img)

# 绘制均衡化后的图像和直方图
plt.subplot(121), plt.imshow(equ, 'gray')
plt.subplot(122), plt.plot(hist)

# 显示图像
plt.show()
Salin selepas log masuk

Kesimpulan:
Dengan menggunakan perpustakaan OpenCV dalam Python, kita boleh melakukan penyamaan histogram pada imej dengan mudah. Penyamaan histogram ialah kaedah mudah dan berkesan yang boleh meningkatkan kontras imej dan menjadikannya lebih jelas dan lebih jelas. Saya harap artikel ini dapat membantu pembaca yang berminat dalam pemprosesan imej.

Atas ialah kandungan terperinci Bagaimana untuk melakukan penyamaan histogram pada imej menggunakan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!