Spaces:
Runtime error
Runtime error
| # -*- coding: utf-8 -*- | |
| """ | |
| Created on Sat Jul 22 14:22:34 2023 | |
| @author: SABARI | |
| """ | |
| import cv2 | |
| import numpy as np | |
| from skimage.filters import threshold_sauvola | |
| import tensorflow as tf | |
| from tensorflow.keras import backend as K | |
| import json | |
| def sauvola_thresholding(grayImage_,window_size=15): | |
| """" | |
| Sauvola thresholds are local thresholding techniques that are | |
| useful for images where the background is not uniform, especially for text recognition | |
| grayImage--- Input image should be in 2-Dimension Gray Scale format | |
| window_size --- It represents the filter window size | |
| """ | |
| thresh_sauvolavalue = threshold_sauvola(grayImage_, window_size=window_size) | |
| thresholdImage_=(grayImage_>thresh_sauvolavalue) | |
| return 1- np.uint8(np.array(thresholdImage_)*1) | |
| # Function to get coordinates of the object | |
| def get_object_coordinates(image): | |
| # Convert the image from BGR to GRAY color space | |
| grayImage=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY) | |
| # Create a mask using the specified color range | |
| thresholdedImage=sauvola_thresholding(grayImage) | |
| kernel = np.ones((35, 1), np.uint8) | |
| dilated_image = cv2.dilate(thresholdedImage, kernel, iterations=1) | |
| # Find contours in the mask | |
| contours, _ = cv2.findContours(dilated_image, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) | |
| coordinate = [] | |
| # Check if any contours were found | |
| if len(contours) > 0: | |
| for i in range(len(contours)): | |
| # Get the largest contour (assuming it's the object of interest) | |
| # largest_contour = max(contours, key=cv2.contourArea) | |
| # Get the bounding box of the contour | |
| x, y, w, h = cv2.boundingRect(contours[i]) | |
| coordinate.append([x,y,x+w,y+h]) | |
| # Calculate the center coordinates of the object | |
| # center_x = x + w // 2 | |
| # center_y = y + h // 2 | |
| return coordinate,thresholdedImage | |
| else: | |
| # Return None if no object was found | |
| return None,thresholdedImage | |