📄 chapter09morpherodedilate.pro
字号:
; Chapter09MorphErodeDilate.pro
PRO Chapter09MorphErodeDilate
DEVICE, DECOMPOSED = 0, RETAIN = 2
LOADCT, 0
file = FILEPATH('pollens.jpg', $
SUBDIRECTORY = ['examples', 'demo', 'demodata'])
READ_JPEG, file, img, /GRAYSCALE
dims = SIZE(img, /DIMENSIONS)
radius = 2
strucElem = SHIFT(DIST(2*radius+1), radius, radius) LE radius
PRINT, strucElem
erodeImg = REPLICATE(MAX(img), dims[0]+2, dims[1]+2)
erodeImg [1,1] = img
dilateImg = REPLICATE(MIN(img), dims[0]+2, dims[1]+2)
dilateImg [1,1] = img
padDims = SIZE(erodeImg, /DIMENSIONS)
WINDOW, 0, XSIZE = 3*padDims[0], YSIZE = padDims[1], $
TITLE = "Original, Eroded and Dilated Grayscale Images"
TVSCL, img, 0
erodeImg = ERODE(erodeImg, strucElem, /GRAY)
TVSCL, erodeImg, 1
dilateImg = DILATE(dilateImg, strucElem, /GRAY)
TVSCL, dilateImg, 2
WINDOW, 1, XSIZE = 400, YSIZE = 300
PLOT, HISTOGRAM(img)
img = img GE 120
erodeImg = REPLICATE(1B, dims[0]+2, dims[1]+2)
erodeImg [1,1] = img
dilateImg = REPLICATE(0B, dims[0]+2, dims[1]+2)
dilateImg [1,1] = img
dims = SIZE(erodeImg, /DIMENSIONS)
WINDOW, 2, XSIZE = 3*dims[0], YSIZE = dims[1], $
TITLE = "Original, Eroded and Dilated Binary Images"
TVSCL, img, 0
erodeImg = ERODE(erodeImg, strucElem)
TVSCL, erodeImg, 1
dilateImg = DILATE(dilateImg, strucElem)
TVSCL, dilateImg, 2
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -