图像处理算法分享.pptx

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图像处理算法分享

关于图像处理算法的分享 张恒基 算法初识 ▶ 基于枚举策略的顺序查找算法 ▶ 基于分治策略的快速排序算法 ▶ 对图的深度优先遍历、广度优先遍历 ▶ 基于贪心策略的普里姆算法、迪杰斯特拉算法等 通过数据结构对算法进行了初步的认识: Hough变换(霍夫变换) ——用于对图片中的直线进行检测 Hough算法思想分析 1、建立图像坐标系,那么每一个像素点拥有一个二维坐标 //对于一平面直线,我们可以这样表示它: //显然,这里面的斜率k,截距b是未知量,x、y是变量 2、那么我们尝试着建立这样一个空间,令k、b是变量,x、y是斜率和截距 //则图像坐标系下通过点 的所有直线,在参数空间内表示为 为斜率, # 我们将这个空间叫做参数空间 以 为截距的直线 以 图像坐标系上的点 三点在参数空间中的表示 (极坐标下) 参数空间的焦点即为图像中需要被检测出的直线 Big Troubles 1、RBG图像在计算机中是三维数组,欲在其上创建平面直角坐标系需降维 2、对图像上所有点进行Hough变换是没有意义的,这样会检测出无数条直线 解决方案:转换成灰度图(二维数组) 解决方案:边缘提取并转换成二值图 这样只需要将边缘点进行Hough变换之后取交点即可 边缘提取基本思想 #什么是边缘? 边缘一般是指图像在某一局部强度剧烈变化的区域。一般分为以下两种: 阶跃变化 屋顶变化 ##提取图像中的边缘即 找到图像中这样的点的集合 边缘提取算法 • Rebert算子 • prewitt算子 • sobel算子 • laplacian算子 • canny算子 . . . Canny边缘检测 1、高斯滤波 2、计算一阶偏导的幅值和方向,得到x、y方向上的偏导数矩阵 3、非极大值抑制(去除在梯度方向上的非局部最优解) 4、双阈值算法检测(另边缘更完整) Matlab实现Hough变换直线检测 clear,clc,close all; I=imread(Image_name.JPG); bw=rgb2gray(I); bw=im2bw(I,graythresh(bw)); bw=double(bw); BW=edge(bw,canny); imshow(BW);title(canny 边界图像); • Canny边缘提取部分代码 • 参数空间计算部分代码 [H,T,R]=hough(BW); figure,imshow(H,[],XData,T,YData,R,InitialMagnification,fit); xlabel(\theta),ylabel(\rho); axis on, axis normal,hold on; P=houghpeaks(H,4,threshold,ceil(0.3*max(H(:)))); x=T(P(:,2)); y = R(P(:,1)); plot(x,y,s,color,white); lines=houghlines(BW,T,R,P,FillGap,50,MinLength,7); • 参数空间映射回图像空间直线检测部分代码 figure,imshow(BW),title(直线标识图像); max_len = 0; hold on; for k=1:length(lines) xy=[lines(k).point1;lines(k).point2]; % 标出线段 plot(xy(:,1),xy(:,2),LineWidth,2,Color,green); % 标出线段的起始和终端点 plot(xy(1,1),xy(1,2),x,LineWidth,2,Color,yellow); plot(xy(2,1),xy(2,2),x,LineWidth,2,Color,red); len=norm(lines(k).point1-lines(k).point2); Len(k)=len; if (lenmax_len) max_len=len; xy_long=xy; end end % 强调最长的部分 plot(xy_long(:,1),xy_long(:,2),LineWidth,2,Color,blue); [L1, Index1]=max(Len(:)); 同样的,基于构造参数空间的思想,可以将Hough变换应用于对图像中其他几何形状的检测中 The End

文档评论(0)

173****7830 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档