图像处理基础知识(二)—— 中心矩求主轴方向

本文深入探讨了中心矩的概念,并讲解如何使用它们来计算图像或多边形的主轴方向,特别是在MATLAB环境中的实现方法。
摘要由CSDN通过智能技术生成

本文内容:主要介绍中心矩的定义,以及利用中心矩求取图像主轴方向。




1.4 matlab求取归一化中心矩、hu不变矩和主轴方向

  • 6
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
计算图像主轴方向可以使用图像矩的方法。具体步骤如下: 1. 读入图像并将其转换为灰度图像。 2. 计算图像中心矩和归一化中心矩。 3. 计算图像中心矩,即 m20、m11 和 m02。 4. 计算主轴方向的角度 θ: θ = 0.5 * atan2(2 * m11, m20 - m02) 5. 将角度转换为度数。 下面是 MATLAB 代码实现: ```matlab % 读入图像并转换为灰度图像 img = imread('image.jpg'); gray = rgb2gray(img); % 计算图像中心矩和归一化中心矩 moments = moment(gray); centroid = moments(2:3) ./ moments(1); normalizedMoments = nmoment(gray, centroid(1), centroid(2)); % 计算中心矩 m20 = normalizedMoments(3,1); m11 = normalizedMoments(2,2); m02 = normalizedMoments(1,3); % 计算主轴方向的角度 theta = 0.5 * atan2(2 * m11, m20 - m02); % 将角度转换为度数 angleInDegrees = rad2deg(theta); % 显示图像主轴方向 imshow(img); hold on; plot(centroid(1), centroid(2), 'r+', 'MarkerSize', 10); line([centroid(1), centroid(1) + cos(theta)], [centroid(2), centroid(2) + sin(theta)], 'Color', 'r', 'LineWidth', 2); hold off; ``` 在这个代码中,`moment` 和 `nmoment` 函数分别计算图像的矩和归一化矩。`moment` 函数返回的是一个长度为 6 的向量,分别代表 0 阶到 2 阶矩和图像的重心坐标。`nmoment` 函数需要传入图像、重心的 x 坐标和 y 坐标,返回的是一个 3x3 的矩阵,代表归一化中心矩。 最后,使用 `imshow` 函数显示图像,使用 `plot` 函数在图像中心画一个红色十字,使用 `line` 函数画出主轴方向
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值