MATLAB使用hough变换函数输出[H,theta,rho]的具体含义

这篇具有很好参考价值的文章主要介绍了MATLAB使用hough变换函数输出[H,theta,rho]的具体含义。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Hough 变换输出参数[H,theta,rho]的具体含义

F=imread('D:\Desktop\90.png');
f=rgb2gray(F);
[H,theta,rho] = hough(f)

输出[H,theta,rho]。

其中Theta 取值-90至89,为1×180的数组。

rho取值根据图片f的大小确定,如图片为400×400像素,则rho取值-(400^2+400^2)^0.5至(400^2+400^2)^0.5,即图片的对角线长度,为1×1131的数组。

Theta,rho仅为hough变换的坐标取值。hough变换的结果储存于输出的H矩阵中。

H矩阵为rho×theta大小的矩阵,矩阵中各元素表示原直角坐标系图片中各点hough变换结果为(rho,theta)的数量。

如下图(400×400像素)hough变换后rho为200,theta为0处的H矩阵数值为400。表示图中竖贯图片(400长度)的线上每一点的hough变换都能产生(rho,theta)为(200,0)的结果,因此H矩阵在该坐标处的数值为400。

rho在matlab中,matlab,开发语言,图像处理,计算机视觉,矩阵  rho在matlab中,matlab,开发语言,图像处理,计算机视觉,矩阵

可对hough变换的精度进行调整。

F=imread('D:\Desktop\90.png');
f=rgb2gray(F);
[H,theta,rho] = hough(f,'RhoResolution', 0.2, 'Theta', -90:0.2:89);

 使用'RhoResolution',调整rho分辨率为0.2。

使用'Theta', -90:0.2:89调整分辨率,将theta分辨率调整为0.2°。

rho, theta,H的矩阵大小相应增加。

H矩阵与原图直角坐标系的关系 

F=imread('D:\Desktop\90.png');
f=rgb2gray(F);
[H,theta,rho] = hough(f,'RhoResolution', 0.2, 'Theta', -90:0.2:89);
imshow(imadjust(rescale(H)),'XData',theta,'YData',rho,'InitialMagnification','fit');
title('Hough transform');
xlabel('\theta'), ylabel('\rho');
axis on, axis normal, hold on;
colormap(gca,hot);

imread导入图片后,图片左上角的点坐标为(1,1)。hough变换后rho, theta取值如下图所示。

rho在matlab中,matlab,开发语言,图像处理,计算机视觉,矩阵                      rho在matlab中,matlab,开发语言,图像处理,计算机视觉,矩阵

下图(400×400像素):rho取值为正, theta取值为正,(rho,theta)为(424,45°)。

 rho在matlab中,matlab,开发语言,图像处理,计算机视觉,矩阵rho在matlab中,matlab,开发语言,图像处理,计算机视觉,矩阵rho在matlab中,matlab,开发语言,图像处理,计算机视觉,矩阵

下图(400×400像素):rho取值为正, theta取值为正,(rho,theta)为(179,30°)。

rho在matlab中,matlab,开发语言,图像处理,计算机视觉,矩阵rho在matlab中,matlab,开发语言,图像处理,计算机视觉,矩阵rho在matlab中,matlab,开发语言,图像处理,计算机视觉,矩阵

下图(400×400像素):rho取值为正, theta取值为负,(rho,theta)为(141,-45°)

 rho在matlab中,matlab,开发语言,图像处理,计算机视觉,矩阵rho在matlab中,matlab,开发语言,图像处理,计算机视觉,矩阵rho在matlab中,matlab,开发语言,图像处理,计算机视觉,矩阵

  

下图(400×400像素):rho取值为正, theta取值为正,(rho,theta)为(179,-30°)。

 rho在matlab中,matlab,开发语言,图像处理,计算机视觉,矩阵rho在matlab中,matlab,开发语言,图像处理,计算机视觉,矩阵rho在matlab中,matlab,开发语言,图像处理,计算机视觉,矩阵

下图(400×400像素):rho取值为负, theta取值为负,(rho,theta)为(-141,-45°)。

rho在matlab中,matlab,开发语言,图像处理,计算机视觉,矩阵rho在matlab中,matlab,开发语言,图像处理,计算机视觉,矩阵rho在matlab中,matlab,开发语言,图像处理,计算机视觉,矩阵

下图(400×400像素):rho取值为负, theta取值为负,(rho,theta)为(-179,-60°)。

rho在matlab中,matlab,开发语言,图像处理,计算机视觉,矩阵rho在matlab中,matlab,开发语言,图像处理,计算机视觉,矩阵rho在matlab中,matlab,开发语言,图像处理,计算机视觉,矩阵

下图(400×400像素):rho取值介于正负之间, theta取值介于正负之间,(rho,theta)为(-200,-90°)、(200,90°)。可见H矩阵theta于-90°与90°附近取值较为集中,原图中应该出现横向线条。

rho在matlab中,matlab,开发语言,图像处理,计算机视觉,矩阵rho在matlab中,matlab,开发语言,图像处理,计算机视觉,矩阵rho在matlab中,matlab,开发语言,图像处理,计算机视觉,矩阵

