sir, here is an sample demo,for other image,may be use some DeepLearning method,such as yolo、frcnn
clc; clear all; close all;
img = imread('https://ww2.mathworks.cn/matlabcentral/answers/uploaded_files/774283/Hole_1.jpg');
im = rgb2gray(img);
bw = imbinarize(im,'adaptive','ForegroundPolarity','dark','Sensitivity',0.6);
bw = imopen(bw, strel('disk', 7));
bw = imclose(bw, strel('disk', 7));
bw = imdilate(bwareafilt(bw,1), strel('disk', 17));
[r,c] = find(bw);
wh = 7;
rect = [min(c)-wh min(r)-wh max(c)-min(c) max(r)-min(r)];
figure; imshow(img);
hold on; rectangle('Position', rect, 'EdgeColor', 'r', 'LineWidth', 2, 'LineStyle', '-');