遍历图像 找最小外接矩形 matlab,2018a版本MatLab利用regionprops函数获取图片中物体轮廓最小外接矩形...
时间: 2023-10-17 07:05:09 浏览: 53
可以使用Matlab中的regionprops函数来获取图片中物体轮廓的最小外接矩形。以下是一个示例代码:
```matlab
% 读入图像
img = imread('example.jpg');
% 转为二值图像
bw = imbinarize(rgb2gray(img));
% 获取物体轮廓
stats = regionprops(bw, 'BoundingBox');
% 遍历所有边界框并绘制最小外接矩形
figure;
imshow(img);
hold on;
for i = 1:numel(stats)
bb = stats(i).BoundingBox;
rectangle('Position', [bb(1), bb(2), bb(3), bb(4)], 'EdgeColor', 'r', 'LineWidth', 2);
end
hold off;
```
这个代码将读取名为`example.jpg`的图像,并将其转换为二值图像。然后,它将使用`regionprops`函数来获取物体轮廓的边界框。最后,它将遍历所有边界框并在原始图像中绘制最小外接矩形。
请注意,`regionprops`函数还可以用于获取其他有关物体轮廓的信息,例如面积、周长、中心点等。有关更多详细信息,请参阅Matlab文档。
相关问题
matlab 2018a flops函数 调用
在 MATLAB 2018a 中,`flops`函数的调用方法与之前的版本相同,你可以按照以下步骤来使用它:
1. 在需要计算flops的代码中添加以下语句:
```
flops(0); % 将flops计数器初始化为0
```
2. 在代码执行完需要计算flops的部分后,使用以下语句来获取flops数值:
```
f = flops; % 获取当前的flops计数器值
```
这里,变量`f`就是代码中执行的浮点运算次数,单位为flops。
需要注意的是,在使用`flops`函数之前,你需要保证函数所在的MATLAB工具箱已经被正确加载。如果你的MATLAB版本中没有`flops`函数,你可以考虑使用其他第三方工具箱或者手动实现flops计数器功能。
matlab2018a没有confusionchart函数
是的,确实在Matlab R2018a中没有confusionchart函数。这个函数是在Matlab R2018b中引入的。如果您想在Matlab R2018a中创建混淆矩阵图,可以使用plotconfusion函数来实现。您可以通过以下方式使用它:
1.首先,您需要将您的测试结果和真实标签转换为分类器的输出格式。您可以使用以下代码将其转换为分类器的输出格式:
```matlab
% 假设y_test是测试标签,y_pred是预测标签
y_test_cat = categorical(y_test);
y_pred_cat = categorical(y_pred);
```
2. 接下来,您可以使用confusionmat函数创建混淆矩阵,如下所示:
```matlab
C = confusionmat(y_test_cat, y_pred_cat);
```
3. 最后,您可以使用plotconfusion函数将混淆矩阵可视化。例如:
```matlab
plotconfusion(y_test_cat, y_pred_cat)
```
希望这可以帮助到您。