0% found this document useful (0 votes)
17 views5 pages

Programs 8,11,12

DSV program 8, 11, 12

Uploaded by

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

Programs 8,11,12

DSV program 8, 11, 12

Uploaded by

Tushar Chopra
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

8. Write a program to show rotation, scaling, and translation on an image.

import cv2

import numpy as np

def translate_image(image, dx, dy):

rows, cols = image.shape[:2]

translation_matrix = np.float32([[1, 0, dx], [0, 1, dy]])

translated_image = cv2.warpAffine(image, translation_matrix, (cols, rows))

return translated_image

# Read the image

image = cv2.imread('sample.png')

# Get image dimensions

height, width = image.shape[:2]

# Calculate the center coordinates of the image

center = (width // 2, height // 2)

rotation_value = int(input("Enter the degree of Rotation:"))

scaling_value = int(input("Enter the zooming factor:"))

# Create the 2D rotation matrix

rotated = cv2.getRotationMatrix2D(center=center, angle=rotation_value, scale=1)

rotated_image = cv2.warpAffine(src=image, M=rotated, dsize=(width, height))

scaled = cv2.getRotationMatrix2D(center=center, angle=0, scale=scaling_value)

scaled_image = cv2.warpAffine(src=rotated_image, M=scaled, dsize=(width, height))

h = int(input("How many pixels you want the image to be translated horizontally? "))

v = int(input("How many pixels you want the image to be translated vertically? "))

translated_image = translate_image(scaled_image, dx=h, dy=v)

cv2.imwrite('Final_image.png', translated_image)
INPUT:

OUTPUT:

Creates a file: Final_image.png

11. Write a program to contour an image.

import cv2

import numpy as np

image_path = 'sample.png'
image = cv2.imread(image_path)

# Convert the image to grayscale (contours work best on binary images)

gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# Apply thresholding (you can use other techniques like Sobel edges)

_, binary_image = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)

# Find contours

contours, _ = cv2.findContours(binary_image, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

# Draw all contours on the original image

cv2.drawContours(image, contours, -1, (0, 255, 0), 3)

# Display the result

cv2.imshow('Contours', image)

cv2.waitKey(0)

cv2.destroyAllWindows()

INPUT:
OUTPUT:

12. Write a program to detect a face/s in an image.

import cv2

# Load the pre-trained Haar Cascade classifier for face detection

face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')

eye_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_eye.xml')

# Read the input image

image_path = 'faces.jpg'

image = cv2.imread(image_path)

# Convert the image to grayscale

gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# Detect faces in the image

faces = face_cascade.detectMultiScale(gray, scaleFactor=1.3, minNeighbors=5)

# Draw rectangles around detected faces

for (x, y, w, h) in faces:


cv2.rectangle(image, (x, y), (x + w, y + h), (255, 0, 0), 2)

# Save or display the result

cv2.imwrite('detected_faces.jpg', image) # Save the result

cv2.imshow('Detected Faces', image) # Display the result

cv2.waitKey(0)

cv2.destroyAllWindows()

INPUT:

OUTPUT:

You might also like