matlab计算两幅图的准确率召回率代码
时间: 2023-08-04 11:05:02 浏览: 76
计算两幅图的准确率和召回率通常用于图像分割和目标检测等任务中。以下是一个简单的 MATLAB 代码示例,用于计算两幅图的准确率和召回率:
``` matlab
% 预测结果
pred = imread('prediction.png');
% 真实标签
gt = imread('ground_truth.png');
% 将预测结果二值化为 0 和 1
pred = pred > 0;
% 将真实标签二值化为 0 和 1
gt = gt > 0;
% 计算真正例(True positives)
TP = sum(pred(:) == 1 & gt(:) == 1);
% 计算假正例(False positives)
FP = sum(pred(:) == 1 & gt(:) == 0);
% 计算真反例(True negatives)
TN = sum(pred(:) == 0 & gt(:) == 0);
% 计算假反例(False negatives)
FN = sum(pred(:) == 0 & gt(:) == 1);
% 计算准确率(Accuracy)
accuracy = (TP + TN) / (TP + TN + FP + FN);
% 计算召回率(Recall)
recall = TP / (TP + FN);
% 输出结果
fprintf('准确率: %.2f%%\n', accuracy * 100);
fprintf('召回率: %.2f%%\n', recall * 100);
```
请注意,此代码示例假设两幅图都是二值化的。如果您的图像是灰度图像或彩色图像,则需要根据问题进行修改。
阅读全文