0% found this document useful (0 votes)
31 views

Dip Lab Report

This lab report summarizes experiments implementing different image enhancement and transformation techniques, including negative transformation, log transformation, power law (gamma) transformation, and intensity level slicing. Code samples are provided to perform each technique on an input nature image. Output images are displayed and saved to show the results of applying each transformation method.

Uploaded by

damitif
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views

Dip Lab Report

This lab report summarizes experiments implementing different image enhancement and transformation techniques, including negative transformation, log transformation, power law (gamma) transformation, and intensity level slicing. Code samples are provided to perform each technique on an input nature image. Output images are displayed and saved to show the results of applying each transformation method.

Uploaded by

damitif
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Name: Dipanjan Mandal

UID: TNU2018020100016
Stream: B.tech in Computer Science Engineering with Specialization in Cyber Security, 4 th Year, 7th
Semester
Batch:2018-2022
Subject: Image Processing Lab Report

Experiment 2: Implement different types of image enhancement/transformation likes Image negative, log
transformation, power law transformation, intensity level slicing etc. in any programming language.

Input (Original image) used:

# load dependencies
import cv2
import matplotlib.pyplot as plt
import numpy as np
import math

#read original image


img = cv2.imread(‘D:\\image_processing\\Sample Images\\ nature.jpg.jpg)

Image negative:
Code:
# negative transformation of the image
img_neg = 1 - img
# result of negtaive transformation
cv2.imwrite(‘D:\\image_processing\\Sample Images\\img_neg.jpg', img_neg)
cv2.imshow("Output",img_neg)
cv2.waitKey(0)
cv2.destroyAllWindows()
Output Image for Negative Transformation:

Log transformation:
Code:
#log transformation of the image

#applying lof transformation method


c = 255 / np.log(1 + np.max(img))
log_img = c * (np.log(img + 1))

log_img = np.array(log_img, dtype = np.uint8)

#result for log transformation


cv2.imwrite(‘D:\\image_processing\\Sample Images\\log_img.jpg', log_img)
cv2.imshow("Output",log_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

Output Image for Log Transformation:


Power law transformation:
Code:
#power law transformation ( gamma trandformation)

#trying 3 gamma values


for gamma in [0.5, 1.2, 2.2, 3.2]:

#gamma correction
gamma_img = np.array(255 * (img / 255) ** gamma, dtype = 'uint8')

#save edited images


cv2.imwrite(‘D:\\image_processing\\Sample Images\\gamma_img'+str(gamma)+'.jpg', gamma_img)
cv2.imshow("Output",gamma_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

Output image for Power law Transformation:

Gamma = 0.5

Gamma = 1.2

Gamma = 2.2
Gamma = 3.2
Intensity level slicing:
Code
# image convert into gray scale
img = cv2.imread(‘D:\\image_processing\\Sample Images\\ nature.jpg,0)

# Save the grayscale original image


cv2.imwrite(‘D:\\image_processing\\Sample Images\\img.jpg', img)

# Display the image


cv2.imshow('original image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

# Find width and height of image


row, column = img.shape
# Create an zeros array to store the sliced image
img2 = np.zeros((row,column),dtype = 'uint8')

# Specify the min and max range


min_range = 10
max_range = 60

# Loop over the input image and if pixel value lies in desired range set it to 255 otherwise set it to 0.
for i in range(row):
for j in range(column):
if img[i,j]>min_range and img[i,j]<max_range:
img2[i,j] = 255
else:
img2[i,j] = 0
# Display the image
cv2.imshow('sliced image', img2)
cv2.waitKey(0)
cv2.destroyAllWindows()

#Save the sliced image


cv2.imwrite(‘D:\\image_processing\\Sample Images\\img2.jpg', img2)

Output image for Intensity Level Slicing

You might also like