diff --git a/deploy/lite/android/sdk/src/main/java/com/baidu/paddlex/visual/Visualize.java b/deploy/lite/android/sdk/src/main/java/com/baidu/paddlex/visual/Visualize.java index c2cc7d280a7c7ed02f515a658840f9ad983478b0..d205533b2bc8373debf401655adc89c27ad5936d 100644 --- a/deploy/lite/android/sdk/src/main/java/com/baidu/paddlex/visual/Visualize.java +++ b/deploy/lite/android/sdk/src/main/java/com/baidu/paddlex/visual/Visualize.java @@ -118,13 +118,15 @@ public class Visualize { public Mat draw(SegResult result, Mat visualizeMat, ImageBlob imageBlob, int cutoutClass) { int new_h = (int)imageBlob.getNewImageSize()[2]; int new_w = (int)imageBlob.getNewImageSize()[3]; - Mat mask = new Mat(new_h, new_w, CvType.CV_8UC(1)); - + Mat mask = new Mat(new_h, new_w, CvType.CV_32FC(1)); + float[] scoreData = new float[new_h*new_w]; for (int h = 0; h < new_h; h++) { for (int w = 0; w < new_w; w++){ - mask.put(h , w, (1-result.getMask().getScoreData()[cutoutClass + h * new_h + w]) * 255); + scoreData[new_h * h + w] = (1-result.getMask().getScoreData()[cutoutClass + h * new_h + w]) * 255; } } + mask.put(0,0, scoreData); + mask.convertTo(mask,CvType.CV_8UC(1)); ListIterator> reverseReshapeInfo = new ArrayList>(imageBlob.getReshapeInfo().entrySet()).listIterator(imageBlob.getReshapeInfo().size()); while (reverseReshapeInfo.hasPrevious()) { Map.Entry entry = reverseReshapeInfo.previous(); @@ -135,10 +137,7 @@ public class Visualize { Size sz = new Size(entry.getValue()[0], entry.getValue()[1]); Imgproc.resize(mask, mask, sz,0,0,Imgproc.INTER_LINEAR); } - Log.i(TAG, "postprocess operator: " + entry.getKey()); - Log.i(TAG, "shape:: " + String.valueOf(mask.width()) + ","+ String.valueOf(mask.height())); } - Mat dst = new Mat(); List listMat = Arrays.asList(visualizeMat, mask); Core.merge(listMat, dst);