Q1.
Write a program to read and display an image; convert it into a gray-scale image and
then convert the gray-scale image into black & white image using threshold value as 127 &
mean value and display results.
Ans:- import cv2
col_image=[Link]('C:\\Users\\soumy\\OneDrive\\Pictures\\Edu\\fcb [Link]',1)
[Link]('Original Color_Image',col_image)
gray_image=[Link](col_image,cv2.COLOR_BGR2GRAY)
[Link]('Gray-scale Image',gray_image)
_,binary_image=[Link](gray_image,127,255,cv2.THRESH_BINARY)
[Link]('Binary Image',binary_image)
m=int(gray_image.mean())
print(m)
_,binary_image_m=[Link](gray_image,m,255,cv2.THRESH_BINARY)
[Link]('Binary Image(Threshold Mean)',binary_image_m)
[Link](0)
[Link]()
1
Q2. Write a program to read an image and resize it and display.
Ans:- import cv2
orginal_im=[Link]('C:\\Users\\soumy\\OneDrive\\Pictures\\Edu\\fcb [Link]',1)
[Link]('Original Image',orginal_im)
gray_im=[Link](orginal_im,cv2.COLOR_BGR2GRAY)[Link]('Gray Scale
Image',gray_im)
w,h=gray_im.shape
print(w,h)
reduced_size=(w//2,h//2)
print(reduced_size)
reduced_im=[Link](gray_im,reduced_size,interpolation=cv2.INTER_CUBIC)
[Link]('Reduced Gray Image',reduced_im)
enlarged_size=(w*2,h*2)
print(enlarged_size)
enlarged_im=[Link](gray_im,enlarged_size,interpolation=cv2.INTER_CUBIC)
[Link]('Enlarged Image',enlarged_im)
[Link](0)
[Link]()
2
Q3. Write a program to read an image and rotate it in clockwise and anticlockwise
direction.
Ans:- import cv2
col_image=[Link]('’C:\\Users\\soumy\\OneDrive\\Pictures\\Edu\\fcb [Link]',1)
w,h=col_image.shape[:2]
center=(w//2,h//2)
angle=int(input('Enter an angle in degree(+ve/-ve for clockwise/anticlockwise:'))
scale=1
rotation_matrix=cv2.getRotationMatrix2D(center,angle,scale)
rotated_image=[Link](col_image,rotation_matrix,(w,h))
[Link]('Orginal Image',col_image)
[Link]('Rotated Color_Image',rotated_image)
[Link](0)
[Link]()
3
Q4. Write a program to implement the following: a) flipping of an image. b) scaling of an
image.
Ans:- a) import cv2
image1=[Link]('C:\\Users\\soumy\\OneDrive\\Pictures\\Edu\\fcb [Link]',1)
[Link]('Barcelona',image1)
image2=[Link](image1,0)
[Link]('Vertical',image2)
image3=[Link](image1,1)
[Link]('Horizontal',image3)
image4=[Link](image1,-1)
[Link]('Flipping(Both)',image4)
[Link](0)
[Link]()
4
b) import cv2
im=[Link]('C:\\Users\\soumy\\OneDrive\\Pictures\\Edu\\fcb [Link]',1)
[Link]('Orginal Image',im)
w,h,c=[Link]
print(w,h)
scale_x=0.5
scale_y=0.5
reduced_im=[Link](im,None,fx=scale_x,fy=scale_y,interpolation=cv2.INTER_CUBI
print(reduced_im.shape)
[Link]('Reduced Gray Image',reduced_im)
[Link](0)
[Link]()
5
Q5. Write a program to read an image to implement a) Negative of an image(color & gray-
scale). b) Addition of two images. c) Subtraction of two images.
Ans:- a) import cv2
col_image=[Link]('C:\\Users\\soumy\\OneDrive\\Pictures\\Edu\\fcb [Link]',1)
[Link]('Orginal Color_Image',col_image)
gray_image=[Link](col_image,cv2.COLOR_BGR2GRAY)
[Link]('Gray-scale Image',gray_image)
negative_col_image=255-col_image
[Link]('Negative of Color Image',negative_col_image)
negative_gray_image=255-gray_image
[Link]('Negative of Gray-scale Image',negative_gray_image)
[Link](0)
[Link]()
6
b) import cv2
image1=[Link]('C:\\Users\\soumy\\OneDrive\\Pictures\\Edu\\fcb [Link]',0)
image2=[Link]('C:\\Users\\soumy\\OneDrive\\Pictures\\Edu\\inter [Link]',0)
w,h=[Link][:2]
image2=[Link](image2,(h,w),interpolation=cv2.INTER_CUBIC)
print([Link])
print([Link])
[Link]('Barcelona',image1)
[Link]('InterMilan',image2)
add_im=[Link](image1,0.5,image2,0.5,0)
[Link]('addition',add_im)
[Link](0)
[Link]()
7
8
c) import cv2
image1=[Link]('C:\\Users\\soumy\\OneDrive\\Pictures\\Edu\\fcb [Link]',0)
print([Link])
print([Link])
image2=[Link]('C:\\Users\\soumy\\OneDrive\\Pictures\\Edu\\inter [Link]',0)
print([Link])
w,h=[Link]
image2=[Link](image2,(h,w),interpolation=cv2.INTER_CUBIC)
print([Link])
[Link]('Barcelona',image1)
[Link]('InterMilan',image2)
sub_im=image1-image2
[Link]('Subtraction',sub_im)
[Link](0)
[Link]()
9
Q6. Write a program to read an image to implement AND operation of two images &OR
operation of two images.
Ans:- import cv2
image1=[Link](' C:\\Users\\soumy\\OneDrive\\Pictures\\Edu\\fcb [Link] ',0)
print([Link])
print([Link])
image2=[Link](' C:\\Users\\soumy\\OneDrive\\Pictures\\Edu\\inter [Link] ',0)
print([Link])
w,h=[Link]
image1=[Link](image1,(300,300),interpolation=cv2.INTER_CUBIC)
image2=[Link](image2,(300,300),interpolation=cv2.INTER_CUBIC)
print([Link])
[Link]('Barcelona',image1)
[Link]('InterMilan',image2)
ba_im=cv2.bitwise_and(image1,image2)
bo_im=cv2.bitwise_or(image1,image2)
[Link]('Bitwise AND',ba_im)
[Link]('Bitwise OR',bo_im)
[Link](0)
[Link]()
10
Q7. Write a program to implement Histogram Equalization on a gray scale image.
Ans:- import cv2
import numpy as np
from matplotlib import pyplot as plt
im = [Link]('C:\\Users\\nachi\\OneDrive\\Desktop\\project-
a\\240_F_555052045_pR45HJOz1KhZjZPRNkSY0dkU6Pt3WsLz.jpg',0)
print([Link])
hist_im = [Link]([im],[0],None,[256],[0,256])
hist_im=hist_im/hist_im.sum()
equ_im = [Link](im)
hist_equ_im = [Link]([equ_im],[0],None,[256],[0,256])
hist_equ_im=hist_equ_im/hist_equ_im.sum()
fig,axes=[Link](2,2,figsize=(10,8))
axes[0,0].imshow(im,'gray')
axes[0,0].set_title('Original Image')
axes[0,0].axis('off')
11
axes[0,1].plot(hist_im)
axes[0,1].set_title('Histogram of the Original Image(Normalized)')
axes[0,1].set_xlabel('Intensity')
axes[0,1].set_ylabel('Frequency')
axes[0,1].set_xlim([0, 256])
axes[1,0].imshow(equ_im,'gray')
axes[1,0].set_title('Equalized Image')
axes[1,0].axis('off')
axes[1,1].plot(hist_equ_im)
axes[1,1].set_title('Histogram of the Equalized Image(Normalized)')
axes[1,1].set_xlabel('Intensity')
axes[1,1].set_ylabel('Frequency')
axes[1,1].set_xlim([0, 256])
fig.tight_layout(pad=1.0)
[Link]()
[Link](0)
[Link]()
12
Q8. Write a program to implement sharpening(Highpass) Frequency Domain Filters on a
gray-scale image.
Ans:- import cv2
import numpy as np
from matplotlib import pyplot as plt
im = [Link]('C:\\Users\\nachi\\OneDrive\\Desktop\\project-
a\\240_F_555052045_pR45HJOz1KhZjZPRNkSY0dkU6Pt3WsLz.jpg',0)
print([Link])
f=[Link].fft2(im)
ft=[Link](f)
w, h = [Link]
cu, cv = w // 2, h // 2
sigma = 10
x, y = [Link]((w,h))
gaussian = [Link](-((x - cu)**2 + (y - cv)**2) / (2 * sigma**2))
13
high_pass_filter = 1 - gaussian
filtered_f_ishift = ft * high_pass_filter
img_back = [Link].ifft2(filtered_f_ishift)
img_back = [Link](img_back)
[Link](img_back, img_back, 0, 255, cv2.NORM_MINMAX)
sharp_img = np.uint8(img_back)
[Link]('Original Image', im)
[Link]('Sharpened Image', sharp_img)
[Link](0)
[Link]()
Q9. Write a program to implement smoothing(blurring) an image using Mean Filter and
Gaussian Mean Filter.
Ans:- import cv2
a=[Link]('C:\\Users\\soumy\\OneDrive\\Pictures\\Edu\\fcb [Link]',0)
b=[Link](a,(7,7))
c=[Link](a,(7,7),0)
[Link]('Orginal Image',a)
[Link]('Bluring(average) Image',b)
[Link]('Bluring(Gaussian) Image',c)
[Link](0)
[Link]()
14
Q10. Write a program to implement Salt &Pepper noise using Median Filter.
Ans:- import cv2
import numpy as np
a=[Link]('C:\\Users\\soumy\\OneDrive\\Pictures\\Edu\\fcb [Link]',0)
[Link]('Noisy Image',a)
m,n=[Link]
c=[Link]([m,n])
for i in range(1,m-1):
for j in range(1,n-1):
b=[a[i-1,j-1],a[i-1,j],a[i-1,j+1],a[i,j-1],a[i,j],a[i,j+1],a[i+1,j-1],a[i+1,j],a[i+1,j+1]]
b=sorted(b)
c[i,j]=b[4]
c=[Link](np.uint8)
[Link]('Noisy Image',a)
[Link]('Median Filtered',c)
15
[Link](0)
[Link]()
16