Compare commits

...

2 Commits
draw ... main

1 changed files with 65 additions and 0 deletions

View File

@ -0,0 +1,65 @@
import numpy as np
import cv2 as cv
from matplotlib import pyplot as plt
imagepath = "E:\\ECAM\\2022-23\\Pathway Discovery Workshops\\images-20230626\\ecam.png"
# Load Image
im = cv.imread(imagepath)
if im is None:
print("Error: Image not found at", imagepath)
exit()
# Get Dimensions
dimensions = im.shape
height, width, channels = dimensions
print('Image Dimension :', dimensions)
print('Image Height :', height)
print('Image Width :', width)
print('Number of Channels :', channels)
# Resize Image
rwidth, rheight = 700, 700
rdim = (rwidth, rheight)
Resized_Image = cv.resize(im, rdim, interpolation=cv.INTER_AREA)
cv.imshow("Resized Image", Resized_Image)
cv.waitKey(0)
cv.destroyAllWindows()
# Convert to Grayscale
Gray_Img = cv.cvtColor(Resized_Image, cv.COLOR_BGR2GRAY)
cv.imshow("Grayscale Image", Gray_Img)
cv.waitKey(0)
cv.destroyAllWindows()
# Threshold Image
ret, Thresh_Img = cv.threshold(Gray_Img, 100, 255, 0)
cv.imshow("Threshold Image", Thresh_Img)
cv.waitKey(0)
cv.destroyAllWindows()
# Plot Histogram
hist = cv.calcHist([Gray_Img], [0], None, [256], [0, 256])
plt.figure()
plt.title("Grayscale Histogram")
plt.xlabel("Bins")
plt.ylabel("# of Pixels")
plt.plot(hist)
plt.xlim([0, 256])
plt.show()
# Find and Draw Contours on Resized Image
contours, hierarchy = cv.findContours(Thresh_Img, cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE)
contoured_image = Resized_Image.copy()
cv.drawContours(contoured_image, contours, -1, (0, 255, 0), 3)
cv.imshow("Contours on Resized Image", contoured_image)
cv.waitKey(0)
cv.destroyAllWindows()
# Draw Contours on Threshold Image
contoured_thresh = cv.cvtColor(Thresh_Img, cv.COLOR_GRAY2BGR)
cv.drawContours(contoured_thresh, contours, -1, (0, 255, 0), 3)
cv.imshow("Contours on Threshold Image", contoured_thresh)
cv.waitKey(0)
cv.destroyAllWindows()