You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Matlab中如何在图像中心绘制黑色十字像素?

在Matlab图像中心绘制4个黑色像素十字的实现

核心思路

先计算图像的中心坐标,定位中心上下左右四个像素点,再通过循环逐个将这些点设为黑色。以下是具体步骤和代码:

完整代码示例

% 1. 准备图像:可创建空白图或读取现有图像
% 示例:创建100x100的白色灰度图
img = 255 * ones(100, 100, 'uint8');
% 若读取现有RGB图像,用:img = imread('your_image_path.jpg');

% 2. 获取图像尺寸
[h, w, channels] = size(img);

% 3. 计算图像中心坐标(适配奇偶尺寸,Matlab索引从1开始)
center_row = round(h / 2);
center_col = round(w / 2);

% 4. 定义十字四个方向的偏移量(上、下、左、右)
cross_offsets = [-1 0; 1 0; 0 -1; 0 1];

% 5. 循环设置黑色像素
for idx = 1:4
    current_row = center_row + cross_offsets(idx, 1);
    current_col = center_col + cross_offsets(idx, 2);
    
    % 边界检查:避免坐标超出图像范围报错
    if current_row >= 1 && current_row <= h && current_col >= 1 && current_col <= w
        if channels == 3  % 处理RGB图像
            img(current_row, current_col, :) = 0;
        else  % 处理灰度图像
            img(current_row, current_col) = 0;
        end
    end
end

% 6. 显示结果
imshow(img);

关键细节说明

  • 中心坐标计算:round(h/2)和round(w/2)能同时适配奇数和偶数尺寸的图像,比如100x100的图中心是(50,50),101x101的图中心是(51,51)。
  • 边界检查:如果图像尺寸极小(比如2x2),中心的上下左右可能超出图像范围,这一步能避免运行报错。
  • 图像类型适配:代码同时支持灰度图和RGB图,通过判断通道数channels设置对应黑色值(灰度图设为0,RGB图每个通道都设为0)。

内容的提问来源于stack exchange,提问作者Cjmeta0667

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 17:01:19