原标题:Android平台上利用opencv进行图像的边沿检测

近开始接触opencv for Android,从网上down了图像的边沿检测的代码。

测试图片:

在Android2.3.1模拟器上跑了,如下:

代码如下:

package cn.netjava.opencv;

import java.io.File;

import org.opencv.core.CvType;

import org.opencv.core.Mat;

import org.opencv.core.Size;

import org.opencv.highgui.Highgui;

import org.opencv.imgproc.Imgproc;

import android.app.Activity;

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

import android.graphics.drawable.BitmapDrawable;

import android.net.Uri;

import android.os.Bundle;

import android.util.Log;

import android.view.View;

import android.widget.Button;

import android.widget.ImageView;

import android.widget.Toast;

public class TestOpencv extends Activity {

private Button deal_button, recall_button;

private ImageView imageview;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

double scale = 0.1;

imageview = (ImageView)this.findViewById(R.id.imageView1);

Bitmap bm1=BitmapFactory.decodeFile("/sdcard/girl.jpg");

imageview.setImageBitmap(bm1);

Mat img = Highgui.imread("/sdcard/girl.jpg",0);

Size dsize = new Size(img.width()*scale,img.height()*scale);

Mat img2 = new Mat(dsize,CvType.CV_8SC1);

Mat img3 = new Mat();

img.convertTo(img2, CvType.CV_8SC1);

Imgproc.Canny(img, img3, 123, 250);

boolean flag=Highgui.imwrite("/sdcard/new.jpg", img3);

if(flag)

{

File f = new File("/sdcard/new.jpg");

if(f.exists())

{

Bitmap bm=BitmapFactory.decodeFile("/sdcard/new.jpg");

imageview.setImageBitmap(bm);

}

}//end if

else{

Toast.makeText(TestOpencv.this, "===========图片写入失败!============!!", 3).show();

}

}

}

但自己在实践过程中,一个小问题着实费了我一番功夫。

将进行转化的矩阵写到sdcard中,总是写不进去。

弄了很多,多亏一学姐指点,程序对sdcard进行操作时,要在XML文件中进行权限控制。

在AndroidManifest.xml中加入上面两行代码一切OK啦~

---------------------

作者:SweetRZ

来源:CSDN

原文:https://blog.csdn.net/u013755307/article/details/19897497

版权声明:本文为博主原创文章,转载请附上博文链接!返回搜狐,查看更多

责任编辑:

android代码查找图像,Android平台上利用opencv进行图像的边沿检测相关推荐

  1. 在python平台上利用pymol来查找PDB文件中蛋白质的相互作用位点

    这篇代码写的可能有点问题,大家如果有需要,去看另一篇吧.如果有啥不足,请批评指正. 在python平台上利用pymol来查找PDB文件中蛋白质的相互作用位点 关于蛋白质结合位点,查阅了很多篇文献,大多 ...

  2. 如何在阿里云物联网平台上利用已有的 IoT Studio项目模板创建项目

    目录 前言 一.在阿里云找到已有的IoT Studio公开项目模板 二.选择公开项目模板 三.其他选择 结语 前言 前面的文章里,我们介绍了如何在阿里云物联网平台上添加LoRa节点设备,并让LoRa节 ...

  3. 利用opencv对图像进行长曝光

    利用opencv对图像进行长曝光 本文首发于公众号[Opencv视觉实践],翻译自光头哥哥的博客: [Long exposure with OpenCV and Python],仅做学习分享. 原文链 ...

  4. android代码混淆作用,Android分享:代码混淆那些事

    1) 前言 ProGuard是一个开源的Java代码混淆器.它可以混淆Android项目里面的java代码,对的,你没看错,仅仅是java代码.它是无法混淆Native代码,资源文件drawable. ...

  5. android代码说明文档,android:label说明

    文章目录 1. 说明 android:label 用于app 在切换activity的时候,自动更换左上角的显示 2. 代码架构 3. String.xml 字符串资源文件My Application ...

  6. android 代码加view,Android中将View添加至窗口的源码分析

    本文主要内容是讲解一个视图View或者一个ViewGroup对象是如何添加至应用程序窗口中的.下文中提到的窗口可泛指我们能看到的界面,包括一个Activity呈现的界面(我们可以将之理解为应用程序窗口 ...

  7. android 代码签名apk,[Android]混淆代码后生成带签名的apk

    Android从2.3的SDK开始,将ProGuard混淆代码的功能加入了进来. 我们可以从android sdk的tools目录下看到有一个proguard目录.说明具有了代码混淆的功能. 至于如何 ...

  8. android 批量查找view,Android Recyclerview实现多选,单选,全选,反选,批量删除的功能

    效果图如下: recyclerview 实现多选,单选,全选,反选,批量删除的步骤 1.在recyclerview布局中添加上底部的全选和反选按钮,删除按钮,和计算数量等控件 2.这里选中的控件没有用 ...

  9. Android代码混淆方法,Android 代码混淆零基础入门

    内容提要 本篇文章主要有三个部分,让读者读完后能自己写规则混淆项目 对Android代码怎么开启混淆做一个简单的介绍. 对混淆规则做一个简单介绍: 在混淆过后Crash日志反推代码工具retrace. ...

最新文章

  1. golang多核的使用
  2. 使用NDK开发SQLite3
  3. 【Android开发】Android 删除指定文件和文件夹
  4. 组件 DataList 和 ObjectDataSource
  5. SAP Spartacus里product数据请求的HTTP url是在哪里维护的
  6. python:校验邮箱格式
  7. 支付宝上线长辈模式: 字体图标加大 去除了营销推送
  8. Anylogic 仿真建模(一)
  9. 今天开始学习ADO.NET中的Connection对象(一)--SqlConnection对象连接SQL Server
  10. python递归汉诺塔详解_Python实现汉诺塔递归算法
  11. 时文阅读-The economist-Whatever Carlos Ghosn’s misdeeds, Japan’s openness is also on trial
  12. Error parsing column 33
  13. PMP-12项目采购管理
  14. python画圣诞帽_用Python给头像戴圣诞帽
  15. html5 css3时间特效,炫酷纯CSS3响应式垂直时间轴特效
  16. vue引入阿里巴巴icon
  17. Realtime Multi-Person 2D Pose Estimation Using Part Affinity Fields【菜鸟读者】
  18. frp 内网穿透 多系统 多模式(详细+多个应用)
  19. live555 android,live555
  20. 服务器ghost备份后无法进入系统还原,使用Ghost备份/还原系统的速度很慢原因分析与解决...

热门文章

  1. 证明谷歌 Go 魅力的 10 个开源项目
  2. android 绑定微信号,Android工作整理-梳理微信的登录、分享与支付
  3. python判断是相邻数字,检查Python中相邻数字的绝对差之和是否为素数
  4. 分配任务的代码PHP,php计划任务的示例代码分享
  5. android9开发者模式 s8,Android 9.0或加速Galaxy S8/9电池消耗 谨慎更新
  6. tcp拥塞控制_面试必备TCP(四):拥塞控制
  7. ionic轮播,滑动之后不进行轮播
  8. 计算机access预测题,2016计算机二级《Access》考试预测题及答案
  9. html触摸电脑ui系统,如何用高级UI制作触摸系统界面
  10. volatile指令重排_学会了volatile,你变心了,我看到了