温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-12-15 18:08:35 来源:亿速云 阅读:108 作者:柒染 栏目:大数据

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

首先在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中图片改为灰度的示例分析,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI