当前位置: 首页>>代码示例>>Java>>正文


Java KernelJAI.GRADIENT_MASK_SOBEL_VERTICAL属性代码示例

本文整理汇总了Java中javax.media.jai.KernelJAI.GRADIENT_MASK_SOBEL_VERTICAL属性的典型用法代码示例。如果您正苦于以下问题:Java KernelJAI.GRADIENT_MASK_SOBEL_VERTICAL属性的具体用法?Java KernelJAI.GRADIENT_MASK_SOBEL_VERTICAL怎么用?Java KernelJAI.GRADIENT_MASK_SOBEL_VERTICAL使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在javax.media.jai.KernelJAI的用法示例。


在下文中一共展示了KernelJAI.GRADIENT_MASK_SOBEL_VERTICAL属性的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: computeEdgeDensityClutter

private double computeEdgeDensityClutter(PlanarImage image) {
  // first compute the RenderedOp that computes both vertical and
  // horizontal
  // edge detection
  KernelJAI sobelVertKernel = KernelJAI.GRADIENT_MASK_SOBEL_VERTICAL;
  KernelJAI sobelHorizKernel = KernelJAI.GRADIENT_MASK_SOBEL_HORIZONTAL;
  ParameterBlock pb = new ParameterBlock();
  pb.addSource(image);
  pb.add(sobelHorizKernel);
  pb.add(sobelVertKernel);
  RenderedOp renderedOp = JAI.create("gradientmagnitude", pb);
  BufferedImage edgeImage = renderedOp.getAsBufferedImage();

  // then compute a density value, i.e. the mean
  int edgeTotal = 0;
  for (int i = 0; i < edgeImage.getWidth(); i++)
    for (int j = 0; j < edgeImage.getHeight(); j++)
      edgeTotal += Math.abs(edgeImage.getRGB(i, j));

  return Math.abs(edgeTotal / (edgeImage.getWidth() * edgeImage.getHeight()));
}
 
开发者ID:IGNF,项目名称:geoxygene,代码行数:21,代码来源:RasterClutterMethod.java

示例2: actionPerformed

@Override
public void actionPerformed(ActionEvent e) {
  // get the filename
  JFileChooser fc = new JFileChooser();
  fc.setFileFilter(new ImageFileFilter());
  int returnVal = fc.showDialog(null, "Choose the image to assess");
  if (returnVal != JFileChooser.APPROVE_OPTION) {
    return;
  }
  File path = fc.getSelectedFile();
  BufferedImage image;
  try {
    image = ImageIO.read(path);
    TiledImage pImage = new TiledImage(image, true);
    RasterClutterMethod clutterMethod = new RasterClutterMethod(pImage);
    System.out.println(clutterMethod.getEdgeDensityClutter());

    // export image
    KernelJAI sobelVertKernel = KernelJAI.GRADIENT_MASK_SOBEL_VERTICAL;
    KernelJAI sobelHorizKernel = KernelJAI.GRADIENT_MASK_SOBEL_HORIZONTAL;
    ParameterBlock pb = new ParameterBlock();
    pb.addSource(image);
    pb.add(sobelHorizKernel);
    pb.add(sobelVertKernel);
    RenderedOp renderedOp = JAI.create("gradientmagnitude", pb);
    BufferedImage edgeImage = renderedOp.getAsBufferedImage();
    File outputfile = new File(path.getParent() + "\\"
        + path.getName().substring(0, path.getName().length() - 4)
        + "_edge.png");
    ImageIO.write(edgeImage, "png", outputfile);
  } catch (IOException e1) {
    e1.printStackTrace();
  }
}
 
开发者ID:IGNF,项目名称:geoxygene,代码行数:34,代码来源:CartoPlugin.java


注:本文中的javax.media.jai.KernelJAI.GRADIENT_MASK_SOBEL_VERTICAL属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。