在Android中生成2D-ortho-mosaic图像

时间:2017-01-18 05:09:23

标签: android image-processing bitmap

我正在开发一个用于图像处理的Android应用程序。在那,我首先需要通过将100多个图像拼接在一起来生成正射图像。我在Android中使用Bitmap和Canvas尝试过它。我第一次做了3张图片。这是生成ortho的正确方法还是有更好的解决方案?这是我用来拼接3张图片的代码:

private void joinImages(File first, File second , File third) throws IOException
    {
        Bitmap bmp1, bmp2, bmp3;
        bmp1 = BitmapFactory.decodeFile(first.getPath());
        bmp2 = BitmapFactory.decodeFile(second.getPath());
        bmp3 = BitmapFactory.decodeFile(third.getPath());

        int height = bmp1.getHeight()+bmp2.getHeight()+bmp3.getHeight();
        String height1 = height+"";
        Log.d(height1,"heght");

        Bitmap bmOverlay = Bitmap.createBitmap(bmp1.getWidth(), height, Bitmap.Config.ARGB_8888);

        Canvas canvas = new Canvas(bmOverlay);
        canvas.drawBitmap(bmp1, 0, 0, null);
        canvas.drawBitmap(bmp2, bmp1.getHeight(), 0, null);
        canvas.drawBitmap(bmp3,bmp1.getHeight()+bmp2.getHeight() , 0, null);

        FileOutputStream out = new FileOutputStream("/storage/emulated/0/DCIM/final.jpg");
        bmOverlay.compress(Bitmap.CompressFormat.JPEG, 80, out);
        out.close();
}

由于我不熟悉Android以及图像处理,我也想知道图像拼接和2D正交马赛克生成之间的区别。请帮我解决这个问题。

0 个答案:

没有答案