% 设置图像尺寸 width = 1080; height = 1080; % 创建全黑图像 img = zeros(height, width, 'uint8'); % 显示图像 imshow(img);在中间生成一条10像素宽的直线
时间: 2024-05-03 13:18:37 浏览: 48
可以使用MATLAB的内置函数`line()`来在图像上绘制直线。
代码如下:
```matlab
% 设置图像尺寸
width = 1080;
height = 1080;
% 创建全黑图像
img = zeros(height, width, 'uint8');
% 在中间生成一条10像素宽的直线
x1 = width/2;
y1 = height/2 - 5;
x2 = width/2;
y2 = height/2 + 5;
img = insertShape(img, 'Line', [x1 y1 x2 y2], 'LineWidth', 10, 'Color', 'white');
% 显示图像
imshow(img);
```
这段代码会在图像中央生成一条从上到下,宽度为10像素的白色直线。
相关问题
% 设置图像尺寸 width = 1080; height = 1080; % 创建全黑图像 img = zeros(height, width, 'uint8'); % 显示图像 imshow(img);图像中间显示一条长800像素,宽5像素的直线
可以使用以下代码在图像中间绘制一条长800像素,宽5像素的直线:
```
% 计算直线起点和终点的坐标
x1 = floor((width - 800) / 2); % 起点 x 坐标
x2 = x1 + 799; % 终点 x 坐标
y = floor(height / 2); % 直线的 y 坐标
% 在图像上绘制直线
img(y-2:y+2, x1:x2) = 255; % 由于直线宽度为 5 像素,因此需要在 y 坐标上下各画两条线
imshow(img);
```
运行以上代码后,应该可以看到一个全黑的图像,并在中间绘制了一条长800像素,宽5像素的白色直线。
% 设置图像尺寸 width = 1080; height = 1080; % 创建全黑图像 img = zeros(height, width, 'uint8'); % 显示图像 imshow(img);图像中间显示两条长800像素,宽10像素的白色直线,一条是竖线,一条是横线
可以通过以下代码在图像中间显示两条长800像素,宽10像素的白色直线,一条是竖线,一条是横线:
```
% 设置图像尺寸
width = 1080;
height = 1080;
% 创建全黑图像
img = zeros(height, width, 'uint8');
% 在图像中间画一条白色竖线
x_center = width / 2;
y_start = (height - 800) / 2;
y_end = y_start + 800;
img(y_start:y_end, x_center-5:x_center+4) = 255;
% 在图像中间画一条白色横线
y_center = height / 2;
x_start = (width - 800) / 2;
x_end = x_start + 800;
img(y_center-5:y_center+4, x_start:x_end) = 255;
% 显示图像
imshow(img);
```
阅读全文