繁体   English   中英

使用BoofCV在Java中进行小波变换(Haar或Daubechies)

[英]Wavelet Transform (Haar or Daubechies) in Java with BoofCV

有人知道如何在Java中使用BoofCV的小波变换(Haar或Daubechies)吗?

网上没有代码示例,我在这个库中是新手。

我已经在下面尝试过此代码,但是没有结果。

public static void main(String[] args) throws IOException, InstantiationException, IllegalAccessException {
    String dir = "C:\\Users\\user\\Desktop\\ImgTest\\";
    BufferedImage buff =UtilImageIO.loadImage(dir+"img.png");

    ImageUInt16 aux = UtilImageIO.loadImage(dir+"img.png", ImageUInt16.class);

    ImageSInt16 input = new ImageSInt16(aux.width, aux.height);
    input =ConvertImage.convert(aux, input);
    ImageSInt32 output = new ImageSInt32(aux.width, aux.height);

    int minPixelValue = 0;
    int maxPixelValue = 255;
    WaveletTransform<ImageSInt16, ImageSInt32, WlCoef_I32> transform =  
            FactoryWaveletTransform.create_I(FactoryWaveletHaar.generate(true, 0), 1, 
                    minPixelValue, maxPixelValue,ImageSInt16.class);
    output=transform.transform(input, output);

    //BufferedImage out = ConvertBufferedImage.convertTo(output, null);
    BufferedImage out = new BufferedImage(input.width*6, input.height*6, 5);
     out = VisualizeBinaryData.renderLabeled(output, 0, out);
    ImageIO.write(out, "PNG", new File(dir+"out.png"));
    }
}

我也尝试过JWave,但是也没有代码示例,负责人也无法提供帮助。

谢谢!

外面有很多代码示例。 我之前做了一个,但是在C#中不是Java。 对于Java代码,您可以在这里参考

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM