从二维图像中提取视网膜区域

Extracting retina region from 2D images

我正在研究糖尿病视网膜病变检测。该数据库包含如下所示的 2D 图像:

现在,我只想从图像中提取视网膜部分,以便最终图像看起来像这样:

我试过 CannyHoughCircles 但都失败了。有什么方法可以使用 OpenCvscikit-imagePIL 提取该区域?

由于前景如此明显,您可以使用简单的阈值来找到它,然后使用regionprops来获得您需要的作物:

from skimage import io, color, filters, measure

image = io.imread('https://i.stack.imgur.com/kKBiU.jpg')
grayscale = color.rgb2gray(image)
foreground = (grayscale > filters.threshold_otsu(grayscale)).astype(int)
foreground_properties = measure.regionprops(foreground)[0]
cropped = image[foreground_properties.slice]