0% found this document useful (0 votes)
5 views16 pages

Image Processing Techniques in Python

The document contains a series of Python programs using OpenCV for various image processing tasks, including reading, displaying, converting to grayscale, thresholding, resizing, rotating, flipping, and performing arithmetic operations on images. It also covers advanced techniques like histogram equalization, sharpening using high-pass filters, smoothing with mean and Gaussian filters, and adding salt & pepper noise with median filtering. Each program is presented with code snippets and explanations of the operations performed.

Uploaded by

sistubasak158
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views16 pages

Image Processing Techniques in Python

The document contains a series of Python programs using OpenCV for various image processing tasks, including reading, displaying, converting to grayscale, thresholding, resizing, rotating, flipping, and performing arithmetic operations on images. It also covers advanced techniques like histogram equalization, sharpening using high-pass filters, smoothing with mean and Gaussian filters, and adding salt & pepper noise with median filtering. Each program is presented with code snippets and explanations of the operations performed.

Uploaded by

sistubasak158
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

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

You might also like