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

MATLAB中如何提取图像多组(u,v)像素坐标并存入矩阵

MATLAB手动提取图像指定位置像素坐标存入矩阵方法

你现在用imtool('Vision.bmp')打开图像的操作是对的,打开后鼠标在图像上悬停时,窗口左下角确实会实时同步显示当前位置的像素坐标,不用手动逐个记录坐标,用自带的交互功能几步就能把选好的坐标存成矩阵,对新手很友好:

  • 最省事的代码操作方式:
    1. 先在命令行运行以下代码读入图片、打开imtool窗口:
      img = imread('Vision.bmp');
      imtool(img)
      
    2. 再在命令行输入赋值代码,按回车运行:
      coord_matrix = getpts;
    3. 切回弹出的图像窗口,鼠标会变成十字准星形状,移动到你需要的位置点左键就能标记选点,选多少个点就点多少次;如果点错了按退格键就能删除上一个错点,全部选完按回车键,所有选中点的坐标会自动存入coord_matrix矩阵。
  • 矩阵格式说明:
    这个矩阵是N行2列的结构,N是你选的点的总数:
    • 第一列存的是点的水平方向坐标(也就是你在左下角看到的第一个坐标值,对应图像的列索引)
    • 第二列存的是点的垂直方向坐标(左下角显示的第二个坐标值,对应图像的行索引)
  • 后续读取对应位置像素值的注意事项:
    MATLAB读取图像像素是按「先行后列」的顺序索引的,也就是读坐标为(x,y)的点的像素值时,要把y(行号)写在前面、x(列号)写在后面。比如要读你选的第1个点的RGB像素值,代码写法是:
    pixel_val = img(coord_matrix(1,2), coord_matrix(1,1), :);
    如果是灰度图,把末尾的,:删掉就行。

如果你不想写代码,也可以直接在imtool窗口顶部工具栏点十字形状的「选点」按钮,选完后右键选「将点导出到工作区」,也能把坐标存成矩阵,效果和代码操作完全一样。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 03:45:32