【Matlab】找到矩阵中每个连通域的最小值
1.Introduction
連通域在我淺薄的圖像處理知識(shí)中,一直是很神圣的存在。最近想在Matlab里實(shí)現(xiàn)的時(shí)候,發(fā)現(xiàn)竟然一個(gè)函數(shù)就解決了,Matlab真香!
2.Materials and methods
首先,還是介紹一下主角函數(shù) bwlabel,看語(yǔ)法還是比較簡(jiǎn)單的,其中第二個(gè)參數(shù) conn 可以設(shè)置判斷連通域時(shí)用4連接還是8連接。另外,這種既可以輸入一個(gè)參數(shù),又可以輸入兩個(gè)參數(shù)的函數(shù)實(shí)現(xiàn),可以看我之前的博客,文末有鏈接~
ok,那接下來(lái)就實(shí)際試試吧:
這里我們選的是4聯(lián)通,如果改成8聯(lián)通的話,標(biāo)簽就只剩0和1了,因?yàn)?聯(lián)通的條件更嚴(yán)格,也更難判定其為連通域。具體原理看下圖:
目前為止,我們找到了矩陣中的連通域,那么接下來(lái)就要尋找各個(gè)連通域中的最小值了。代碼如下:
代碼中的 unique 函數(shù)是確定數(shù)組中都存在哪些數(shù),具體用法看文末鏈接。
3. Results and discussion
運(yùn)行代碼,看看結(jié)果:
結(jié)果如上圖所示,代碼輸出了每個(gè)連通域最小值所處的行列坐標(biāo),代碼功能也便實(shí)現(xiàn)了。
4. Conclusion
其實(shí)我一直喜歡代碼開源,因?yàn)橹翱戳撕芏嗖┛?#xff0c;有的是講原理沒代碼,有的放代碼沒注釋,甚至運(yùn)行直接報(bào)錯(cuò)。所以我就想,直接把代碼貼出來(lái),再配一些解釋說(shuō)明,方便大家使用,也希望不要再反復(fù)造輪子了。
但是,我寫代碼是我想寫,而不是我要寫。一些代碼封裝的像藝術(shù)品,有的人都不會(huì)用,真白瞎我代碼了。
猜你喜歡:👇🏻
?【Matlab】如何提取矩陣中特定位置的元素?
?【Matlab】如何確定數(shù)組中存在哪幾個(gè)數(shù)?
?【Matlab】矩陣中選取任意子矩陣
總結(jié)
以上是生活随笔為你收集整理的【Matlab】找到矩阵中每个连通域的最小值的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 充电枪cp信号控制板_筋膜枪究竟是不是智
- 下一篇: mac php编译freetype,Ma