在MATLAB中编程,生成大小为的红绿蓝三色图像,其中的三个圆心坐标为(180,257), (280,187), (280, 327), 半径为90.
时间: 2024-02-27 08:56:05 浏览: 68
用MATLAB求圆心及半径
好的,生成大小为的红绿蓝三色图像,其中三个圆心坐标为(180,257), (280,187), (280, 327),半径为90的MATLAB代码如下:
```matlab
% 定义图像大小
img_size = 512;
% 初始化三个圆心坐标和半径
centers = [180, 257; 280, 187; 280, 327];
radii = 90;
% 生成网格坐标矩阵
[x, y] = meshgrid(1:img_size, 1:img_size);
% 初始化红、绿、蓝三个通道的图像矩阵
red_channel = zeros(img_size);
green_channel = zeros(img_size);
blue_channel = zeros(img_size);
% 循环遍历每一个像素点
for i = 1:img_size
for j = 1:img_size
% 判断当前像素点是否在三个圆内
for k = 1:3
if sqrt((x(i,j)-centers(k,1))^2 + (y(i,j)-centers(k,2))^2) <= radii
% 根据不同的圆分别设置红、绿、蓝通道的值
if k == 1
red_channel(i,j) = 1;
elseif k == 2
green_channel(i,j) = 1;
elseif k == 3
blue_channel(i,j) = 1;
end
end
end
end
end
% 将三个通道的图像矩阵合并成一张RGB图像
rgb_image = cat(3, red_channel, green_channel, blue_channel);
% 显示图像
imshow(rgb_image);
```
运行以上代码,即可生成大小为的红绿蓝三色图像,其中三个圆心坐标为(180,257), (280,187), (280, 327),半径为90的图像。
阅读全文