matlab 求一个二值图里值为1点图像的外接圆
时间: 2024-03-07 22:14:26 浏览: 63
matlab_对一个二值图像骨架化之后进行边缘平滑,滤波
您可以使用MATLAB中的regionprops函数来求解二值图像中值为1的点图像的外接圆。以下是一个示例代码:
```matlab
% 读取二值图像
binaryImage = imread('binary_image.png');
% 使用regionprops函数获取连通区域的属性
stats = regionprops(binaryImage, 'Centroid', 'MajorAxisLength');
% 遍历连通区域
for i = 1:numel(stats)
% 获取中心点坐标和主轴长度
centroid = stats(i).Centroid;
majorAxisLength = stats(i).MajorAxisLength;
% 计算外接圆半径
radius = majorAxisLength / 2;
% 绘制外接圆
hold on;
viscircles(centroid, radius, 'LineWidth', 2, 'Color', 'r');
end
% 显示图像
imshow(binaryImage);
```
请将代码中的`binary_image.png`替换为您实际的二值图像文件路径。运行代码后,将会在二值图像中绘制出值为1的点图像的外接圆。
阅读全文