Kumpulan Tugas Praktikum Python
-Buat kode program python OpenCV untuk membaca data citra RGB
Kode:
Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:20:19) [MSC v.1925 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> import cv2
>>> image = cv2. imread('D:/Helmy kurniawan.jpg')
>>> print(image)
>>> cv2.imshow('Gambar Helmy RGB', image)
>>> cv2.waitKey(0)
>>> cv2.destroyAllWindows()
Hasilnya:
-Konversi citra menjadi Grayscale
Kode:
>>> import cv2
>>> image = cv2. imread('D:/Helmy kurniawan.jpg')
>>> gray= cv2.cvtColor(image, cv2.COLOR_RGB2GRAY)
>>> print(gray)
>>> cv2.imshow('Konversi GrayScale', gray)
>>> cv2.waitKey(0)
>>> cv2.destroyAllWindows()
Hasilnya:
-Konversi citra menjadi HSV
Kode:
>>> import cv2
>>> original = cv2. imread('D:/Helmy kurniawan.jpg')
>>> h, w = original.shape[:2]
>>> new_h, new_w= int(h/2), int(w/2)
>>> image= cv2.resize(original,(new_w, new_h))
>>> hsv= cv2.cvtColor(image, cv2.COLOR_RGB2HSV)
>>> print(hsv)
>>> cv2.imshow('Gambar HSV', hsv)
>>> cv2.imshow('H Channel', hsv[: ,: ,0])
>>> cv2.imshow('S Channel', hsv[: ,: ,1])
>>> cv2.imshow('V Channel', hsv[: ,: ,2])
>>> cv2.waitKey(0)
>>> cv2.destroyAllWindows()
Hasilnya;
-Buat kode program python untuk melakukan low pass filter pada gambar
Kode:
import numpy as np
import cv2
from matplotlib import pyplot as plt
from PIL import Image, ImageFilter
image = cv2.imread('D:/FT 3x4.jpg')
image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
figure_size=3
new_image= cv2.blur(image,(figure_size, figure_size))
plt.figure(figsize=(11,6))
plt.subplot(121),plt.imshow(cv2.cvtColor(image, cv2.COLOR_HSV2RGB)),plt.title('Original')
plt.xticks([]),plt.yticks([])
plt.subplot(122),plt.imshow(cv2.cvtColor(new_image, cv2.COLOR_HSV2RGB)), plt.title('Mean Filter')
plt.xticks([]),plt.yticks([])
plt.show()
Kode 2:
import cv2
import numpy as np
from matplotlib import pyplot as plt
img = cv2.imread('D:/FT 3x4.jpg', 0)
height, width = img.shape
plt.figure("Input")
plt.subplot(221),plt.imshow(img, cmap = 'gray')
plt.title('Image'), plt.xticks([]), plt.yticks([])
fft = np.log(np.abs(np.fft.fftshift(np.fft.fft2(img))))
plt.subplot(222),plt.imshow(fft, cmap = 'gray')
plt.title('Fourier Transform'), plt.xticks([]), plt.yticks([])
r = 20
h_Filter_Low_Pass = np.zeros(img.size, img.dtype).reshape(img.shape)
for icounter in range(1, height):
for jcounter in range(1, width):
if ((icounter - height/2)**2 + (jcounter - width/2)**2) < r**2:
h_Filter_Low_Pass[icounter, jcounter] = 1
plt.subplot(223),plt.imshow(h_Filter_Low_Pass, cmap = 'gray')
plt.title('Filter'), plt.xticks([]), plt.yticks([])
h_fft = np.log(np.abs(np.fft.fftshift(np.fft.fft2(h_Filter_Low_Pass))))
plt.subplot(224),plt.imshow(h_fft, cmap = 'gray')
plt.title('Fourier Transform (Filter)'), plt.xticks([]), plt.yticks([])
plt.figure("Output")
g = fft * h_fft
g_ifft = np.abs(np.fft.ifftshift(np.fft.ifft2(g)).real)
plt.subplot(),plt.imshow(g_ifft, cmap = 'gray')
plt.title(''), plt.xticks([]), plt.yticks([])
plt.show()
Hasilnya;
-Buat kode program python untuk melakukan high pass filter pada gambar
Kode:
import numpy as np
import cv2
from matplotlib import pyplot as plt
img = cv2.imread('D:/FT 3x4.jpg')
kernel= np.ones((5,5), np.float32)/25
dst= cv2.filter2D(img, -1, kernel)
plt.subplot(121), plt.imshow(img), plt.title('Original')
plt.xticks([]), plt.yticks([])
plt.subplot(122), plt.imshow(dst),plt.title('Averaging')
plt.xticks([]), plt.yticks([])
plt.show()
Kode 2 :
import cv2
import numpy as np
from scipy import ndimage
kernel_3x3 = np.array([[-1, -1, -1],
[-1, 8, -1],
[-1, -1, -1]])
kernel_5x5 = np.array([[-1, -1, -1, -1, -1],
[-1, 1, 2, 2, -1],
[-1, 2, 4, 2, -1],
[-1, 1, 2, 1, -1],
[-1, -1, -1, -1, -1]])
img = cv2.imread("D:/FT 3x4.jpg", cv2.IMREAD_GRAYSCALE)
k3 = ndimage.convolve(img, kernel_3x3)
k5 = ndimage.convolve(img, kernel_5x5)
blurred = cv2.GaussianBlur(img, (11, 11), 0)
g_hpf = img - blurred
cv2.imshow("3x3", k3)
cv2.imshow("5x5", k5)
cv2.imshow("g_hpf", g_hpf)
cv2.waitKey()
cv2.destroyAllWindows()
Kode 3:
import numpy as np
import cv2
from scipy import ndimage
class HPF(object):
def __init__(self, kernel, image):
self.kernel = np.array(kernel)
self.image = image
def process(self):
return ndimage.convolve(self.image, self.kernel)
if __name__ == "__main__":
#enter ur image location
image = cv2.imread("D:/FT 3x4.jpg", 0)
kernel3x3 = [[-1,-1,-1],[-1,8,-1],[-1,-1,-1]]
kernel5x5 = [[-1, -1, -1, -1, -1],
[-1, 1, 2, 1, -1],
[-1, 2, 4, 2, -1],
[-1, 1, 2, 1, -1],
[-1, -1, -1, -1, -1]]
hpf1 = HPF(kernel3x3, image)
hpfimage1 = hpf1.process()
hpf2 = HPF(kernel5x5, image)
hpfimage2 = hpf2.process()
cv2.imshow("3x3",hpfimage1)
cv2.imshow("5x5",hpfimage2)
cv2.waitKey()
cv2.destroyAllWindows()
Hasilnya;
-Buat kode program python OpenCV untuk menampilkan Histogram Citra
Kode:
>>> import cv2
>>> import numpy as np
>>> from matplotlib import pyplot as plt
>>> img = cv2.imread('D:/FT 3x4.jpg',0)
>>> plt.hist(img.ravel(),256,[0,256]);
>>> plt.show()
Hasilnya;
-Buat kode program python untuk melakukan perbaikan citra dengan metode Intensity Adjusment
Kode:
from skimage.filters import threshold_yen
from skimage.exposure import rescale_intensity
from skimage.io import imread, imsave
img = imread('D:/FT 3x4.jpg')
img_transf = cv2.cvtColor(img3, cv2.COLOR_BGR2YUV)
img_transf[:,:,0] = cv2.equalizeHist(img_transf[:,:,0])
img4 = cv2.cvtColor(img_transf, cv2.COLOR_YUV2BGR)
cv2.imwrite('test.jpg', img4)
from skimage.filters import threshold_yenfrom skimage.exposure import rescale_intensityfrom skimage.io import imread, imsaveimport cv2img4 = imread('D:/FT 3x4.jpg')img_transf = cv2.cvtColor(img4, cv2.COLOR_BGR2YUV)img_transf[:,:,0] = cv2.equalizeHist(img_transf[:,:,0])img4 = cv2.cvtColor(img_transf, cv2.COLOR_YUV2BGR)cv2.imshow('test ', img4)
Hasilnya;
-Buat kode program python untuk melakukan perbaikan citra dengan metode Histogram Equalization
Kode:
import cv2import numpy as npfrom matplotlib import pyplot as pltdef perataanHistogram(A):nilai_bin = 255A = A+1[frekuensi,value] = np.histogram(A,bins=nilai_bin)cumulatif_histogram = frekuensi.cumsum()[baris,kolom] = A.shapeprobabilty_frekuensi = np.round((cumulatif_histogram/float(A.size))*nilai_bin) #langkah 4 dan 5B = np.empty(A.shape)for i in range(0,baris):for j in range(0,kolom):B[i,j] = probabilty_frekuensi[A[i,j]-1] return BI = cv2.imread('D:/FT 3x4.jpg')gray = cv2.cvtColor(I,cv2.COLOR_BGR2GRAY)hasil = perataanHistogram(gray)plt.figure('Histogram Equalization')plt.subplot(1,2,1),plt.imshow(gray,cmap='gray'),plt.title('gray')plt.subplot(1,2,2),plt.imshow(hasil,cmap='gray'),plt.title('perataan histogram')plt.show()
Hasilnya;
www,helmykediricom
Posting Komentar untuk "Kumpulan Tugas Praktikum Python"
Posting Komentar
Artikel di blog ini bersumber dari pengalaman pribadi penulis, tulisan orang lain sebagai posting tamu maupun bayaran oleh sebab itu segala hak cipta baik kutipan dan gambar milik setiap orang yang merasa memilikinya