Professional Documents
Culture Documents
Image Processing Lab Assignment 2
Image Processing Lab Assignment 2
Image Processing Lab Assignment 2
img = cv2.GaussianBlur(img,(3,3),0)
cv2.imshow('Original',img)
m,n = img.shape
mask = np.ones([5,5],dtype=int)
for i in range(5):
for j in range(5):
mask[i][j]=-1
mask[2][2]=24;
print(mask);
img_new = np.zeros([m,n])
for i in range(2,m-2):
for j in range(2,n-2):
temp = img[i-2,j-2]*mask[0,0]+img[i-2,j-1]*mask[0,1]+ img[i-
2,j]*mask[0,2]+ img[i-2,j+1]*mask[0,3]+img[i-2,j+2]*mask[0,4]+img[i-
1,j-2]*mask[1,0]+img[i-1,j-1]*mask[1,1]+img[i-1,j]*mask[1,2]+img[i-
1,j+1]*mask[1,3]+img[i-1,j+2]*mask[1,4]+img[i,j-
2]*mask[2,0]+img[i,j-
1]*mask[2,1]+img[i,j]*mask[2,2]+img[i,j+1]*mask[2,3]+img[i,j+2]*mask
[2,4]+img[i+1,j-2]*mask[3,0]+img[i+1,j-
1]*mask[3,1]+img[i+1,j]*mask[3,2]+img[i+1,j+1]*mask[3,3]+img[i+1,j+2
]*mask[3,4]+img[i+2,j-2]*mask[4,0]+img[i+2,j-
1]*mask[4,1]+img[i+2,j]*mask[4,2]+img[i+2,j+1]*mask[4,3]+img[i+2,j+2
]*mask[4,4]
img_new[i,j]=temp
cv2.imshow('2nd derivative',img_new)
cv2.waitKey(0)
Q2: Write a code for highboost filtering and further detect edges
using sobel filter
import cv2
import numpy as np
img = cv2.imread("lena.jpg",0)
blurred = cv2.GaussianBlur(img,(5,5),0)
hbfmask=img-blurred
hbffactor=5
hbfimage=img + hbffactor*hbfmask
sobelx = cv2.Sobel(hbfimage,cv2.CV_64F,1,0,ksize=5)
sobely = cv2.Sobel(hbfimage,cv2.CV_64F,0,1,ksize=5)
cv2.imshow("sobel x",sobelx)
cv2.imshow("sobel y",sobely)
cv2.waitKey(0)
# cv2.destroyAllWindows()