Digital Image Processing Lab Manual# 3

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

Lab # 3 OpenCV_Continued

Objective:
The objective of this lab is to introduce further OpenCV functions especially with respect to
image processing.

Theory:

Access Camera Using OpenCV with Python


 First, we Import libraries OpenCV.
 Then we use VideoCapture(0) function to capture the feed of the webcam, here 0 indicates the
default value of webcam. If you have secondary webcam use 1 instead of 0
 Now read the frame of the camera frame by frame
 ret is a boolean variable that checks if the camera is on or not
 the frame is a variable in which all the camera feed is being saved
Code:
import cv2
capture=cv2.VideoCapture(0)
while True:
ret,frame=capture.read()
cv2.imshow('Color',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
cv2.imwrite("DIP.jpg",frame)
break
capture.release()
cv2.destroyAllWindows()

Flip:

We can flip an image around either the x-axis, y-axis, or even both.

Basic Syntax is :

flipped = cv2.flip(image, value)

Value is 1 for horizontal flipping. Value is 0 for verticl flipping. Value is -1 for both axis.

Rotate:

cv2.rotate() method is used to rotate a 2D array in multiples of 90 degrees. The function


cv::rotate rotates the array in three different ways.

1. Rotate by 90 degrees clockwise:


cv2.rotate(image to be rotated, cv2.ROTATE_90_CLOCKWISE)
2. Rotate by 180 degrees clockwise: cv2.ROTATE_180
3. Rotate by 270 degrees clockwise : cv2.ROTATE_90_COUNTERCLOCKWISE

Concatenation of images:
To concatenate images vertically and horizontally with Python, cv2 library comes with two
functions as:
1. hconcat(): It is used as cv2.hconcat() to concatenate images horizontally. Here h means
horizontal. cv2.hconcat() is used to combine images of same height horizontally.
2. vconcat(): It is used as cv2.vconcat() to concatenate images vertically. Here v means
vertical. cv2.vconcat() is used to combine images of same width vertically.

Arithmetic and Logical Operators- Bitwise AND, OR, NOR, XOR


Arithmetic Operations like Addition, Subtraction, and Bitwise Operations(AND, OR,
NOT, XOR) can be applied to the input images
1. Addition
2. Subtraction
Bitwise operations are used in image manipulation and used for extracting essential parts
in the image. In this article, Bitwise operations used are:
1. Bitwise AND
2. Bitwise OR
3. Bitwise XOR
4. Bitwise NOT

1. Addition
 Syntax: cv2.add(img1, img2)
But adding the pixels is not an ideal situation. So, we use cv2.addweighted(). Remember, both
images should be of equal size and depth.

 Syntax: cv2.addWeighted(img1, wt1, img2, wt2, gammaValue)

Parameters:

 img1: First Input Image array(Single-channel, 8-bit or floating-point)


 wt1: Weight of the first input image elements to be applied to the final image
 img2: Second Input Image array(Single-channel, 8-bit or floating-point)
 wt2: Weight of the second input image elements to be applied to the final image
 gammaValue: Measurement of light
2.Subtraction of Image:

Just like addition, we can subtract the pixel values in two images and merge them with the help
of cv2.subtract(). The images should be of equal size and depth.

Syntax: cv2.subtract(image1, image2)

3. AND: A bitwise AND is true if and only if both pixels are greater than zero.

4. OR: A bitwise OR is true if either of the two pixels is greater than zero.

5. XOR: A bitwise XOR is true if and only if one of the two pixels is greater than zero, but not
both.

6. NOT: A bitwise NOT inverts the “on” and “off” pixels in an image.

Syntax:

bitwiseAnd = cv2.bitwise_and(rectangle, circle)

bitwiseOr = cv2.bitwise_or(rectangle, circle)

bitwiseXor = cv2.bitwise_xor(rectangle, circle)

bitwiseNot = cv2.bitwise_not(circle)

Lab tasks:

Task#1 : Use the given below images as your input images and perform all arithmetic and
logical operations. Show your show and also state your observations for each.
Task#2: Capture your own image through webcam and save it.
Task#3 Perform all the types of flipping on the captured image. Show the flipped images.
Task#4 Perform all the types of rotations on the captured image. Show the rotated images.
Task#5 Concatenate the original and flipped images into 1 image. Similarly concatenate all the
rotated images into 1 images.

You might also like