accuracy = zeros(7, 1); %accuracy
precision = zeros(7, 1); %precision
recall = zeros(7, 1); %recall
specificity = zeros(7, 1); %Specificity
Fscore = zeros(7, 1); %F-score
Num0 = zeros(7, 1); %TP + FN
Num1 = zeros(7, 1); %TP
Num2 = zeros(7, 1); %FP
Num3 = zeros(7, 1); %TN
Num4 = zeros(7, 1); %FN
for i = 1:7
ImTurename= ['/Users/wangbo/Documents/MATLAB/code of superpixel/Groundture/', num2str(i),'.bmp'];
ImTure = imread(ImTurename);
ImConname = ['/Users/wangbo/Documents/MATLAB/Test_Decision_Tree/SLIC+COM27/', num2str(i),'Seg.bmp'];
ImCon = imread(ImConname);
ImOriname = ['/Users/wangbo/Documents/MATLAB/code of superpixel/picture1/', num2str(i),'.bmp'];
ImOri = imread(ImOriname);
[n, m, ~] = size(ImCon);
ImTure0 = ImTure;
ImCon0 = ImCon;
%% 真值图的像素点数
for j = 1:n
for k = 1:m
if (ImTure(j, k, 1) == 255&&ImTure(j, k, 2) == 255&&ImTure(j, k, 3) == 255)
ImTure0(j, k, 1) = 0;
ImTure0(j, k, 2) = 0;
ImTure0(j, k, 3) = 0;
end
if (ImTure(j, k, 1) == ImOri(j, k, 1)...
&&ImTure(j, k, 2) == ImOri(j, k, 2)...
&&ImTure(j, k, 3) == ImOri(j, k, 3))
Num0(i, 1) = Num0(i, 1) + 1;
end
if (ImCon(j, k, 1) == 255&&ImCon(j, k, 2) == 255&&ImCon(j, k, 3) == 255)
ImCon0(j, k, 1) = 0;
ImCon0(j, k, 2) = 0;
ImCon0(j, k, 3) = 0;
end
end
end
ImBack = ImOri - ImTure0;
ImBackCon = ImOri - ImCon0;
figure(1);
imshow(ImTure0);
figure(2);
imshow(ImBack);
figure(3);
imshow(ImCon0);
figure(4);
imshow(ImBackCon);
for j = 1:n
for k = 1:m
if (ImTure(j, k, 1) == ImCon0(j, k, 1) ...
&& ImTure(j, k, 2) == ImCon0(j, k, 2) ...
&& ImTure(j, k, 3) == ImCon0(j, k, 3))
%TP
Num1(i, 1) = Num1(i, 1) + 1;
end
end
end
for j = 1:n
for k = 1:m
if (ImBack(j, k, 1) == ImCon(j, k, 1) ...
&& ImBack(j, k, 2) == ImCon(j, k, 2) ...
&& ImBack(j, k, 3) == ImCon(j, k, 3))
% FP
Num2(i, 1) = Num2(i, 1) + 1;
end
end
end
for j = 1:n
for k = 1:m
if (ImBack(j, k, 1) == ImBackCon(j, k, 1) ...
&& ImBack(j, k, 2) == ImBackCon(j, k, 2) ...
&& ImBack(j, k, 3) == ImBackCon(j, k, 3))
if (ImBackCon(j, k, 1) == 255 ...
&& ImBackCon(j, k, 2) == 255 ...
&& ImBackCon(j, k, 3) == 255)
continue;
else
%TN
Num3(i, 1) = Num3(i, 1) + 1;
end
end
end
end
% FN
Num4(i, 1) = Num0(i, 1) - Num1(i, 1);
%accuracy = (TP+ TN)/(TP+FP+TN+FN)
accuracy(i, 1) = (Num1(i, 1) + Num3(i, 1))/(Num1(i, 1) + Num2(i, 1) + Num3(i, 1) + Num4(i, 1));
%precision=TP/(TP+FP)
precision(i, 1) = Num1(i, 1) / (Num1(i, 1) + Num2(i, 1));
% recall=TP/(TP+FN)
recall(i, 1) = Num1(i, 1) /(Num1(i, 1) + Num4(i, 1));
% specificity = TN/(FP+TN)
specificity(i, 1) = Num3(i, 1)/(Num2(i, 1) + Num3(i, 1));
% F-score=2*TP/(2*FP+TP+FN)
Fscore(i, 1) = 2 * Num1(i, 1) / (2 * Num1(i, 1) + Num2(i, 1) + Num4(i, 1));
end
data = cat(2, accuracy, precision, recall, specificity, Fscore);
acc.m.zip_ACC图像分割_F1-score_Score!_acc.m_图像召回率
版权申诉
5星 · 超过95%的资源 112 浏览量
2022-09-23
20:53:47
上传
评论 2
收藏 1KB ZIP 举报
周楷雯
- 粉丝: 78
- 资源: 1万+
最新资源
- 基于matlab实现多车辆车辆路径问题,用遗传算法编程,保证可用.rar
- 基于matlab实现多层极限学习机实现手写体识别,准确率超过99%.rar
- 基于matlab实现电力系统最优潮流程序,可以应用于电力市场下的最优潮流计算 适合电力系统专业的同仁使用.rar
- 串行通信的通信协议串口协议串行通信的通信协议串口协议
- Vue构建交互式的单页面应用程序Vue构建交互式的单页面应用程序
- Spring Boot快速搭建和部署应用程序
- Redis开源的高性键值存储系统广泛应用于缓存、实时消息传递
- Qt跨平台的应用程序开发框架Qt跨平台的应用程序开发框架
- 单片机是集成处理器、存储器和输入输出设备
- 深度学习机器习方法模仿人脑神经网络深度学习机器习方法模仿人脑神经网络
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