0% found this document useful (0 votes)
2 views11 pages

Lab Assignment 1 Image Processing Using OpenCV

The document contains Python code snippets for image processing using OpenCV and NumPy, demonstrating various operations such as reading images, converting to grayscale, applying filters, resizing, rotating, adding noise, and performing arithmetic operations on images. It also includes visualizations using Matplotlib for displaying images and histograms. The code showcases techniques like thresholding, sharpening, blurring, and contrast stretching, among others.

Uploaded by

ayctmuh93
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)
2 views11 pages

Lab Assignment 1 Image Processing Using OpenCV

The document contains Python code snippets for image processing using OpenCV and NumPy, demonstrating various operations such as reading images, converting to grayscale, applying filters, resizing, rotating, adding noise, and performing arithmetic operations on images. It also includes visualizations using Matplotlib for displaying images and histograms. The code showcases techniques like thresholding, sharpening, blurring, and contrast stretching, among others.

Uploaded by

ayctmuh93
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
You are on page 1/ 11

import cv2

img = cv2.imread("street.jpg")
cv2.imshow('Original Image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

path="C:/Users/Administrator/OneDrive/Desktop/Dr Prasanna devi/evening


classes/day 11/street.jpg"
img = cv2.imread(path)
cv2.imshow("image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

import numpy as np
import matplotlib.pyplot as plt
img1=cv2.imread("street.jpg")
plt.imshow(img1)
#picture in BGR format.
plt.show()

RGB_img = cv2.cvtColor(img1, cv2.COLOR_BGR2RGB)


#Displaying image using plt.imshow() method
plt.imshow(RGB_img)
plt.show()
print(img.size) #Total no of pixels
print(img.shape) # Width, height and number of channels
print(img[0,0]) #RGB values at pixel (0,0)
print(img) #RGB values of complete pixel

811512
(442, 612, 3)
[ 53 87 100]
[[[ 53 87 100]
[ 73 94 102]
[126 135 138]
...
[ 58 52 45]
[ 50 44 37]
[ 52 46 39]]

[[ 38 73 83]
[ 80 102 108]
[ 47 57 57]
...
[ 57 51 44]
[ 53 47 40]
[ 57 51 44]]

[[ 32 67 71]
[ 86 109 111]
[ 20 33 31]
...
[ 45 39 32]
[ 49 43 36]
[ 60 54 47]]

...

[[178 187 196]


[170 179 188]
[161 170 179]
...
[103 101 91]
[117 115 105]
[123 121 111]]

[[158 169 177]


[160 171 179]
[161 172 180]
...
[ 99 105 100]
[ 97 103 98]
[114 120 115]]

[[160 171 179]


[162 173 181]
[170 181 189]
...
[154 160 155]
[147 153 148]
[148 154 149]]]

import cv2
# Reading color image as grayscale(0)
gray = cv2.imread("street.jpg",0)
cv2.imshow("Grayscale Image", gray)
cv2.waitKey(0)
cv2.destroyAllWindows()

import cv2
img = cv2.imread("street.jpg")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow("Original Image",img)
cv2.imshow("Converted Image",gray)
cv2.waitKey(0)
cv2.destroyAllWindows()

import cv2
import numpy as np
import matplotlib.pyplot as plt
img = cv2.imread("street.jpg")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
imgRGB = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
ret, thresh1 = cv2.threshold(gray, 120, 255, cv2.THRESH_BINARY)
ret, thresh2 = cv2.threshold(gray, 120, 255, cv2.THRESH_BINARY_INV)
ret, thresh3 = cv2.threshold(gray, 120, 255, cv2.THRESH_TRUNC)
ret, thresh4 = cv2.threshold(gray, 120, 255, cv2.THRESH_TOZERO)
ret, thresh5 = cv2.threshold(gray, 120, 255, cv2.THRESH_TOZERO_INV)
titles = ['OriImg', 'Gray Scale', 'BINARY', 'BINARY INV', 'TRUNC',
'TOZERO', 'TOZERO INV']
images = [imgRGB,gray,thresh1, thresh2, thresh3, thresh4, thresh5]
for i in range(7):
plt.subplot(2,4,i+1),plt.imshow(images[i],'gray')
plt.title(titles[i])
plt.xticks([]),plt.yticks([])
plt.show()

img = cv2.imread("street.jpg")
# Converting color image to grayscale image
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imwrite('gray_street.jpg',gray)

True

import cv2
import numpy as np
img = cv2.imread("C:/Users/Administrator/OneDrive/Desktop/Dr Prasanna
devi/evening classes/day 11/street.jpg")
kernel = np.array([[0, -1, 0], [-1, 5,-1], [0, -1, 0]])
image_sharp = cv2.filter2D(src=img, ddepth=-1, kernel=kernel)
cv2.imshow('Original Image', img)
cv2.imshow('Sharpened Image', image_sharp)
cv2.waitKey()
cv2.destroyAllWindows()

import cv2
import numpy as np
img = cv2.imread("C:/Users/Administrator/OneDrive/Desktop/Dr Prasanna
devi/evening classes/day 11/sample.jpg")
kernel = np.array([[0, -1, 0], [-1, 5,-1], [0, -1, 0]])
image_sharp = cv2.filter2D(src=img, ddepth=-1, kernel=kernel)
cv2.imshow('Original Image', img)
cv2.imshow('Sharpened Image', image_sharp)
cv2.waitKey()
cv2.destroyAllWindows()

import cv2
import numpy as np
img = cv2.imread("C:/Users/Administrator/OneDrive/Desktop/Dr Prasanna
devi/evening classes/day 11/street.jpg")
kernel = np.array([[0, -1, 0], [-1, 4,-1], [0, -1, 0]])
image_edge = cv2.filter2D(src=img, ddepth=-1, kernel=kernel)
cv2.imshow('Original Image', img)
cv2.imshow('Edge Image', image_edge)
cv2.imwrite('street_edge.jpg', image_edge)
cv2.waitKey()
cv2.destroyAllWindows()

import cv2
import numpy as np
img = cv2.imread("C:/Users/Administrator/OneDrive/Desktop/Dr Prasanna
devi/evening classes/day 11/sample.jpg")
kernel = np.array([[0, -1, 0], [-1, 4,-1], [0, -1, 0]])
image_edge = cv2.filter2D(src=img, ddepth=-1, kernel=kernel)
cv2.imshow('Original Image', img)
cv2.imshow('Edge Image', image_edge)
cv2.imwrite('street_edge.jpg', image_edge)
cv2.waitKey()
cv2.destroyAllWindows()

import cv2
img = cv2.imread('C:/Users/Administrator/OneDrive/Desktop/Dr Prasanna
devi/evening classes/day 11/street.jpg')
height, width = img.shape[:2]
res = cv2.resize(img,(2*width, 2*height), interpolation =
cv2.INTER_CUBIC)
cv2.imshow("Origimal Image",img)
cv2.imshow("Resized Image",res)
cv2.waitKey(0); cv2.destroyAllWindows()
import cv2
img = cv2.imread('street.jpg')
res = cv2.resize(img,None,fx=0.5, fy=0.5, interpolation =
cv2.INTER_CUBIC)
cv2.imshow("Original Image",img)
cv2.imshow("Resized Image",res)
cv2.waitKey(0)
cv2.destroyAllWindows()

import cv2
img = cv2.imread('street.jpg',0)
rows, cols = img.shape
M = cv2.getRotationMatrix2D((cols/2,rows/2),180,1)
#para: centre of rotation, angle, scale
dst = cv2.warpAffine(img,M,(cols,rows))
cv2.imshow("Original Image",img)
cv2.imshow("Rotated Image",dst); cv2.waitKey(0);
cv2.destroyAllWindows()

import cv2
img = cv2.imread('street.jpg',0)
R = cv2.rotate(img, cv2.ROTATE_90_COUNTERCLOCKWISE)
cv2.imshow("Original Image",img)
cv2.imshow("Rotated Image",R)
cv2.waitKey(0); cv2.destroyAllWindows()

import cv2
import numpy as np
import matplotlib.pyplot as plt
from skimage.util import random_noise

img = cv2.imread("street.jpg")

noise_img = random_noise(img, mode='gaussian' , mean=0,var=0.01)

noise_img = np.array(255*noise_img, dtype = 'uint8')


cv2.imshow('Original Image', img)
cv2.imshow('Noisy Image',noise_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

import cv2
import numpy as np
import matplotlib.pyplot as plt
from skimage.util import random_noise

img = cv2.imread("C:/Users/Administrator/OneDrive/Desktop/Dr Prasanna


devi/evening classes/day 11/sample.jpg")

noise_img = random_noise(img, mode='gaussian' , mean=0,var=0.01)


noise_img = np.array(255*noise_img, dtype = 'uint8')
cv2.imshow('Original Image', img)
cv2.imshow('Noisy Image',noise_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

import cv2
import numpy as np
from skimage.util import random_noise
img = cv2.imread("street.jpg")
noise_img = random_noise(img, mode='s&p',amount=0.1)
noise_img = np.array(255*noise_img, dtype = 'uint8')
cv2.imshow('Original Image', img)
cv2.imshow('Noisy Image',noise_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

import cv2
from matplotlib import pyplot as plt
img = cv2.imread("street.jpg")
median = cv2.medianBlur(img,5)
cv2.imshow('Original Image', img)
cv2.imshow('Enhanced Image', median)
cv2.waitKey(0)
cv2.destroyAllWindows()

import cv2
import numpy as np
from matplotlib import pyplot as plt
img = cv2.imread('street.jpg')
blur = cv2.GaussianBlur(img,(11,11),0)
cv2.imshow('Original Image', img)
cv2.imshow('Smoothend Image',blur)
cv2.waitKey(0)
cv2.destroyAllWindows()

import cv2
import numpy as np
img = cv2.imread('street.jpg',0)
rows,cols = img.shape
M = np.float32([[1,0,100],[0,1,50]])
dst = cv2.warpAffine(img,M,(cols,rows))
cv2.imshow('Original image',img)
cv2.imshow('Translated image',dst); cv2.waitKey(0);
cv2.destroyAllWindows()
print(img.size)
print(img.shape)
print(img)
270504
(442, 612)
[[ 87 94 135 ... 51 43 45]
[ 72 101 56 ... 50 46 50]
[ 64 107 31 ... 38 42 53]
...
[189 181 172 ... 98 112 118]
[170 172 173 ... 103 101 118]
[172 174 182 ... 158 151 152]]

import cv2
import numpy as np
from matplotlib import pyplot as plt

# Load the image in grayscale mode


img = cv2.imread('street.jpg', 0)

# Create a subplot for displaying the image and histogram


plt.figure(figsize=(10, 5)) # Optional: Adjusts the figure size for
better visualization

# Display the grayscale image


plt.subplot(2, 2, 1)
plt.imshow(img, cmap='gray') # Corrected 'gray' to be a string
argument
plt.title('Grayscale Image')
plt.axis('off') # Hide axes for the image

# Display the histogram


plt.subplot(2, 2, 2)
plt.hist(img.ravel(), 256, [0, 256]) # ravel() flattens the image
array
plt.title('Histogram')
plt.xlabel('Pixel Intensity')
plt.ylabel('Frequency')

# Show the plots


plt.tight_layout() # Adjusts spacing between plots for better display
plt.show()
import cv2
im = cv2.imread('street.jpg',0)
img = 255-im
cv2.imshow('Original', im)
cv2.imshow('Complement', img)
cv2.waitKey(0); cv2.destroyAllWindows()

import cv2
import numpy as np
# Function to map each intensity level to output intensity level.
def pixelVal(pix, r1, s1, r2, s2):
if (0 <= pix and pix <= r1):
return (s1 / r1)*pix
elif (r1 < pix and pix <= r2):
return ((s2 - s1)/(r2 - r1)) * (pix - r1) + s1
else:
return ((255 - s2)/(255 - r2)) * (pix - r2) + s2
img = cv2.imread('street.jpg',0)
r1 = 30
s1 = 0
r2 = 40
s2 = 255
# Vectorize the function to apply it to each value in the Numpy array.
pixelVal_vec = np.vectorize(pixelVal)
contrast_stretched = pixelVal_vec(img, r1, s1, r2, s2)
cv2.imshow('Original', img)
cv2.imshow('Contrast streched', contrast_stretched)
cv2.waitKey(0)
cv2.destroyAllWindows()

import cv2
import numpy as np
img = cv2.imread('street.jpg',0)
c = 255/(np.log(1 + np.max(img)))
log_transformed = c * np.log(1 + img)
log_transformed = np.array(log_transformed, dtype = np.uint8)
cv2.imshow('Original', img)
cv2.imshow('log_transformed', log_transformed)
cv2.waitKey(0)
cv2.destroyAllWindows()

C:\Users\Administrator\AppData\Local\Temp\
ipykernel_11320\3227695975.py:5: RuntimeWarning: divide by zero
encountered in log
log_transformed = c * np.log(1 + img)
C:\Users\Administrator\AppData\Local\Temp\
ipykernel_11320\3227695975.py:6: RuntimeWarning: invalid value
encountered in cast
log_transformed = np.array(log_transformed, dtype = np.uint8)

import cv2
im1= cv2.imread('street.jpg', 1)
im2 = cv2.imread('gray_street.jpg', 1)
img = cv2.add(im1,im2)
cv2.imshow('image one', im1)
cv2.imshow('image two', im2)
cv2.imshow('Result of addition', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

import cv2
im1= cv2.imread('street.jpg', 1)
im2 = cv2.imread('gray_street.jpg', 1)
img = cv2.subtract(im1,im2)
cv2.imshow('image one', im1)
cv2.imshow('image two', im2)
cv2.imshow('Result of subtraction', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

import cv2
im1= cv2.imread('street.jpg', 1)
im2 = cv2.imread('gray_street.jpg', 1)
img = cv2.multiply(im1,im2)
cv2.imshow('image one', im1)
cv2.imshow('image two', im2)
cv2.imshow('Result of multiplication', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

import cv2
im1= cv2.imread('street.jpg', 1)
im2 = cv2.imread('gray_street.jpg', 1)
img = im1/im2
cv2.imshow('image one', im1)
cv2.imshow('image two', im2)
cv2.imshow('Result of division', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

C:\Users\Administrator\AppData\Local\Temp\
ipykernel_11320\2320871645.py:4: RuntimeWarning: divide by zero
encountered in divide
img = im1/im2
C:\Users\Administrator\AppData\Local\Temp\
ipykernel_11320\2320871645.py:4: RuntimeWarning: invalid value
encountered in divide
img = im1/im2

You might also like