有沒有人可以幫我解釋 「邊緣點可能位於梯度的 模塊的最大值處,並且邊緣輪廓的方向與梯度方向正交。」圖像邊緣和漸變之間的關係是什麼?
回答
Paul R給了你一個答案,所以我只是添加一些圖像來幫助表達觀點。
在圖像處理中,當我們提到「漸變」時,我們通常意味着一系列像素的亮度變化。您可以使用軟件(如GIMP或Photoshop)創建漸變圖像。
下面是從黑色(左側)的線性梯度的一個例子,以白色(右側):
梯度是「線性」的含義是,在強度的變化成正比之間的距離像素。這個特定的漸變是平滑的,我們不會說這個圖像中存在「邊緣」。
如果我們繪製梯度對X位置(從左至右)的亮度,我們得到了一個情節,看起來像這樣:
下面是一個對象的例子在後臺。邊緣有點模糊,但這在真實物體的圖像中很常見。像素亮度不會從一個像素到另一個像素從黑色變爲白色:存在包含灰度陰影的漸變。這並不明顯,因爲您通常必須放大照片才能看到模糊的邊緣。
在圖像處理中,我們可以通過查看急劇過渡(銳梯度)從一個亮度到另一個找到的那些邊緣。如果我們放大那個盒子的左上角,我們可以看到只有幾個像素從白色到黑色的過渡。這種轉變也是一種漸變。區別在於漸變位於兩個恆定顏色區域之間:左側爲白色,右側爲黑色。
紅色箭頭顯示了從背景到前景的梯度的方向:像素左側的光,如我們在+ x方向移動的像素變暗。如果我們繪製沿着箭頭採樣的亮度,我們會得到如下圖所示的內容,紅色方塊表示特定像素的亮度。的變化是不是線性的,而是會看起來像一個鐘形曲線的一側:
藍色線段是曲線的斜率的粗略近似在最陡。 「真實」邊緣點是斜率沿對應於物體邊緣的梯度最陡峭的點。
可以使用水平和垂直Sobel濾波器計算梯度幅度和方向。然後,可以計算出梯度的方向:
gradientAngle =反正切(gradientY/gradientX)
梯度將是最陡峭的,當它是垂直於物體的邊緣。
如果您查看一些真實場景的黑白圖像,可以放大,查看各個像素值,並瞭解這些原理如何應用。
非常感謝您的詳細解答。我想開發一個血細胞計數系統,您能告訴我我應該學什麼以及它的過程是什麼? – 2012-02-02 09:36:30
我想你會得到一個很好的圖像處理教科書,例如岡薩雷斯和伍茲(第3版)的**數字圖像處理**。你可以在網上找到關於圖像處理的信息,但是有一本教科書會有很大的幫助。要了解不同算法的工作原理,可以下載ImageJ(http://rsbweb.nih.gov/ij/)。這將允許您立即開始處理示例圖像。一旦你知道使用什麼算法,你可以瞭解這些算法,實現它們,並做出必要的改變。學習圖像處理需要時間。祝你好運! – Rethunk 2012-02-03 03:10:00
對象邊緣通常會導致強度的階躍變化。因此,如果您採用強度的導數,那麼它將在邊緣處具有較大(正值或負值)值,而其他值則較小。如果你能確定最陡的梯度方向,那麼它將與物體邊緣成直角(正交)。
非常感謝您的詳細解答。我想開發一個血細胞計數系統,您能告訴我應該學什麼以及它的過程是什麼? – 2012-02-02 09:39:48
聽起來好像你需要先閱讀一些關於**圖像處理**和**計算機視覺**的好書。你可能也想看看OpenCV。 – 2012-02-02 09:59:58
- 1. 像素和縮放像素之間的關係是什麼
- 2. C++和Ruby之間的關係和依賴關係是什麼?
- 3. UUID和磁盤映像之間的關係是什麼?
- 4. twisted.cred.portal.IRealm,門戶和頭像之間的關係是什麼
- 5. 用文字填充圖像和邊緣之間的空間
- 6. 畫布和位圖之間的關係是什麼?
- 7. Blaze視圖和模板之間的關係是什麼?
- 8. 圖像大小和字體大小之間的關係是什麼?
- 9. dup()和close()系統調用之間的關係是什麼?
- 10. 什麼是系統類和PrintStream類之間的關係
- 11. 什麼決定的圖像邊緣變化量jQuery中
- 12. using關鍵字和IDisposable接口之間的關係是什麼?
- 13. JLS,Java和相關技術之間的關係是什麼?
- 14. malloc診斷和malloc相關的環境變量之間的關係是什麼?
- 15. 負載和響應時間之間的關係是什麼?
- 16. JSDoc:模塊和名稱空間之間的關係是什麼
- 17. gnuplot - 圖形與png圖像邊緣之間沒有空間
- 18. SIGTSTP和SIGCHLD之間有什麼關係
- 19. PyTorch和Torch之間有什麼關係?
- 20. IRimTable和PersistenceStore之間有什麼關係?
- 21. foreach和IEnumerable之間有什麼關係?
- 22. STL和stdlib之間有什麼關係
- 23. tsconfig.json和gulp.js之間有什麼關係?
- 24. '@ 1'和'@ 2'之間有什麼關係
- 25. SelectListItem和SelectList之間有什麼關係
- 26. document.write()和AJAX之間有什麼關係?
- 27. seneca和redis之間有什麼關係
- 28. streamjs和linqjs之間有什麼關係
- 29. MariaDB和MySQL之間有什麼關係?
- 30. __getattr__和getattr之間有什麼關係?
你學過數學(微積分)嗎?你知道什麼是漸變嗎? – leonbloy 2012-01-12 15:31:38
是的,但我只是有一個漸變的基本概念。 – 2012-02-02 04:43:22