⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chapter09removebridges.pro

📁 idl 可视化分析与应用(随书程序)
💻 PRO
字号:
; Chapter09RemoveBridges.pro
PRO Chapter09RemoveBridges
  DEVICE, DECOMPOSED = 0, RETAIN = 2
  LOADCT, 0
  xsize = 768  &  ysize = 512
  img = READ_BINARY(FILEPATH('nyny.dat', $
    SUBDIRECTORY = ['examples', 'data']), DATA_DIMS = [xsize, ysize])
  ; 增强图像对比度,然后显示图像
  img = BYTSCL(img)  &  WINDOW, 0  &  TVSCL, img
  ; 创建阈值屏蔽图像
  maskImg = img LT 70
  ; 创建正方形结构元素
  side = 3
  strucElem = DIST(side) LE side
  maskImg = MORPH_OPEN(maskImg, strucElem)
  maskImg = MORPH_CLOSE(maskImg, strucElem)
  WINDOW, 1, title='Mask After Opening and Closing'
  TVSCL, maskImg
  ; 提取屏蔽图像区域
  labelImg = LABEL_REGION(maskImg)
  ; 移去所有背景和屏蔽图像区域
  regions = labelImg[WHERE(labelImg NE 0)]
  mainRegion = WHERE(HISTOGRAM(labelImg) EQ MAX(HISTOGRAM(regions)))
  maskImg = labelImg EQ mainRegion[0]
  ; 显示屏蔽图像
  Window, 3, TITLE = 'Final Masked Image'
  TVSCL, maskImg
  newImg = MORPH_OPEN(img, strucElem, /GRAY)
  newImg[WHERE(maskImg EQ 0)] = img[WHERE(maskImg EQ 0)]
  PRINT, 'Hit any key to end program.'
  WINDOW, 2, XSIZE = xsize, YSIZE = ysize, TITLE = 'Hit Any Key to End'
  ; 闪烁对比原图像和分割图像
  FLICK, img, newImg
END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -