matlab - 检测青光眼照片中的椭圆

标签 matlab image-processing ellipse model-fitting drawellipse

对于青光眼诊断,通常确定“视杯与视盘比率”,即比较视盘 (VDD) 和视杯 (VCD) 的直径。光盘显示为圆形红色特征(红色 channel ),视杯显示为黄色圆圈(绿色 channel )。如何计算视盘和视杯之间的直径比?

我能够通过精明的边缘检测来检测视盘,但我还没有找到计算视盘与视盘比率的方法。我该怎么做?

原始图片:

enter image description here

VDD 和 VCD:

enter image description here

最佳答案

我不熟悉你提到的术语。请检查以下代码是否适合您。

clc; clear all;

img = imread('vu4TL.jpg');

imgr = img(:,:,1);
imshow(imgr);
imgrb = im2bw(imgr,.99);

se = strel('disk',2);
imgrbc = imclose(imgrb,se);

[cr, rr] = imfindcircles(imgrbc,[4 100],'ObjectPolarity', ...
    'bright','Sensitivity',0.92);

imgr = img(:,:,2);
imgrb = im2bw(imgr,.99);

se = strel('disk',2);
imgrbc = imclose(imgrb,se);

[cg, rg] = imfindcircles(imgrbc,[4 100],'ObjectPolarity', ...
    'bright','Sensitivity',0.92);

imshow(img);
hr = viscircles(cr,rr);
hb = viscircles(cg,rg);

cdr = rr/rg;

fprintf('\ncdr = %f\n', cdr);

答案:

cdr = 2.225866

输出图像:

enter image description here

关于matlab - 检测青光眼照片中的椭圆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33784469/

相关文章:

python - 性能:Matlab 与 Python

opencv - 如何通过识别形状对人进行分类?

r - 如何将数据椭圆叠加在 ggplot2 散点图上?

r - 如何找到覆盖R中一组点的给定分数的最小椭圆?

java - 在已使用 Paint 方法的 JPanel 上绘制形状

matlab - 在 Simulink 中求解子系统内的 ODE

解决分配或与约束匹配的算法

matlab - 在 Matlab 中显示 Y Cb 和 Cr 分量

matlab - 对齐已捕获的 rgb 和深度图像

javascript - 尝试使用 PhantomJS 让 Affectiva 在 Node.js 上运行