Page 6 - 220533600710_Rivan Adi Kurniawan_Praktikum 2.ipynb - Colab_Neat
P. 6

# Load gambar
             image = cv2.imread(cv2.samples.findFile('/content/content/Lenna_(test_image).png'))
             image_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

             # Simpan dengan format berbeda
             # - - -
             cv2.imwrite("compressed_lossy.jpg", image, [int(cv2.IMWRITE_JPEG_QUALITY), 30])  # JPEG kualitas rendah
             cv2.imwrite("compressed_lossless.png", image, [int(cv2.IMWRITE_PNG_COMPRESSION), 9]) # PNG kompresi tinggi

             # Baca kembali hasil kompresi
             jpeg_image = cv2.imread("compressed_lossy.jpg")
             png_image = cv2.imread("compressed_lossless.png")

             jpeg_rgb = cv2.cvtColor(jpeg_image, cv2.COLOR_BGR2RGB)
             png_rgb = cv2.cvtColor(png_image, cv2.COLOR_BGR2RGB)

             # Bandingkan ukuran file
             # - - -
             size_jpeg = os.path.getsize("compressed_lossy.jpg") / 1024
             size_png = os.path.getsize("compressed_lossless.png") / 1024

             # Visualisasi
             # - - -
             plt.figure(figsize=(15,5))

             plt.subplot(1,3,1)
             plt.title("Original")
             plt.imshow(image_rgb)
             plt.axis("off")

             plt.subplot(1,3,2)
             plt.title(f"JPEG (Lossy) ~ {size_jpeg:.1f} KB")
             plt.imshow(jpeg_rgb)
             plt.axis("off")
             plt.subplot(1,3,3)
             plt.title(f"PNG (Lossless) ~ {size_png:.1f} KB")
             plt.imshow(png_rgb)
             plt.axis("off")

             plt.show()

























        Rekontruksi


        Percobaan 8


             import numpy as np
             import matplotlib.pyplot as plt
             from skimage.data import shepp_logan_phantom
             from skimage.transform import radon, iradon
             # 1. Membuat citra phantom (simulasi CT-Scan otak)
             image = shepp_logan_phantom()
             # 2. Lakukan Radon Transform (simulasi proyeksi sinar-X dari berbagai sudut)
             theta = np.linspace(0., 180., max(image.shape), endpoint=False)
             sinogram = radon(image, theta=theta)
   1   2   3   4   5   6   7