0
我想將中值過濾器應用於雙層圖像並輸出雙層圖像。 JAI中值濾波器似乎輸出RGB圖像,我無法將其下變換回雙層。中值使用JAI過濾雙層圖像
目前,我甚至不能像回到灰色空間,我的代碼看起來是這樣的:
BufferedImage src; // contains a bi-level image
ParameterBlock pb = new ParameterBlock();
pb.addSource(src);
pb.add(MedianFilterDescriptor.MEDIAN_MASK_SQUARE);
pb.add(3);
RenderedOp result = JAI.create("MedianFilter", pb);
ParameterBlock pb2 = new ParameterBlock();
pb2.addSource(result);
pb2.add(new double[][]{{0.33, 0.34, 0.33, 0}});
RenderedOp grayResult = JAI.create("BandCombine", pb2);
BufferedImage foo = grayResult.getAsBufferedImage();
該代碼掛在grayResult線,似乎不回。我假設我最終需要在JAI中調用「Binarize」操作。
編輯:實際上,一旦我調用getAsBufferedImage(),代碼似乎會停滯,但當第二個操作(「BandCombine」)被移除時,幾乎立即返回。
有沒有更好的方法來保持源彩色域中的中值濾波?如果不是,我該如何下變換回二進制?