
心随风动为您分享以下优质知识
在二进制图像中绘制圆形,通常采用基于坐标变换的方法。以下是具体步骤和示例代码(以 MATLAB 为例):
一、基本思路
确定图像的高度(h)、宽度(w)以及圆心坐标(通常为图像中心)。
生成网格坐标
使用 `meshgrid` 函数创建图像的二维坐标网格,注意参数顺序为 `[行, 列]`。
计算圆周方程
根据圆的标准方程 ((x - h/2)^2 + (y - w/2)^2 = r^2),计算满足条件的坐标点。
映射到图像范围
将计算得到的极坐标转换为图像的像素坐标,并设置对应像素值为1(白色)。
二、示例代码
```matlab
% 图像尺寸与圆心
h = 256; % 高度
w = 256; % 宽度
center_x = ceil(w/2); % 圆心x坐标
center_y = ceil(h/2); % 圆心y坐标
r = 70; % 半径
% 生成网格坐标
[x, y] = meshgrid(1:w, 1:h);
% 计算圆周方程
theta = linspace(0, 2*pi, 400); % 400个角度点
x_circle = r * cos(theta);
y_circle = r * sin(theta);
% 映射到图像范围并设置像素值
mask = (x - center_x).^2 + (y - center_y).^2