Cara menggunakan Python untuk melakukan peningkatan imej pada gambar
Abstrak: Peningkatan imej adalah salah satu langkah penting dalam pemprosesan imej, yang boleh meningkatkan kualiti dan kesan visual gambar. Artikel ini akan memperkenalkan cara menggunakan bahasa Python untuk melakukan peningkatan imej pada gambar, dan melampirkan contoh kod untuk demonstrasi.
1. Memperkenalkan perpustakaan dan modul yang diperlukan
Sebelum kita mula, kita perlu memperkenalkan beberapa perpustakaan dan modul yang diperlukan, termasuk perpustakaan PIL, perpustakaan numpy dan perpustakaan matplotlib. Perpustakaan ini menyediakan fungsi asas yang diperlukan untuk pemprosesan imej.
from PIL import Image import numpy as np import matplotlib.pyplot as plt
2. Membaca dan memaparkan gambar
Pertama, kita perlu membaca gambar dan memaparkannya supaya kita boleh melakukan peningkatan imej padanya.
# 读取图片 img = Image.open('example.jpg') # 显示图片 plt.imshow(img) plt.axis('off') plt.show()
3 Laraskan kecerahan imej
Melaraskan kecerahan imej ialah kaedah peningkatan imej yang biasa. Kita boleh melaraskan kecerahan imej dengan menukar nilai RGB bagi setiap piksel.
# 调整图像亮度 def adjust_brightness(img, factor): # 将图像转为numpy数组 img_array = np.array(img) # 通过调整每个像素点的RGB值来改变亮度 adjusted_array = img_array * factor # 将改变后的数组转为图像 adjusted_img = Image.fromarray(adjusted_array.astype('uint8')) return adjusted_img # 设置亮度调整参数 brightness_factor = 1.5 # 调整亮度并显示结果 adjusted_img = adjust_brightness(img, brightness_factor) plt.imshow(adjusted_img) plt.axis('off') plt.show()
4 Laraskan kontras imej
Satu lagi kaedah peningkatan imej yang biasa ialah melaraskan kontras imej. Kita boleh melaraskan kontras imej dengan menukar perbezaan kecerahan piksel.
# 调整图像对比度 def adjust_contrast(img, factor): # 将图像转为numpy数组 img_array = np.array(img) # 通过调整每个像素点的亮度差值来改变对比度 adjusted_array = (img_array - img_array.mean()) * factor + img_array.mean() # 将改变后的数组转为图像 adjusted_img = Image.fromarray(adjusted_array.astype('uint8')) return adjusted_img # 设置对比度调整参数 contrast_factor = 1.5 # 调整对比度并显示结果 adjusted_img = adjust_contrast(img, contrast_factor) plt.imshow(adjusted_img) plt.axis('off') plt.show()
5. Guna penapis imej
Penapis imej ialah satu lagi kaedah biasa untuk meningkatkan imej, yang boleh melicinkan atau menajamkan imej melalui penapis.
# 应用图像滤波器 def apply_filter(img, filter): # 将图像转为numpy数组 img_array = np.array(img) # 应用滤波器 filtered_array = np.convolve(img_array.flatten(), filter.flatten(), mode='same').reshape(img_array.shape) # 将滤波后的数组转为图像 filtered_img = Image.fromarray(filtered_array.astype('uint8')) return filtered_img # 设置滤波器 filter = np.array([[1, 1, 1], [1, -8, 1], [1, 1, 1]]) # 应用滤波器并显示结果 filtered_img = apply_filter(img, filter) plt.imshow(filtered_img) plt.axis('off') plt.show()
6. Ringkasan
Artikel ini memperkenalkan cara menggunakan Python untuk meningkatkan imej. Dengan melaraskan kecerahan, kontras dan penapis, anda boleh meningkatkan kesan visual gambar anda. Pembaca boleh melaraskan parameter dan penapis mengikut keperluan sebenar untuk mengoptimumkan lagi kesan peningkatan imej.
Di atas adalah pengenalan ringkas kepada peningkatan imej menggunakan Python Saya harap ia akan membantu pembaca.
Rujukan:
[1] J. Kautz, J. Wang, dan P. Cohen Filem sumber terbuka naturalistik untuk penilaian aliran optik Dalam persidangan Eropah tentang penglihatan komputer, halaman 611–625.
[ 2 ] J. Hu, L. Shen, dan G. Sun Rangkaian Squeeze-and-excitation Dalam Prosiding persidangan IEEE tentang penglihatan komputer dan pengecaman corak, halaman 7132–7141, 2018.
[3] GitHub ://github.com/pytorch/pytorch, 2020.
Atas ialah kandungan terperinci Bagaimana untuk melakukan peningkatan imej pada gambar menggunakan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!