合并直线—— 相似判据 我们知道火柴是有一定的宽度,换句话说一根火柴可能会检测 出两根直线,那么我们就要合并他。如果两个直线两个峰值点 对应的rho 之差小于某个值约为70,并且两个峰值点对应的 heta角度之差小于大概15 度,则认为这两个线段是在同一 根火柴棒上的。我们这样做还能将火柴提取出来的平行边缘合 并,并且合并了属于同一条直线上的间断的线段。 合并的方法是这样的:在检测出已经属于同一根火柴棒的前提 下,检测到的长得那根代替短的那根。这样确保一根火柴只有 一根线。这样我们在统计火柴个数的时候不会出错。 实验结果分析:首先读入原始图像 资料Word 算子分割图像。虽然有可能有边缘的Prewitt 然后利用边缘检 测算子地方并非边界,也有可能边界的地方并无边缘,但是在 本题中可以 很好的提取图像边缘。 资料Word 第三步:利用hough变换将曲线问题转化为提取峰值点的提 取,峰值点个数对应了线段的个数。但是图像经过边缘检测之 后所得的图像并不是完美平滑的直线,可能两个峰值代表的是 同一根火柴,只是从上图看,他们是断开的。所以提取的峰值 点数并不能完全代表火柴的根数,只能算是线段的条数。 在这里,我们可以利用houghl 25);,35, MinLengt nes(M,theta,rho, peaks, 将峰值所对应 的线段找到。 在这里就需要我们检验同一直线上的线段并将它们合并为一条 直线。我们知道火柴是有一定的宽度,换句话说一根火柴可能 会检测出两根直线,那么我们就要合并他。如果两个直线两个 峰值点对 资料Word 应的rho之差小于某个值约为70,并且两个峰值点对应的 heta角度之差小于大概10 度,则认为这两个线段是在同一 根火柴棒上的。我们这样做还能将火柴提取出来的平行边缘合 并,并且合并了属于同一条直线上的间断的线段。 合并的方法是这样的:在检测出已经属于同一根火柴棒的前提 下,检测到的长得那根代替短的那根。这样确保一根火柴只有 一根线。这样我们在统计火柴个数的时候不会出错。 最后,重构火柴,得出火柴数。我们将保留的线段标记为1, 舍弃的标记为0,相加所有的值相加即为火柴的根数。最终火 柴数目num=15。 资料Word 这次大作业让我全面的了解了图像处理,将以前所学只是融汇贯 变换,边缘提取。尤其是hough 通。就这一次用了很多原理 比如变换,将图像平面的点对应到参数平面上的线让我大开眼hough 算子,降声噪,这很关键没有这一Prewi tt 界。而边缘 提取,采用步,将会出现很多误差峰值点。为了了解他们我去 图书馆看了很多 书,学习了很多案例。但是还有很多需要自 己思考,去尝试。语句也让我很头疼理清关系也发费了不少i 在自己作业中,for,时间。最后火柴数总是不能达到计数值,在一开始总认为是程 序出给出现了问题,忙活了好久,却不能解决问题。最终在观 察matl ab 的图形是才发现,误差给的太大,导致峰值点被忽 略。在改变了角度之后,终于统计出了所有的火柴,顺利完成 了作业。我觉得用这种方法统计火柴根数很方便,但是也会必 然的存在误差,在这个程角度之差的确认对于误差的减少至关 重要。想之差与thet arho 序中要确定无误的统计,还更多的 知识需要我去掌握。这次作业让我认 资料Word mread(I=rgb2gray(I figure;i mshow(I); alMagni YData',rho,f );),ylabel \rho'xl abel onon,axi normalaxi ,45);'threshol peaks=houghpeaks(H,1000,x=thet a(peaks(:, plot 25);,35, MinLength' nes(M,thet +1:lengt nes)for(abs(l heta-l nes(i).rho-l point1-l nes(i).poi nt 2)>norm(l nes(j).poi nt1-l nes(j).poi nt else endend end end nes)forxy=[l nes(k).poi nt1;l nes(k).point blue' plot(xy(: LineWi dt nes(n).mark=1;end ;continue end m=n+1: nes(n).poi nt1==l nes(m).point nes(m).mark=0;end 资料Word endend num=0; nes)fornum=num+l mark;end num=num 参考文献:七. 清华大学出版社 编著 刘直芳《数字图像 处理与分析》 电子工业出版社 Gonzal ez《数字图像处理—第二版》 《数字图像处理—matlab Gonzalez 《基于Hough变换的圆检测方法》 计算机工程与设计 第26