android opencv
红色与青色
这个作者很懒,什么都没留下…
展开
-
OpenCV实现OpenGL的mix
mix在OpenGL里是返回x和y的线性混合,在OpenCV里可以用addWeighted来实现,可是它不能实现这种效果可以看到这个皮卡丘一边不透明,一边半透明,这种效果在OpenGL里很简单就实现了,我在OpenCV里没找到方法,就自己写了一个在网上找到了mix的公式x⋅(1−a)+y⋅a,根据公式public static Mat cvMix(Mat x,Mat y,Mat a){ if(x.channels() != y.channels()){原创 2020-07-30 16:16:57 · 1212 阅读 · 0 评论 -
OpenCV实现正片叠底
搞OpenGL的时候就接触过正片叠底,实现也简单就A乘以B,最近在搞OpenCV,发现相乘的结果不对A图B图使用Core.multiply后的图片是这样的照成是因为OpenCV的默认取值范围在0~255,而OpenGL的取值范围在0~1,所以OpenCV的图片相乘会出现大于255的情况,而OpenGL相乘永远都不会大于1。这是我在android开发时遇到的情况,其他环境没测试过,不太清楚。解决方式很简单,把OpenCV的取值范围转成0~1再相乘public static原创 2020-07-28 13:39:15 · 1625 阅读 · 0 评论 -
android opencv通过Camera2实现的JavaCamera2View
本来思路很简单的,通过opengles3.0的pbo来实现将Camera2的数据读取到内存,可是却遇到了天坑,当设置的分辨率太大的时候调用glReadPixels会导致surface不接受数据。然后就换ImageReader来实现,可还是遇到分辨率过大的问题,虽然不会导致surface不接收数据,可是会导致渲染线程卡顿总结下来就是,手机太垃圾了,承受不了高分辨率渲染最后还是选Image原创 2017-09-14 15:40:08 · 5254 阅读 · 2 评论 -
android studio cmake配置opencv3.2.0
下载:opencv我下的是3.2.0解压后将OpenCV-android-sdk\sdk\native\libs文件夹下的所有文件夹复制到项目的app\libs文件夹下将OpenCV-android-sdk\sdk\native\jni文件夹下的include文件夹复制到项目的app\libs文件夹下在CMakeLists.txt文件添加代码#支持-std=gnu++11原创 2017-09-05 17:25:44 · 2101 阅读 · 0 评论 -
android opencv 简单的人脸识别
很简单的人脸识别功能,识别人脸后用矩形圈出来实现人脸识别需要模型文件,opencv再带的模型文件在OpenCV-android-sdk\sdk\etc内我使用haarcascade_frontalface_alt.xml来做人脸识别把haarcascade_frontalface_alt.xml文件拉到项目raw文件夹,没有创建一个初始化 InputStream is =...原创 2017-10-11 16:43:16 · 1559 阅读 · 0 评论 -
android opencv抠图
opencv抠图很简单,只需要调用grabCut函数就可以实现,不过在android端对图片尺寸有要求,太大了会卡死补充说明一下这种抠图方法,这是一种在一个矩形范围内自动扣的方法,不是交互式抠图,交互式抠图也是用grabCut函数,不过还要进行其他操作原图抠图图片缩小后看起来还好蒙版贴代码Mat img = new Mat();//缩小图片尺寸B...原创 2017-10-10 11:27:01 · 7580 阅读 · 17 评论 -
android opencv交互式抠图
以前我写过用opencv实现抠图,但只是简单的画一个矩形,哪些是前景哪些是背景都由opencv自己判断,最近忙完了就研究了一下交互式抠图主要参考opencv的官方例子,不过官方例子是pc端的,所以就对例子进行了修改官方例子代码先看看效果,原图然后是用原来的方法扣的狗脸都没了,接下来看用交互式抠图的效果忘了说密集恐惧症慎看了,扣完的效果嗯,有狗脸了,接下来...原创 2017-12-26 09:25:40 · 6910 阅读 · 4 评论