Image Processing Lab Assignment 2

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

NAME: PRANAV KUMAR

ROLL NO.: BTECH/10086/19


SECTION: E (IT)

IMAGE PROCESSING LAB


ASSIGNMENT 2
Q1: Write a python code for Conservative Smoothing (without
using defined libraries). Use both 3*3 and 5*5 kernels. Compute
Laplacian (Second Derivative) with 5*5 kernel and sharpen an
image
import cv2
import numpy as np
img = cv2.imread('lena.jpg',0)

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()

You might also like