3/30/24, 12:07 PM pertemuan_5_grayscale.ipynb - Colaboratory
1/2
from google.colab import drivedrive.mount('/content/drive/')
!ls "/path/to/your/"
import cv2 import numpy as np
# grayscale dengan pembobotan
# membaca citra asli pastikan gambar berada pada direktori yang sama img = cv2.imread('/path/to/your/image.jpg')
# Memastikan citra berhasil dibaca if img is None:
print("Error: File not found or unable to read image file.") else:
# Mengkonversi citra ke grayscale dengan pembobotan # Menggunakan rumus: 0.299*R + 0.587*G + 0.114*B
gray_img_custom = np.dot(img[...,:3], [0.299, 0.587, 0.114]).astype(np.uint8) # menampilkan citra asli dan grayscale custom
from google.colab.patches import cv2_imshow print('Original Image:')
cv2_imshow(img)
print('Custom Greyscale Image:') cv2_imshow(gray_img_custom)
import cv2 import numpy as np
# Grayscale tanpa pembobotan
# membaca citra asli paastikan gambar berada pada direktori yang sama img = cv2.imread('/content/drive/My Drive/pengolahan_citra/buah.jpg')
# Memastikan citra berhasil dibaca if img is None:
print("Error: File not found or unable to read image file.") else:
# Menghitung rata-rata dari R, G, dan B untuk setiap piksel gray_img_unweighted = np.mean(img, axis=2).astype(np.uint8) # menampilkan citra asli dan grayscale tanpa pembobotan from google.colab.patches import cv2_imshow
print('Original Image:') cv2_imshow(img)
print('Unweighted Greyscale Image:') cv2_imshow(gray_img_unweighted)
import cv2 import numpy as np
from google.colab.patches import cv2_imshow
# Grayscale dengan pembobobotan dan tanpa pembobotan dan disandingkan
# Ganti dengan path yang sesuai ke file gambar Anda di Google Drive img_path = '/content/drive/My Drive/pengolahan_citra/buah.jpg'
# Membaca citra asli img = cv2.imread(img_path) if img is None:
print("Error: File not found or unable to read image file.") else:
# Mengkonversi citra ke grayscale dengan pembobotan gray_img_weighted = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # Mengkonversi citra ke grayscale tanpa pembobotan gray_img_unweighted = np.mean(img, axis=2).astype(np.uint8)
# Mengubah grayscale images kembali ke BGR sehingga semua citra memiliki 3 channel # Ini diperlukan agar dapat digabungkan bersama citra asli
gray_img_weighted_colored = cv2.cvtColor(gray_img_weighted, cv2.COLOR_GRAY2BGR) gray_img_unweighted_colored = cv2.cvtColor(gray_img_unweighted, cv2.COLOR_GRAY2BGR) # Menggabungkan citra asli dengan kedua versi grayscale untuk ditampilkan berdampingan combined_img = np.hstack((img, gray_img_weighted_colored, gray_img_unweighted_colored)) # Menampilkan citra hasil gabungan
print(' Original | Grayscale (Weighted) Grayscale (Unweighted):') cv2_imshow(combined_img)
# Menutup jendela citra cv2.destroyAllWindows()