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

📄 chapter09findinglineswithhough.pro

📁 idl 可视化分析与应用(随书程序)
💻 PRO
字号:
; Chapter09FindingLinesWithHough.pro
PRO Chapter09FindingLinesWithHough
  file = FILEPATH('rockland.png', SUBDIRECTORY = ['examples', 'data'])
  image = READ_PNG(file)
  imageSize = SIZE(image, /DIMENSIONS)
  DEVICE, DECOMPOSED = 1
  WINDOW,0,XSIZE=imageSize[1],YSIZE=imageSize[2],TITLE='Rockland, Maine'
  TV, image, TRUE = 1
  intensity = REFORM(image[1, *, *])
  intensitySize = SIZE(intensity, /DIMENSIONS)
  mask = intensity GT 240
  DEVICE, DECOMPOSED = 0
  LOADCT, 0
  WINDOW, 1, XSIZE = intensitySize[0], $
    YSIZE = intensitySize[1], TITLE = 'Mask to Locate Power Lines'
  TVSCL, mask
  transform = HOUGH(mask, RHO = rho, THETA = theta)
  displaySize = [256, 256]
  offset = displaySize/3
  TVLCT, red, green, blue, /GET
  TVLCT, 255 - red, 255 - green, 255 - blue
  WINDOW, 2, XSIZE = displaySize[0] + 1.5*offset[0], $
    YSIZE = displaySize[1] + 1.5*offset[1], TITLE = 'Hough Transform'
  TVSCL, CONGRID(transform, displaySize[0],$
    displaySize[1]), offset[0], offset[1]
  PLOT, theta, rho, /XSTYLE, /YSTYLE, $
    TITLE = 'Hough Transform', XTITLE = 'Theta', $
    YTITLE = 'Rho', /NODATA, /NOERASE, /DEVICE, $
    POSITION = [offset[0], offset[1], displaySize[0] + offset[0], $
  displaySize[1] + offset[1]], CHARSIZE = 1.5, COLOR = !P.BACKGROUND
  transform = (TEMPORARY(transform) - 85) > 0
  WINDOW, 3, XSIZE = displaySize[0] + 1.5*offset[0], $
  YSIZE = displaySize[1]+1.5*offset[1], TITLE = 'Scaled Hough Transform'
  TVSCL, CONGRID(transform, displaySize[0], $
    displaySize[1]), offset[0], offset[1]
  PLOT, theta, rho, /XSTYLE, /YSTYLE, $
    TITLE = 'Scaled Hough Transform', XTITLE = 'Theta', $
    YTITLE = 'Rho', /NODATA, /NOERASE, /DEVICE, $
    POSITION = [offset[0], offset[1], displaySize[0] + offset[0], $
    displaySize[1] + offset[1]], CHARSIZE = 1.5, COLOR = !P.BACKGROUND
    backprojection = HOUGH(transform, /BACKPROJECT, $
    RHO = rho, THETA=theta,NX=intensitySize[0], NY=intensitySize[1])
    WINDOW, 4, XSIZE = intensitySize[0], YSIZE = intensitySize[1], $
    TITLE = 'Resulting Power Lines'
  TVSCL, backprojection
END

⌨️ 快捷键说明

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