I have this image
When I apply
from skimage import filters
result_sobel = filters.sobel(image)
The image is
How can I remove the bounding box outline so it blends with the background?
Ideally, the output will be the black background, and the red in between without the outlined bounding box.
Here is one way in Python/OpenCV. Just get the contours from the original gray image. Then draw those in black over your red outline image as 3 pixels thick (Sobel edge thickness). I note that your two images are not the same size and the outlines are shifted relative to the gray boxes. Why is that?
Gray Original:
Sobel Red Edges:
import cv2
import numpy as np
# read original image as grayscale
img = cv2.imread('gray_rectangle.png', cv2.IMREAD_GRAYSCALE)
hi, wi = img.shape[:2]
# read edge image
edges = cv2.imread('red_edges.png')
# edges image is larger than original and shifted, so crop it to same size
edges2 = edges[3:hi+3, 3:wi+3]
# threshold img
thresh = cv2.threshold(img, 0, 255, cv2.THRESH_BINARY)[1]
# get contours and draw them as black on edges image
result = edges2.copy()
contours = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
contours = contours[0] if len(contours) == 2 else contours[1]
cv2.drawContours(result, contours, -1, (0,0,0), 3)
# write result to disk
cv2.imwrite("red_edges_removed.png", result)
# display it
cv2.imshow("ORIG", img)
cv2.imshow("EDGES", edges)
cv2.imshow("THRESH", thresh)
cv2.imshow("RESULT", result)
cv2.waitKey(0)
Result: