Lab Assignment 1 Image Processing Using OpenCV
Lab Assignment 1 Image Processing Using OpenCV
img = cv2.imread("street.jpg")
cv2.imshow('Original 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()
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]]
...
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")
import cv2
import numpy as np
import matplotlib.pyplot as plt
from skimage.util import random_noise
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
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