頂帽:又稱禮帽,原影象與開操作後的影象之間的差值影象
黑帽:閉操作影象與原影象的差值影象
# 增加亮度
cv.imshow(
"tophat"
, dst)
defblack_hat_demo
(image)
: gray = cv.cvtcolor(image, cv.color_bgr2gray)
kernel = cv.getstructuringelement(cv.morph_rect,(15
,15))
dst = cv.morphologyex(gray, cv.morph_blackhat, kernel)
cimage = np.array(gray.shape, np.uint8)
cimage =
100 dst = cv.add(dst, cimage)
# 增加亮度
cv.imshow(
"black_hat"
, dst)
defhat_binary_demo
(image)
: gray = cv.cvtcolor(image, cv.color_bgr2gray)
ret, binary = cv.threshold(gray,0,
255, cv.thresh_binary | cv.thresh_otsu)
kernel = cv.getstructuringelement(cv.morph_rect,(15
,15))
dst = cv.morphologyex(binary, cv.morph_tophat, kernel)
cv.imshow(
"hat"
, dst)
defgradient1_demo
(image)
: gray = cv.cvtcolor(image, cv.color_bgr2gray)
ret, binary = cv.threshold(gray,0,
255, cv.thresh_binary | cv.thresh_otsu)
kernel = cv.getstructuringelement(cv.morph_rect,(3
,3))
dst = cv.morphologyex(binary, cv.morph_gradient, kernel)
cv.imshow(
"hat"
, dst)
defgradient2_demo
(image)
: kernel = cv.getstructuringelement(cv.morph_rect,(3
,3))
dm = cv.dilate(image, kernel)
em = cv.erode(image, kernel)
dst1 = cv.subtract(image, em)
# internal gradient
dst2 = cv.subtract(dm, image)
# external gradient
cv.imshow(
"internal"
, dst1)
cv.imshow(
"external"
, dst2)
# 讀取
# src = cv.imread("d:\python\projects\opencv_toturial\images\lena.png")
# 建立opencv的gui視窗
# cv.namedwindow("input image", cv.window_autosize)
# 將放入指定名字的視窗中顯示出來
# cv.imshow("input image", src)
# top_hat_demo(src)
# black_hat_demo(src)
src2 = cv.imread(
"d:\python\projects\opencv_toturial\images\morph00.png"
)cv.imshow(
"input image"
, src2)
# hat_binary_demo(src2)
# gradient1_demo(src2)
gradient2_demo(src2)
# 設定waitkey中的delay為0,程式會等待使用者操作後關閉視窗
cv.waitkey(
0)頂帽操作結果:
黑帽操作結果:
頂帽對二值影象操作結果:
黑帽對二值影象操作結果:
梯度影象結果:
內梯度和外梯度:
OpenCV學習筆記 頂帽 黑帽 形態學梯度
一 頂帽 又稱禮帽,是原始影象與進行開運算之後得到的影象的差。因為開運算到來的結果是放大了裂痕或者區域性低亮度的區域,因此,從原圖中減去運算後的圖,得到的效果圖突出了比原圖輪廓周圍的區域更明亮的區域,且這一操作和選擇的核的大小相關。頂帽運算往往用來分離比鄰近點亮一些的斑塊。當一幅影象具有大幅的背景的...
形態學處理梯度 頂帽 黑帽
基本梯度 經過膨脹操作的影象與經過腐蝕操作影象的差值影象,可以用來提取出物體的邊緣部分。內部梯度 原影象與經過腐蝕操作的影象的差值影象。外部梯度 經過膨脹操作的影象與原影象的差值影象。opencv中支援的是基本梯度,下面放一段 和執行結果更直觀的理解 原影象與經過開運算操作的影象的差值影象,作用是可...
OpenCV Python 頂帽黑帽和形態學梯度
1 頂帽 頂帽 原始影象 開操作 2 黑帽 黑帽 閉操作 原始影象 3 形態學梯度 1 基本梯度 基本梯度 膨脹後的影象 腐蝕後的影象 2 內部梯度 內部梯度 原始影象 腐蝕後的影象 3 外部梯度 外部梯度 膨脹後的影象 原始影象 引入opencv模組 import cv2 as cv 引入nump...