下图(400×400像素):rho取值接近0°, theta取值为正,(rho,theta)为(200, 0°)。可见H矩阵theta于0°附近取值较为集中,原图中应该出现竖向线条。

rho在matlab中,matlab,开发语言,图像处理,计算机视觉,矩阵rho在matlab中,matlab,开发语言,图像处理,计算机视觉,矩阵rho在matlab中,matlab,开发语言,图像处理,计算机视觉,矩阵文章来源地址https://www.toymoban.com/news/detail-737470.html

到了这里,关于MATLAB使用hough变换函数输出[H,theta,rho]的具体含义的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • matlab小波变换、离散小波变换函数使用

    matlab小波变换、离散小波变换函数使用

    matlab中,连续小波变换、离散小波变换函数使用比较复杂,最近做了个总结。 参考1:https://www.jianshu.com/p/56733f6c0a10 参考2:小波变换工具箱(7页)-原创力文档 参考3:《Matlab信号处理》 沈再阳,清华大学出版社,第8章 注意:以下所有函数均为matlab 2020a环境中测试,更早的版

    2024年02月02日
    浏览(11)
  • Hough变换原理-直线检测

    Hough变换原理-直线检测

    目录   一、简介 二、原理 三、Python代码实现           Hough(霍夫)变换是图像处理中从图像中识别几何形状的基本方法之一。 Hough变换是将图像坐标空间变换到参数空间 ,利用点与线的对偶性,将原始图像空间的给定的曲线(今天主要介绍直线)通过曲线表达形式变

    2024年02月04日
    浏览(7)
  • Hough 算法(霍夫变换)

    目录 一.什么是Hough 算法(霍夫变换) 它的基本思想是: Hough 变换的主要步骤为: 二、Hough 变换的应用 它的主要应用如下: 1. 直线检测: 2. 圆检测: 3. 椭圆检测: 4. 三角形检测: 5. 人脸检测: Hough 变换(Hough Transform)是一种常用的检测图形的算法。 它通过搜索特定形状(如直线,圆,椭

    2024年02月08日
    浏览(9)
  • 图像处理之Hough变换检测直线

    图像处理之Hough变换检测直线

    霍夫变换是一种特征检测(feature extraction),被广泛应用在图像分析(image analysis)、计算机视觉(computer vision)以及数位影像处理(digital image processing)。由RichardDuda和PeterHart在公元1972年发明,并称之为广义霍夫变换(generalizedHoughtransform),广义霍夫变换和更早前1962年的PaulHough的专利

    2024年02月15日
    浏览(10)
  • OpenCV官方教程中文版 —— Hough 圆环变换

    OpenCV官方教程中文版 —— Hough 圆环变换

    目标 • 学习使用霍夫变换在图像中找圆形(环) • 学习函数:cv2.HoughCircles() opencv_logo.png :

    2024年02月06日
    浏览(11)
  • 路径规划 | 图解Theta*算法(附ROS C++/Python/Matlab仿真)

    🔥附C++/Python/Matlab全套代码🔥课程设计、毕业设计、创新竞赛必备!详细介绍全局规划(图搜索、采样法、智能算法等);局部规划(DWA、APF等);曲线优化(贝塞尔曲线、B样条曲线等)。 🚀详情:图解自动驾驶中的运动规划(Motion Planning),附几十种规划算法

    2024年02月11日
    浏览(82)
  • 路径规划 | 图解Lazy Theta*算法(附ROS C++/Python/Matlab仿真)

    🔥附C++/Python/Matlab全套代码🔥课程设计、毕业设计、创新竞赛必备!详细介绍全局规划(图搜索、采样法、智能算法等);局部规划(DWA、APF等);曲线优化(贝塞尔曲线、B样条曲线等)。 🚀详情:图解自动驾驶中的运动规划(Motion Planning),附几十种规划算法

    2024年02月10日
    浏览(10)
  • Matlab实现Hough直线检测

    基于Matlab实现图像的直线识别 代码如下:(有些参数需要自己根据图像情况调整)

    2024年02月04日
    浏览(9)
  • 【C++】STL 算法 - transform 变换算法 ① ( transform 函数原型 | 将 一个 或 两个 输入容器 中的元素 变换后 存储到 输出容器 中 )

    std::transform 是 STL 标准模板库 中的一个算法 , 该算法的作用是 用于对 容器 或 指定迭代器范围 的 每个元素 进行 指定的 \\\" 转换操作 \\\" , 并将 \\\" 转换结果 \\\" 存储到另一个容器中 ; std::transform 算法 接受 一个 或 两个输入范围 , 以及一个输出范围 , 并 根据提供的 一元函数对象 或

    2024年01月16日
    浏览(19)
  • 【Python从入门到人工智能】14个必会的Python内置函数(6)——打印输出 (详细语法参考+参数说明+具体示例) | 详解Python中的打印输出!附综合案例!

      你有不伤别人的教养,却缺少一种不被别人伤害的气场,若没有人护你周全,就请你以后善良中带点锋芒,为自己保驾护航。   🎯作者主页: 追光者♂🔥          🌸个人简介:   💖[1] 计算机专业硕士研究生💖   🌟[2] 2022年度博客之星人工智能领域TOP4🌟   🏅[

    2024年02月15日
    浏览(15)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包