В настоящее время я пытаюсь обнаружить оба; чашку и диск образа Глаукомы. Они, как эти два выделяются из остальной части изображения, они ярче, чем остальная часть изображения. Но чаша ярче диска, поэтому я могу только обнаружить чашку. Я хочу достичь, чтобы окружить оба; чашку и диск с двумя разными кругами. Чаша является самой яркой из изображений, а вторая - самой яркой. Как я это сделал?Использование opencv, как получить вторую самую яркую область изображения?
Вот мой код (. Только обнаруживает чашку и обводит его я»пытаюсь обнаружить как;. Кубок и диск, и окружить их обоих с различными кругами)
image = cv2.imread(args["image"])
orig = image.copy()
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
gray = cv2.GaussianBlur(gray, (args["radius"], args["radius"]), 0)
(minVal, maxVal, minLoc, maxLoc) = cv2.minMaxLoc(gray)
image = orig.copy()
cv2.circle(image, maxLoc, args["radius"], (255, 0, 0), 2)
cv2.namedWindow("Test", cv2.WINDOW_NORMAL)
cv2.imshow("Test", image)
cv2.waitKey(0)
Я также пытаюсь сделать это без ввода радиуса вручную. Поделитесь, если у вас есть идея для этого.
Вот образец изображения Глаукомы. Самая яркая часть в круге - чаша, а больший круг вокруг нее - это диск.
1. попытайтесь сгруппировать свои пиксели в зависимости от их интенсивности, скажем, с помощью k-средств, и вы можете найти диск таким образом. 2. Похоже, что диск и остальная часть Глаукомы имеют четкий круговой край. Вы можете сначала рассчитать краевое изображение и найти круг в этом изображении. – DXM
@DXM Как получить изображение края? Я пробовал, но я получаю край самой глаукомы. –
Нарушение полностью темно? Вычислите маску для Глаукомы, вы можете попробовать применить ее к маске до или после обнаружения края. Если вы уже пытались обнаружить Canny edge, вы также можете попытаться просто вычислить градиент изображения, используя sobel или другого оператора. – DXM