Cara Meningkatkan Kualitas Gambar Menggunakan Python - CRUDPRO

Cara Meningkatkan Kualitas Gambar Menggunakan Python

Cara Meningkatkan Kualitas Gambar Menggunakan Python

Peningkatan citra adalah cara penting dalam beberapa program, termasuk misi computer dan pemrosesan citra. Ini akan membantu Anda meningkatkan kualitas gambar dengan menyesuaikan kecerahan, kontras, dan ketajamannya. Python, bahasa pemrograman serbaguna, yang menyediakan beberapa library untuk melakukan tugas peningkatan gambar. Pada artikel ini, kita akan mengimplementasikannya menggunakan library seperti OpenCV dan Pillow.

1 — Memulai

Maka sebelum kita mulai mengimplementasikan code, pastikan Python sudah terinstal di sistem Anda. Anda bisa mengunduh versi terbaru Python dari website resmi: https://www.python.org/downloads/

Selanjutnya, instal library yang diperlukan menggunakan pip:

pip install opencv-python
pip install pillow

2 — Meningkatkan Gambar dengan OpenCV

OpenCV ialah library yang kuat untuk misi computer dan pemrosesan gambar. Ini menyediakan berbagai fungsi untuk memanipulasi dan meningkatkan gambar. Mari terapkan beberapa fungsi ini untuk meningkatkan kualitas gambar.

A. Menyesuaikan Kecerahan dan Kontras

Untuk mengatur kecerahan dan kontras gambar, kita bisa menggunakan fungsi cv2.addWeighted(). Fungsi ini mengambil parameter di bawah ini:

  1. src1: Gambar sumber pertama.
  2. alpha: Berat gambar sumber pertama.
  3. src2: Gambar sumber kedua.
  4. beta: Berat gambar sumber kedua.
  5. gamma: Sebuah skalar ditambahkan ke setiap jumlah

Mari kita lihat contoh langkah menggunakan fungsi ini:

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

def adjust_brightness_contrast(image, alpha, beta):
    return cv2.addWeighted(image, alpha, image, 0, beta)

image = cv2.imread('dog.jpg')
enhanced_image = adjust_brightness_contrast(image, 1.2, 30)
original_and_enhanced_image = np.hstack((image, enhanced_image))

plt.figure(figsize = [30, 30])
plt.axis('off')
plt.imshow(original_and_enhanced_image [:,:,::-1])

Setelah menyelesaikan code di atas, Anda akan mendapatkan output berikut ini:

Cara Meningkatkan Kualitas Gambar Menggunakan Python

B. Mempertajam Gambar

Bila kita ingin mempertajam gambar, kita bisa menggunakan fungsi cv2.filter2D(), yang menerapkan filter linier pada gambar. Kami akan menggunakan kernel penajaman untuk menyempurnakan detail gambar.

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

def sharpen_image(image):
    kernel = np.array([[-1, -1, -1],
                       [-1, 9, -1],
                       [-1, -1, -1]])
    return cv2.filter2D(image, -1, kernel)

image = cv2.imread('dog.jpg')
sharpened_image = sharpen_image(image)

original_and_sharpened_image = np.hstack((image, sharpened_image))

plt.figure(figsize = [30, 30])
plt.axis('off')
plt.imshow(original_and_sharpened_image[:,:,::-1])
Cara Meningkatkan Kualitas Gambar Menggunakan Python

3 — Meningkatkan Gambar dengan Pillow

Pillow (Python Imaging Library) ialah library terkenal lainnya untuk pemrosesan gambar dengan Python. Ini menyediakan antarmuka yang ramah pengguna untuk bekerja dengan gambar dan menawarkan berbagai fungsi untuk memperbaikinya.

A. Menyesuaikan Kecerahan

Bila kita ingin mengatur kecerahan gambar kita, kita dapat menggunakan kelas ImageEnhance.Brightness dari modul PIL.ImageEnhance. Class ini mengambil gambar sebagai input dan menyediakan sistem enhance() untuk menyesuaikan kecerahan.

from PIL import Image, ImageEnhance
import numpy as np
import matplotlib.pyplot as plt

def adjust_brightness(image, factor):
    enhancer = ImageEnhance.Brightness(image)
    return enhancer.enhance(factor)

image = Image.open('dog.jpg')
enhanced_image = adjust_brightness(image, 1.5)

original_and_enhanced_image = np.hstack((image, enhanced_image))

plt.figure(figsize = [30, 30])
plt.axis('off')
plt.imshow(original_and_enhanced_image, cmap = 'gray')
Cara Meningkatkan Kualitas Gambar Menggunakan Python

B. Menyesuaikan Kontras

Untuk mengatur kontras suatu gambar, kita bisa menggunakan kelas ImageEnhance.Contrast dari modul PIL.ImageEnhance. Kelas ini mengambil gambar sebagai input dan menyediakan sistem enhance() untuk menyesuaikan kontras.

from PIL import Image, ImageEnhance
import numpy as np
import matplotlib.pyplot as plt

def adjust_contrast(image, factor):
    enhancer = ImageEnhance.Contrast(image)
    return enhancer.enhance(factor)

image = Image.open('dog.jpg')
enhanced_contrast = adjust_contrast(image, 1.5)

original_and_enhanced_contrast = np.hstack((image, enhanced_contrast))

plt.figure(figsize = [30, 30])
plt.axis('off')
plt.imshow(original_and_enhanced_contrast, cmap = 'gray')
Cara Meningkatkan Kualitas Gambar Menggunakan Python

Kesimpulan

Pada artikel ini, kita membahas langkah memperbaiki gambar menggunakan Python dengan bantuan library OpenCV dan Pillow. Kami membahas berbagai teknik, termasuk menyesuaikan kecerahan, kontras, dan mempertajam gambar. Library ini menawarkan berbagai fungsi untuk memanipulasi dan memperbaiki gambar, menjadikan Python bahasa yang kuat untuk tugas pemrosesan gambar.