OpenCVAndroid中图片改为灰度的示例分析

本篇文章为大家展示了OpenCV Android中图片改为灰度的示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

创新互联公司主营蓬安网站建设的网络公司,主营网站建设方案,重庆APP软件开发,蓬安h5微信平台小程序开发搭建,蓬安网站营销推广欢迎蓬安等地区企业咨询

首先在res的drawable下面拷进去一个图片logo.jpeg

OpenCV Android中图片改为灰度的示例分析

然后在activity_main.xml的界面中加上一个按钮和一个图片

OpenCV Android中图片改为灰度的示例分析

OpenCV Android中图片改为灰度的示例分析

返回到代码文件

首先要初始化OpenCV

        OpenCVLoader.initDebug();

OpenCV Android中图片改为灰度的示例分析

然后加载按钮,写按钮事件

public void onClick(View view) {
                BitmapFactory.Options options = new BitmapFactory.Options();
                //设置读出来的图片为argb8位的
                options.inPreferredConfig = Bitmap.Config.ARGB_8888;
                //读取原来的资源图片
                Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.logo, options);
                //创建Mat对象  scr为源图像资源  dst为目标图像资源
                Mat src = new Mat();
                Mat dst = new Mat();
                //把加载的bmp图片转换到scr的Mat对象里
                Utils.bitmapToMat(bmp, src);
                //src的Mat对象改变成灰度后复制进dst的Mat对象里
                Imgproc.cvtColor(src, dst, Imgproc.COLOR_BayerGB2GRAY);
                //再把dst的Mat对象重新转换回bmp图像里
                Utils.matToBitmap(dst, bmp);


                //给图片重新赋值
                ImageView img = findViewById(R.id.img1);
                img.setImageBitmap(bmp);

            }

OpenCV Android中图片改为灰度的示例分析

然后我们直接在虚拟机里运行

照DEMO里做的我这边到了Imgproc.cvtColor这个就直接报错了,现在还没找到什么原因,应该是opencv里新版本的这个参数不一样了,因为现在还不了解C++,后续如果这里学完了去了解一下C++的源码进行分析一下,再回来处理这里

后来我把3.3.1版本去掉了,下了2.4的版本,这样打包起来的APK不再是80M了,变成30M,小了很多,等熟悉了opencv后,再自己把有用的自己封装,减少APK的大小.

上述内容就是OpenCV Android中图片改为灰度的示例分析,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。


新闻标题:OpenCVAndroid中图片改为灰度的示例分析
本文地址:http://scyanting.com/article/gishce.html