糖尿病性视网膜病变的自动检测

2视图(30天)
任何专家能帮我解决这个错误吗
clc
清除所有
关闭所有
光盘数据库
DF = []
因为我= 1:36时
%圣= int2str(我)
% str = strcat (st . jpg);
I = imread (“image001.png”);
我=我(::2);
I = imresize(我,(200 200));
L =双(I);
% % lapale
sp = fspecial(拉普拉斯算子);
M = imfilter (sp);
%,发现平均梯度问
Q =平均(平均(M));
t = 191.25;
T = M >;
BW = bwareaopen (T, 2);
N = BW;
(mn) = (n)大小;
ed = [];
特克斯= [];
p = 0;
q = 0;
i = 1: m
j = 1: n
如果N (i, j) = = 0
p = p + 1;
特克斯(p) =我(I, j);
其他的
q = q + 1;
ed (q) = M (i, j);
结束
结束
结束
地中海=意味着(ed (:));
Mtex =意味着(特克斯(:));
v1 = (Med-Q) /地中海;
v2 = (Q-Mtex) / Q;
% v找到
v = order7 (M t v1、v2);
%卷积的面具
S = padarray (L, (2, 2));
(mn) = (S)大小;
J = 0(大小(S));
i1 = 1: m-4
j - 1 = 1: 4
F2 = [v (i1, j - 1) / (8 * (v (i1, j - 1) 2) 0 v (i1, j - 1) / (8 * (v (i1, j - 1) 2) 0 v (i1, j - 1) / (8 * (v (i1, j - 1) 2));
0 - (v (i1, j - 1) / (4 * (v (i1, j - 1) ^ 2 - 3 * (i1, j - 1) + 2)))——(v (i1, j - 1) / (4 * (v (i1, j - 1) ^ 2 - 3 * (i1, j - 1) + 2)))——(v (i1, j - 1) / (4 * (v (i1, j - 1) ^ 2 - 3 * (i1, j - 1) + 2))) 0;
v (i1, j - 1) / (8 * (v (i1, j - 1) 2))——(v (i1, j - 1) / (4 * (v (i1, j - 1) ^ 2 - 3 * (i1, j - 1) + 2))) / 8 (8 - 12 * v (i1, j - 1) + 4 * (i1, j - 1) ^ 2)——(v (i1, j - 1) / (4 * (v (i1, j - 1) ^ 2 - 3 * (i1, j - 1) + 2))) v (i1, j - 1) / (8 * (v (i1, j - 1) 2));
0 - (v (i1, j - 1) / (4 * (v (i1, j - 1) ^ 2 - 3 * (i1, j - 1) + 2)))——(v (i1, j - 1) / (4 * (v (i1, j - 1) ^ 2 - 3 * (i1, j - 1) + 2)))——(v (i1, j - 1) / (4 * (v (i1, j - 1) ^ 2 - 3 * (i1, j - 1) + 2))) 0;
v (i1, j - 1) / (8 * (v (i1, j - 1) 2) 0 v (i1, j - 1) / (8 * (v (i1, j - 1) 2) 0 v (i1, j - 1) / (8 * (v (i1, j - 1) 2)));
J (i1, J - 1) =总和(和((F2)。* S (i1: i1 + 4, J - 1: J - 1 + 4)));
结束
结束
% % prepro
g = fspecial(“高斯”);
pre = imfilter(双(J), g);
% %的阈值
gr = uint8(前);
th = graythresh (gr);
= gr > 140;
%,imshow(是)
gchanel = uint8(前);%绿色香奈儿提取
Igchanel = imcomplement (gchanel);%反演
conenhance = adapthisteq (Igchanel);%对比度增强
gg = fspecial(“高斯”,2)
g = imfilter (conenhance, gg);%高斯滤波
se = strel(8)“球”,8日;
大礼帽= imtophat (g, se);%大礼帽变换
地中海= medfilt2(顶环);%中值滤波
背景= imopen(地中海,strel(“磁盘”,15));
I2 =地中海-背景;%的背景去除
I3 = imadjust (I2); %强度调整
水平= graythresh (gchanel);%灰度阈值
bw = imbinarize (I3、水平);
se = strel(“磁盘”,2);
di = imdilate (bw, se);
se = strel(“磁盘”,4)
呃= imerode (di, se);
帖子= bwareaopen (bw, 8);
re = imresize (bw (200 200));
outt = immultiply(我imcomplement (re));
% %,imshow (outt)
% %的特性
船= outt;
I2 =船;
m =大小(I2, 1);
n =大小(I2, 2);
di = 2: m - 1
dj = 2: n - 1
J10 = I2 (di, dj);
I3 (di-1 dj-1) = I2 (di-1 dj-1) > J10;
I3 (di-1 dj) = I2 (di-1 dj) > J10;
I3 (di-1, dj + 1) = I2 (di-1, dj + 1) > J10;
I3 (di, dj + 1) = I2 (di, dj + 1) > J10;
I3 (di + 1, dj + 1) = I2 (di + 1, dj + 1) > J10;
I3 (di + 1, dj) = I2 (di + 1, dj) > J10;
I3 (di + 1, dj-1) = I2 (di + 1, dj-1) > J10;
I3 (di, dj-1) = I2 (di, dj-1) > J10;
枸杞多糖(di, dj) = I3 (di-1 dj-1) * 2 ^ 7 + I3 (di-1 dj) * 2 ^ 6 + I3 (di-1, dj + 1) * 2 ^ 5 + I3 (di, dj + 1) * 2 ^ 4 + I3 (di + 1, dj + 1) * 2 ^ 3 + I3 (di + 1, dj) * 2 ^ 2 + I3 (di + 1, dj-1) * 2 ^ 1 + I3 (di, dj-1) * 2 ^ 0;
结束
结束
应用灰度共生矩阵建立% %
glcms = graycomatrix (outt);
统计= graycoprops (glcms,“能量”,“同质性”);
en = stats.Energy;
收款银行= stats.Homogeneity;
% %直方图
(嗨)= imhist (bw);
马克西= max (hi);
迷你= min (hi);
地中海=值(hi);
featureall =[来往en总和(sum (LBP)) / (m * n)];
DF = (DF; featureall)
结束
cd . .
因为我= 1:1
b =输入(输入:)
I = imread (b);
我=我(::2);
I = imresize(我,(200 200));
L =双(I);
% % lapale
sp = fspecial(拉普拉斯算子);
M = imfilter (sp);
%,发现平均梯度问
Q =平均(平均(M));
t = 191.25;
T = M >;
BW = bwareaopen (T, 2);
N = BW;
(mn) = (n)大小;
ed = [];
特克斯= [];
p = 0;
q = 0;
i = 1: m
j = 1: n
如果N (i, j) = = 0
p = p + 1;
特克斯(p) =我(I, j);
其他的
q = q + 1;
ed (q) = M (i, j);
结束
结束
结束
地中海=意味着(ed (:));
Mtex =意味着(特克斯(:));
v1 = (Med-Q) /地中海;
v2 = (Q-Mtex) / Q;
% v找到
v = order7 (M t v1、v2);
%卷积的面具
S = padarray (L, (2, 2));
(mn) = (S)大小;
J = 0(大小(S));
i1 = 1: m-4
j - 1 = 1: 4
F2 = [v (i1, j - 1) / (8 * (v (i1, j - 1) 2) 0 v (i1, j - 1) / (8 * (v (i1, j - 1) 2) 0 v (i1, j - 1) / (8 * (v (i1, j - 1) 2));
0 - (v (i1, j - 1) / (4 * (v (i1, j - 1) ^ 2 - 3 * (i1, j - 1) + 2)))——(v (i1, j - 1) / (4 * (v (i1, j - 1) ^ 2 - 3 * (i1, j - 1) + 2)))——(v (i1, j - 1) / (4 * (v (i1, j - 1) ^ 2 - 3 * (i1, j - 1) + 2))) 0;
v (i1, j - 1) / (8 * (v (i1, j - 1) 2))——(v (i1, j - 1) / (4 * (v (i1, j - 1) ^ 2 - 3 * (i1, j - 1) + 2))) / 8 (8 - 12 * v (i1, j - 1) + 4 * (i1, j - 1) ^ 2)——(v (i1, j - 1) / (4 * (v (i1, j - 1) ^ 2 - 3 * (i1, j - 1) + 2))) v (i1, j - 1) / (8 * (v (i1, j - 1) 2));
0 - (v (i1, j - 1) / (4 * (v (i1, j - 1) ^ 2 - 3 * (i1, j - 1) + 2)))——(v (i1, j - 1) / (4 * (v (i1, j - 1) ^ 2 - 3 * (i1, j - 1) + 2)))——(v (i1, j - 1) / (4 * (v (i1, j - 1) ^ 2 - 3 * (i1, j - 1) + 2))) 0;
v (i1, j - 1) / (8 * (v (i1, j - 1) 2) 0 v (i1, j - 1) / (8 * (v (i1, j - 1) 2) 0 v (i1, j - 1) / (8 * (v (i1, j - 1) 2)));
J (i1, J - 1) =总和(和((F2)。* S (i1: i1 + 4, J - 1: J - 1 + 4)));
结束
结束
%,imshow (uint8 (J))
标题(“发挥形象”);
% % prepro
g = fspecial(“高斯”);
pre = imfilter(双(J), g);
%,imshow (uint8(前),[]);
标题(“预处理”);
% %的阈值
gr = uint8(前);
th = graythresh (gr);
= gr > 140;
%,imshow ([]),
gchanel = uint8(前);%绿色香奈儿提取
Igchanel = imcomplement (gchanel);%反演
conenhance = adapthisteq (Igchanel);%对比度增强
gg = fspecial(“高斯”,2)
g = imfilter (conenhance, gg);%高斯滤波
se = strel(8)“球”,8日;
大礼帽= imtophat (g, se);%大礼帽变换
地中海= medfilt2(顶环);%中值滤波
背景= imopen(地中海,strel(“磁盘”,15));
I2 =地中海-背景;%的背景去除
I3 = imadjust (I2); %强度调整
水平= graythresh (gchanel);%灰度阈值
bw = imbinarize (I3、水平);
se = strel(“磁盘”,2)
di = imdilate (bw, se);
se = strel(“磁盘”,4)
呃= imerode (di, se);
帖子= bwareaopen (bw, 8);
re = imresize (bw (200 200));
outt = immultiply(我imcomplement (re));
% %,imshow (outt)
% %的特性
船= outt;
I2 =船;
m =大小(I2, 1);
n =大小(I2, 2);
di = 2: m - 1
dj = 2: n - 1
J10 = I2 (di, dj);
I3 (di-1 dj-1) = I2 (di-1 dj-1) > J10;
I3 (di-1 dj) = I2 (di-1 dj) > J10;
I3 (di-1, dj + 1) = I2 (di-1, dj + 1) > J10;
I3 (di, dj + 1) = I2 (di, dj + 1) > J10;
I3 (di + 1, dj + 1) = I2 (di + 1, dj + 1) > J10;
I3 (di + 1, dj) = I2 (di + 1, dj) > J10;
I3 (di + 1, dj-1) = I2 (di + 1, dj-1) > J10;
I3 (di, dj-1) = I2 (di, dj-1) > J10;
枸杞多糖(di, dj) = I3 (di-1 dj-1) * 2 ^ 7 + I3 (di-1 dj) * 2 ^ 6 + I3 (di-1, dj + 1) * 2 ^ 5 + I3 (di, dj + 1) * 2 ^ 4 + I3 (di + 1, dj + 1) * 2 ^ 3 + I3 (di + 1, dj) * 2 ^ 2 + I3 (di + 1, dj-1) * 2 ^ 1 + I3 (di, dj-1) * 2 ^ 0;
结束
结束
应用灰度共生矩阵建立% %
glcms = graycomatrix (outt);
统计= graycoprops (glcms,“能量”,“同质性”);
en = stats.Energy;
收款银行= stats.Homogeneity;
% %直方图
(嗨)= imhist (outt);
马克西= max (hi);
迷你= min (hi);
地中海=值(hi);
QF =[来往en总和(sum (LBP)) / (m * n)];
% %功能排名
% % % % % % % % %多支持向量机分类
火车= DF;
xdata =火车;
TrainingSet = xdata
TestSet = QF;
GroupTrain = [1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 2; 2; 2; 2; 2; 2; 2; 2, 2, 3, 3, 3, 3, 3, 3]
u =独特(GroupTrain);
numClasses =长度(u);
结果= 0(长度(TestSet (: 1)), 1);
%建立模型
k = 1: numClasses
%矢量化声明binarizes组
% 1是当前类和0是所有其他的类
G1vAll = (GroupTrain = = u (k));
模型(k) = svmtrain (TrainingSet G1vAll);
结束
%的测试用例进行分类
j = 1:尺寸(TestSet, 1)
k = 1: numClasses
如果(svmclassify(模型(k), TestSet (j,:)))
打破;
结束
结束
结果(j) = k;
结束
%图,
次要情节(3,- 3,- 1)
imshow(我)
标题(“输入”)
次要情节(3、3、2)
imshow (uint8(前)
标题(“预处理”)
次要情节(3,3,3)
imshow(是)
标题(磁盘)
次要情节(3、3、4)
imshow (outt)
标题(船)
次要情节(3、3、5)
imshow (uint8 (LBP), [])
标题(“腰痛”)
暂停(1)
如果结果= = 1
对话框(“正常”)
elseif结果= = 2
对话框(博士)
elseif结果= = 3
对话框(AMD)
结束
结束
%比较
sumval_svm =[23日24日26日27日28]
sumval_orig = [30]
2 = 1:长度(sumval_svm)
diff_tree = sumval_svm -sumval_orig (ii);
locv =找到(diff_tree);
%如果(isempty (locv))
True_positive =总和(sumval_orig);
False_positive = abs (1-sum (abs (diff_tree)));
其他的%
% True_positive =总和(sumval_svm);
True_negative = ((sumval_svm)之和);
locb =找到(diff_tree > 0);
False_negative = 1-sum (diff_tree (locb));
%结束
accuracy2 (ii) = sumval_svm (ii) / sumval_orig;
sensitivity2 (ii) = True_positive / (True_positive + False_positive)
specificity2 (ii) = True_negative / (True_negative + False_positive)
结束
%比较
sumval_svm = [19 20 23 24 26]
sumval_orig = [30]
2 = 1:长度(sumval_svm)
diff_tree = sumval_svm -sumval_orig (ii);
locv =找到(diff_tree);
%如果(isempty (locv))
True_positive =总和(sumval_orig);
False_positive = abs (1-sum (abs (diff_tree)));
其他的%
% True_positive =总和(sumval_svm);
True_negative = ((sumval_svm)之和);
locb =找到(diff_tree > 0);
False_negative = 1-sum (diff_tree (locb));
%结束
accuracy3 (ii) = sumval_svm (ii) / sumval_orig;
sensitivity3 (ii) = True_positive / (True_positive + False_positive)
specificity3 (ii) = True_negative / (True_negative + False_positive)
结束
轴([1 5 0 1])
%图,
情节(accuracy2”、“r - *”、“线宽”,2),等等
情节(accuracy3”、“k - *”、“线宽”,2),等等
网格
轴([1 5 0 1])
传奇(“acc-svm”、“acc-nn”)
包含(“道”)
ylabel (claasification结果)
网格
标题(“性能”)
%图,
情节(sensitivity2”、“c - *”、“线宽”,2),等等
情节(sensitivity3”、“m - *”、“线宽”,2),等等
网格
轴([1 5 0 1])
传奇(“sen-svm”、“sen-nn”)
包含(“道”)
ylabel (claasification结果)
网格
标题(“性能”)
%图,
情节(specificity2 - 0.1”,“b - *”、“线宽”,2),等等
情节(specificity3 - 0.1”、“k - *”、“线宽”,2),等等
网格
轴([1 5 0 1])
传奇(“spec-svm”、“spec-nn”)
包含(“道”)
ylabel (claasification结果)
网格
标题(“性能”)
2的评论
阿拉斯Bilal
阿拉斯Bilal 2020年4月25日
这是函数顺序7
函数[v] = order7 (M t v1、v2)
M =双(M);
(mn) = (m)大小;
i = 1: m
j = 1: n
如果M (i, j) > = t & & ((M (i, j) - t) / M (i, j)) > = v1
v (i, j) = (M (i, j) - t) / M (i, j);
elseif M (i, j) > = t & & ((M (i, j) - t) / M (i, j)) < v1
v (i, j) = v1;
elseif M (i, j) > 2 & & M (i, j) < t & & (M (i, j) / t) > = v2
v (i, j) = v2;
elseif M (i, j) > 2 M (i, j) < t & & & & (M (i, j) / t) < v2
v (i, j) = (M (i, j) / t);
其他0 < = M (i, j) < = 2
v (i, j) = 0;
结束
结束
结束
结束

登录置评。

接受的答案

Mrutyunjaya Hiremath
Mrutyunjaya Hiremath 2020年4月26日
你好Anas Bilal,
2012年代码测试工作。
4评论

登录置评。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!