如何用matlab在图像上画圆并将图像保存
时间: 2024-05-15 22:16:52 浏览: 185
以下是使用 Matlab 绘制圆形并将图像保存为 JPEG 文件的代码示例:
```matlab
% 创建一个 400x400 的灰度图像
img = zeros(400);
% 设置圆心坐标和半径
x0 = 200;
y0 = 200;
r = 100;
% 生成圆形掩膜
[x, y] = meshgrid(1:400, 1:400);
mask = (x - x0).^2 + (y - y0).^2 <= r^2;
% 将掩膜应用于图像
img(mask) = 255;
% 显示图像
imshow(img);
% 将图像保存为 JPEG 文件
imwrite(img, 'circle.jpg', 'jpg');
```
该代码将创建一个 400x400 的灰度图像,然后在中心点坐标为 (200, 200),半径为 100 的位置上绘制一个圆形。最后,将图像保存为 JPEG 文件,并命名为 "circle.jpg"。
相关问题
MATLAB在图像中画圆
要在MATLAB中画圆,可以使用`viscircles`函数。以下是一个画圆的示例代码:
```matlab
% 读取图片
img = imread('example.jpg');
% 画一个半径为50像素的圆,圆心坐标为(100,100),并显示图片
imshow(img);
hold on;
viscircles([100,100],50);
```
其中,`viscircles`函数的第一个参数是一个二元数组,表示圆心的坐标;第二个参数是圆的半径。你可以根据需要调整这些参数来画出不同大小和位置的圆。
MATLAB通过改变像素分量值在图像中任意画圆
是的,可以通过在Matlab中使用imellipse函数来画圆。该函数允许用户指定椭圆的位置和大小,并将其绘制在图像上。然后,可以使用imfill函数来填充椭圆区域内的像素,以实现在图像中画圆的效果。以下是一个简单的Matlab示例代码,演示如何使用imellipse和imfill函数来画圆:
```
% 读取图像
img = imread('image.jpg');
% 创建一个图像窗口
figure, imshow(img);
% 使用imellipse函数创建一个椭圆
h = imellipse(gca, [100 100 200 200]);
% 使用createMask函数创建椭圆掩膜
mask = createMask(h);
% 使用imfill函数填充掩膜内的像素
filled_img = imfill(img, mask);
% 显示填充后的图像
figure, imshow(filled_img);
```
在上面的代码中,我们首先读取了一个图像,然后创建了一个图像窗口并显示该图像。接下来,我们使用imellipse函数创建了一个椭圆,并使用createMask函数创建了该椭圆的掩膜。最后,我们使用imfill函数填充掩膜内的像素,生成了在图像中画圆的效果,并显示了填充后的图像。
阅读全文