• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > 用Android studio进行 OpenCV 开发的第一个项目,androidopencv

用Android studio进行 OpenCV 开发的第一个项目,androidopencv

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了opencv androidstudio,opencv visual studio,android studio项目,android studio小项目,android studio建项目等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

用Android studio进行 OpenCV 开发的第一个项目,androidopencv


我的天!

折腾了好久终于搭建成功了第一个项目。

项目环境:

Windows 7  家庭普通版  64位

Android studio 1.5.1 

OpenCV-2.4.9-android-sdk

 

基于Android studio上OpenCv开发环境的配置请参考

http://www.cnblogs.com/whieenz/p/5247166.html

项目内容: 


很简单将一张图片灰度化。

项目源码:

xml文件源码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context="com.whieenz.myapplication.MainActivity"
    tools:showIn="@layout/activity_main"
    android:orientation="vertical">

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="450dp"
        android:id="@+id/image"
        android:src="@drawable/genie" />
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="灰度化"
        android:id="@+id/button" />
</LinearLayout>

java文件代码:

package com.whieenz.myapplication;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import org.opencv.android.BaseLoaderCallback;
import org.opencv.android.OpenCVLoader;
import org.opencv.android.Utils;
import org.opencv.core.Mat;
import org.opencv.imgproc.Imgproc;
public class MainActivity extends Activity { private ImageView imageView; private Button button; private Bitmap srcBitmap; private Bitmap grayBitmap; private static boolean flag = true; private static boolean isFirst = true; private static final String TAG = "gao_chun"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.content_main); imageView = (ImageView)findViewById(R.id.image); button = (Button)findViewById(R.id.button); button.setOnClickListener(new MyOnClickListener()) ; } public class MyOnClickListener implements View.OnClickListener{ @Override public void onClick(View v) { // TODO Auto-generated method stub if(isFirst){ procSrc2Gray(); isFirst = false; } if(flag){ imageView.setImageBitmap(grayBitmap); button.setText("查看原图"); flag = false; }else{ imageView.setImageBitmap(srcBitmap); button.setText("灰度化"); flag = true; } } } @Override protected void onResume() { super.onResume(); OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_9,getApplicationContext(),mLoaderCallback); } private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) { @Override public void onManagerConnected(int status) { super.onManagerConnected(status); switch (status){ case BaseLoaderCallback.SUCCESS: Log.i(TAG, "成功加载"); break; default: super.onManagerConnected(status); Log.i(TAG, "加载失败"); break; } } }; public void procSrc2Gray(){ Mat rgbMat = new Mat(); Mat grayMat = new Mat(); srcBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.genie); grayBitmap = Bitmap.createBitmap(srcBitmap.getWidth(), srcBitmap.getHeight(), Bitmap.Config.RGB_565); Utils.bitmapToMat(srcBitmap, rgbMat);//convert original bitmap to Mat, R G B. Imgproc.cvtColor(rgbMat, grayMat, Imgproc.COLOR_RGB2GRAY);//rgbMat to gray grayMat Utils.matToBitmap(grayMat, grayBitmap); //convert mat to bitmap Log.i(TAG, "procSrc2Gray sucess..."); } }

具体流程:

  • 安装opencv manager到模拟器
  • 注意事项:

     

    项目展示:

     

    分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

    您可能想查找下面的文章:

    • 在Android Studio 配置OpenCV 3.1
    • 在Android Studio中安装OpenCV mac环境/Linux环境
    • 用Android studio进行 OpenCV 开发的第一个项目,androidopencv

    相关文章

    • 2017-05-26HBase Java编程示例
    • 2017-05-26Android特效专辑(八)——实现心型起泡飞舞的特效,让你的APP瞬间暖心
    • 2017-05-26Android5.0开发范例大全 读书笔记(五),android5.0范例
    • 2017-05-26Android--Dialog对话框
    • 2017-05-26让java程序在后台一直执行(例如putty关闭后后台程序继续运行)
    • 2017-05-26关于Pacemaker集群配置的版本
    • 2017-05-26Android仿QQ界面,android仿界面
    • 2017-05-26Android 之 图片压缩
    • 2017-05-26关于使用底部菜单栏的使用。。。,使用底部菜单栏..
    • 2017-05-26硅谷新闻5--顶部新闻轮播图事件处理,硅谷5--

    文章分类

    • JavaScript
    • ASP.NET
    • PHP
    • 正则表达式
    • AJAX
    • JSP
    • ASP
    • Flex
    • XML
    • 编程技巧
    • Android
    • swift
    • C#教程
    • vb
    • vb.net
    • C语言
    • Java
    • Delphi
    • 易语言
    • vc/mfc
    • 嵌入式开发
    • 游戏开发
    • ios
    • 编程问答
    • 汇编语言
    • 微信小程序
    • 数据结构
    • OpenGL
    • 架构设计
    • qt
    • 微信公众号

    最近更新的内容

      • 关于百度地图导航AndroidSDK的初始化问题,androidsdk初始化
      • Android基础一,Android基础
      • Android横竖屏切换小结,Android屏切换小结
      • Ubuntu Android Studio 无法通过起动器开启,android起动器
      • 开启我的Android之旅-----记录Android环境搭建遇到的问题,-----android
      • Linux文件和目录权限详细讲解,linux权限讲解
      • Android UI:ListView,androiduilistview
      • Android开发学习之路--Service之初体验
      • Android网络编程使用HttpClient访问web站点
      • Linux内核系列—5.操作系统开发之特权级及特权级的转移,linux特权

    关于我们 - 联系我们 - 免责声明 - 网站地图

    ©2020-2025 All Rights Reserved. linkedu.com 版权所有