Я очень новичок в OpenCV (и в StackOverflow). Я пишу программу с OpenCV, которая делает снимок с объектом (то есть ручкой (рис., Телефон), положенным на бумагу) и вычисляет , какой процент составляет объект изображения .
Проблема, с которой я сталкиваюсь, - это когда я пороговое изображение (пробное адаптивное и отсу ) фото немного затенено по краям:
Исходное изображение
Результирующая картинка
А вот и мой код:
import cv2
img = cv2.imread("image.png")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
b,g,r = cv2.split(img)
th, thresh = cv2.threshold(b, 100, 255, cv2.THRESH_BINARY|cv2.THRESH_OTSU)
cv2.imwrite("image_bl_wh.png", thresh)
Пытался размытие и морфология , но не смог этого сделать.
Как сделать так, чтобы моя программа считала черные части вокруг изображения в качестве фона, и есть ли более лучший и простой способ сделать это?
P.S. Извините за ошибки в грамматике английского языка.