如何用Skimage庫實現邊緣檢測?Python庫skimage怎么完成圖像邊緣檢測

【如何用Skimage庫實現邊緣檢測?Python庫skimage怎么完成圖像邊緣檢測】圖像邊緣檢測就是通過算法和方法,來將圖像之中物體明顯突出的邊緣檢測出來,然后對圖像進行處理只保留邊緣而其他區域的顏色都會變成黑色 。而之前也介紹過了使用其他庫來完成邊緣檢測方法,那么本文主要講解的則是使用skimage庫實現邊緣檢測 。

如何用Skimage庫實現邊緣檢測?Python庫skimage怎么完成圖像邊緣檢測


一、filters模塊
該第三方庫之中邊緣檢測是需要導入模塊才能夠調用對應方法來實現的,那么邊緣檢測方法所在的模塊為filters,它里面提供了很多不同的方法來完成圖像圖像邊緣檢測 。比較常用的有prewitt、roberts、scharr、sobel等方法,這些方法都是使用平滑濾波算法,功能和效果只有一些細微的差別 。
并且這些方法的調用方式都是一樣的,只需要傳入圖像文件對象作為參數即可,詳細代碼示例如下所示:
from skimage import data,filtersimport matplotlib.pyplot as pltimg = data.camera()edges = filters.sobel(img)plt.imshow(edges,plt.cm.gray)
如何用Skimage庫實現邊緣檢測?Python庫skimage怎么完成圖像邊緣檢測


二、feature模塊
除了上面所介紹的模塊和方法之外,此第三方庫之中的模塊feature也是能夠來完成邊緣檢測操作的 。并且該方法還可以通過調整權重值來讓邊緣檢測減少或增加線條 。
這個方法就是canny,在傳入圖像文件對象之后,還可以用可選參數sigma來調整邊緣提取效果 。該值越大的話,那么獲取到的線條實際上就是越小的,也就是只提取邊緣較為明顯物體的線條,詳細代碼示例如下所示:
from skimage import data,filters,featureimport matplotlib.pyplot as pltimg = data.camera()edges2 = feature.canny(img,sigma=3)plt.imshow(edges2,plt.cm.gray)plt.show()
如何用Skimage庫實現邊緣檢測?Python庫skimage怎么完成圖像邊緣檢測


以上就是關于“如何用Skimage庫實現邊緣檢測?Python庫skimage怎么完成圖像邊緣檢測”的全部內容了,希望對你有所幫助 。

    猜你喜歡