如何判断一条曲线是否自己相交?
今天看到群里有人在問這個(gè)問題,想了一個(gè)解決辦法。
我們首先作假設(shè),如果一條曲線有交點(diǎn),那么它就是相交的對(duì)吧。可能大家想的都是這樣,就開始找各種方法去識(shí)別交點(diǎn)。
我們換個(gè)角度想一下:是不是我們判斷這條曲線是否帶有封閉的區(qū)域就可以了呢?
這樣問題解決起來會(huì)很容易:
圖片里邊有一條線,我先用求取交點(diǎn)做了一下。
如果采用求是否存在空洞的話程序會(huì)非常簡(jiǎn)單。
在halcon下實(shí)現(xiàn):
首先選擇出線條區(qū)域,可以用二值化。
threshold (Image, Region, 128, 255)
選擇出區(qū)域后,可以填充一下孔洞,使用fill_up函數(shù)
fill_up (Region, RegionFillUp)
之后把沒填充與填充的區(qū)域做減法
difference (RegionFillUp, Region, RegionDifference)
求取不同區(qū)域部分的面積
area_center (RegionDifference, Area, Row, Column)
如果Area大于0,則判定曲線有交點(diǎn)
進(jìn)一步優(yōu)化:
首先選擇出線條區(qū)域,可以用二值化。
threshold (Image, Region, 128, 255)
直接判斷是否存在孔洞
area_holes (RegionDifference, Area)
如果Area大于0,則判定曲線有交點(diǎn)
希望大家可以自己動(dòng)手試一下
總結(jié)
以上是生活随笔為你收集整理的如何判断一条曲线是否自己相交?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jquery datatable 获取当
- 下一篇: 如何学习财务数据分析,有哪些好工具?