我正在嘗試使用形態學頂帽操作從影像中洗掉漸變背景。為此,我使用 skimage 形態庫(opening、whiet_tophat)函式。白色禮帽本身意味著 = 初始影像 - 打開的影像。在我的代碼中,我將 skimage wht 函式結果的結果與手動獲得的 wth 進行比較。
import numpy as np
from skimage import morphology
import cv2 as cv
img = cv.imread('images/TEST.jpg', cv.IMREAD_GRAYSCALE)
img_not = cv.bitwise_not(img)
se = np.ones((50,50), np.uint8)
opened = morphology.opening(img, se)
wth_my= img_not - opened
wth=morphology.white_tophat(img_not, se)
cv.imwrite('images/TEST_Opened.jpg', opened)
cv.imwrite('images/TEST_WTH_MY.jpg', wth_my)
cv.imwrite('images/TEST_WTH.jpg', wth)
cv.waitKey(0)
cv.destroyAllWindows()
結果完全不同(見截圖)。請建議我的代碼有什么問題。

uj5u.com熱心網友回復:
正如你所說,頂帽過濾器是I - opening(I). 你寫了:
opened = morphology.opening(img, se)
wth_my= img_not - opened
請注意一行如何使用img,而另一行如何使用img_not。您還需要應用開口img_not,以便操作的兩個部分處理的影像相同。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/372308.html
標籤:Python opencv 图像处理 scikit-image 数学形态学
