Professional Documents
Culture Documents
Digital Imaging Processing Lab Lab 12: Code
Digital Imaging Processing Lab Lab 12: Code
Lab 12
CODE:
import cv2 as cv
import numpy as np
import math
def orso_method(size):
kernel = np.zeros((size, size), dtype=np.uint8)
center = math.floor(size/2)
for i in range(len(kernel)):
if i < center:
if i == 0:
kernel[i, center] = 1
else:
counter = i
while True:
kernel[i, center] = 1
if counter == 0:
break
else:
kernel[i, center - counter] = 1
kernel[i, center + counter] = 1
counter -= 1
elif i > center:
if i == (len(kernel)-1):
kernel[i, center] = 1
else:
for k in range(len(kernel[i])):
kernel[i, k] = kernel[center - (i - center), k]
else:
for j in range(len(kernel[i])):
kernel[i, j] = 1
return kernel
def add_color(img):
object_banana = labels_value[1]
object_peach = labels_value[2]
for i in range(len(img)):
for j in range(len(img[i])):
if i >= object_banana[1]:
if i >= object_peach[1] and j >= object_peach[0]:
if img[i, j, 0] == 0 and img[i, j, 1] == 0 and img[i, j,
2] == 0:
continue
else:
img[i, j, 0] = color_value[2]
img[i, j, 1] = color_value[1]
img[i, j, 2] = color_value[0]
else:
if img[i, j, 0] == 0 and img[i, j, 1] == 0 and img[i, j,
2] == 0:
continue
else:
img[i, j, 0] = color_value[2]
img[i, j, 1] = color_value[1]
img[i, j, 2] = color_value[0]
if i >= object_peach[1] and j >= object_peach[0]:
if img[i, j, 0] == 0 and img[i, j, 1] == 0 and img[i, j, 2] ==
0:
continue
else:
img[i, j, 0] = color_value[2]
img[i, j, 1] = color_value[1]
img[i, j, 2] = color_value[0]
return img
def clearing_object(img):
kernel = orso_method(25)
if __name__ == "__main__":
img = cv.imread("image_lab12.png")
objects = clearing_object(img)
colored_objects = add_color(objects)
cv.imshow("Bounding Box.png", colored_objects)
cv.waitKey(0)
OUTPUTS: