OpenCV4Android Tutorial0解析

Tutorial0是一个纯粹的android程序,没有opencv部分,是其他程序的框架基础。

 

有Sample0Base.java, Sample0View.java, SampleViewBase.java.三个文件。

 

Sample0Base 是程序入口,主要设置surfaceview和菜单。

requestWindowFeature(Window.FEATURE_NO_TITLE);
mView = new Sample0View(this);
setContentView(mView);

 

SampleViewBase 是继承于 SurfaceView,interface runnable。

主要控制camera的设置以及调用,画面的绘制。

重要在于:

mCamera.setPreviewTexture( new SurfaceTexture(10) );//隐藏原始数据

mCamera.setPreviewCallbackWithBuffer(new PreviewCallback() {//这里数据回调之后,copy到mFrame中,再到processFrame里进行处理 生成bitmap
public void onPreviewFrame(byte[] data, Camera camera) {
  synchronized (SampleViewBase.this) {
    if(mCopyOnce){
      mCopyOnce = false;
      System.arraycopy(data, 0, mFrame, 0, data.length);
      //Log.i(TAG,"data.length = "+data.length);
    }
    SampleViewBase.this.notify();
  }
  //Log.i(TAG, "copy mFrame data");
  camera.addCallbackBuffer(mBuffer);
  }
});

可以参考 http://stackoverflow.com/questions/10775942/android-sdk-get-raw-preview-camera-image-without-displaying-it?answertab=votes#tab-top

 

函数public void run() 的实现,这里用到了线程的等待,和唤醒操作。

wait(), notify();

之后就是绘制生成的bitmap

 

 

Sample0View 继承于 SampleViewBase。

主要用来生成bitmap。

 

 

我发现有一个问题,程序没有向camera传递数据,但是显示出来的是有图像的 而且一直在运动。

希望有大牛能为我解答一下。。  姑且认为这是camera类自有的显示图像。。

 

 

 

转载于:https://www.cnblogs.com/heezee/archive/2012/09/18/2688763.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/549743.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NPM管理

npm 发布流程 npm loginnpm versionnpm publish npm version npm version <update_type> // types: patch, major, or minor主版本号&#xff08;Major&#xff09;.次版本号&#xff08;Minor&#xff09;.修订号&#xff08;Patch&#xff09; 版本号递增规则: 主版…

网络工程师应掌握的50个路由器知识要点

1、什么时候使用多路由协议?  当两种不同的路由协议要交换路由信息时&#xff0c;就要用到多路由协议。当然&#xff0c;路由再分配也可以交换路由信息。下列情况不必使用多路由协议:  从老版本的内部网关协议( Interior Gateway Protocol&#xff0c;I G P)升级到新版本的…

Unity工程无代码化

目的 Unity默认是将代码放入工程&#xff0c;这样容易带来一些问题。1. 代码和资源混合&#xff0c;职能之间容易互相误改。2. 当代码量膨胀到一定程度后&#xff0c;代码的编译时间长到无法忍受。新版的unity支持通过asmdef来将代码分成多个dll工程&#xff0c;有所缓解。所以…

曾国藩传 读后感

转载于:https://www.cnblogs.com/eat-too-much/p/11335113.html

hdu 1102 pku 2421 解题报告

这题很简单&#xff0c;我差不多15分钟就写好代码了&#xff0c;运行结果也是正确的。可提交就是RE&#xff0c;百思不得其解&#xff0c;调了两个小时的时候&#xff0c;我才忽然发现我存边的时候数组开小了&#xff0c;我当时也想到肯定是数组问题&#xff0c;但是我却忽律了…

深入C#学习系列一:序列化(Serialize)、反序列化(Deserialize)

深入C#学习系列一&#xff1a;序列化(Serialize)、反序列化(Deserialize) 序列化又称串行化&#xff0c;是.NET运行时环境用来支持用户定义类型的流化的机制。其目的是以某种存储形成使自定义对象持久化&#xff0c;或者将这种对象从一个地方传输到另一个地方。.NET框架提供了两…

分别用 数组和链表处理约瑟夫环问题

#include <stdio.h> #include <stdlib.h> int main() { int k0,n0,s0,m0; //k为1,2,3报数时的计数变量,m为退出人数 int num [100]; int *pnum; int i; printf("Enter the number of person and the key:"); scanf("%d%d",&n,…

QT_环境搭建

QT_环境搭建 Qt软件安装&#xff1a;https://www.jianshu.com/p/65bc892829a0 Qt软件下载&#xff1a;https://mirrors.tuna.tsinghua.edu.cn/qt/official_releases/qt/5.13/5.13.0/ 转载于:https://www.cnblogs.com/panda-w/p/11338742.html

十一月·飘·立冬

十一月的南粤叶依然青翠在枝头与秋风和舞落叶遍地的诗意画面在博客生活逝如流年 渐走渐淡回忆飘然而来又飘然而去秋的最后一天放下回忆 飘去天涯飘不要说也不要问目光交错的一瞬注定了今生缘分此情可以见真心春风急 秋风也狠乱乱纷纷 是红尘浮浮沉沉 似幻似真金枝玉叶的结…

OCP-052考试题库汇总(27)-CUUG内部解答版

Which two of these must be available READ/WRITE to keep a database open? A)all copies of the control file. B)the password file. C)all members of the current redo log group. D)spfile. E)TEMP tablespace F)SYSAUX tablespace Answer: AC 转载于:https://www.cnbl…

07/11/10 资料整理

脉码调制PMC T1 E1 T2 T32007-10-31 10:39什么是T1? 北美的24路脉码调制PCM简称T1&#xff0c;速率是1.544Mbit/s 我国采用的是欧洲的T1标准。北美使用的T1系统共有24个话路&#xff0c;每个话路采样脉冲用7bit编码&#xff0c;然后再加上1位信令码元&#xff0c;因此一个话路…

printf \r \n

简介 \r 回到这一行的开始处 \n 换下一行 参考链接 csdn 转载于:https://www.cnblogs.com/eat-too-much/p/11339935.html

真正的累

真正的累&#xff0c;是从骨头里泛出来的一丝丝的酸软&#xff0c;先是在后背盘旋&#xff0c;不痒也不痛&#xff0c;就是不舒服。然后身上热烘烘的&#xff0c;就着这热气&#xff0c;那些酸软就从后背发散开来。眼睛也会有点酸&#xff0c;闭上眼睛就会很舒服。你不得不挺直…

OCP-052考试题库汇总(28)-CUUG内部解答版

Archivelog mode is enabled for your database and DB_CREATE_FILE_DEST is set to ‘/u01/oracle/db01’. The parameters, DB_CREATE_ONLINE_LOG_DEST_n and DB_RECOVERY_FILE_DEST, and not specified. Which four are stored in the location specified by DB_CREATE_FILE…

Centos 系统安装NetCore SDK命令以及一系列操作(1)

17年买的jesse老师的课程&#xff0c;虽然说NetCore出来很久了&#xff0c;自己打入行的时候就奔它去的&#xff0c;但。。。。废话不说了&#xff0c;还是自己做了再说吧&#xff0c; 首先需要一个Centos系统来让我们开始玩&#xff0c;下载地址&#xff1a;https://www.cento…

如何高效地判断奇数和偶数

在我们日常的编程当中&#xff0c;常常会遇到判断某个整数属于奇数还是偶数的情况。 大家一般的处理做法是用这个整数和2取模。然后判断是等于1还是等于0。 这里&#xff0c;我要为大家介绍一种快速有效的判断做法&#xff0c;利用2进制进行判断。 大家都知道&#xff0c;奇数的…

百万分之一的新闻

昨天看到一则新闻&#xff0c;堪称罕见的新闻&#xff0c;百万分之一的新闻。 讲的是南京发生一件奇闻&#xff0c;一名女子生下一对双胞胎&#xff0c;竟然是同母异父的双胞胎。医学专家说这种概率是百万分之一。 新闻链接如下&#xff1a;http://bbs.people.com.cn/postDetai…

Windows Azure Traffic Manager (6) 使用Traffic Manager,实现本地应用+云端应用的高可用...

《Windows Azure Platform 系列文章目录》 注意&#xff1a;本文介绍的是使用国内由世纪互联运维的Azure China服务。 以前的Traffic Manager&#xff0c;背后的Service Endpoint必须是Azure数据中心的Cloud Service。 现在最新的Traffic Manager&#xff0c;Endpoint不仅仅支持…

Windows Azure Cloud Service (17) Role Endpoint

《Windows Azure Platform 系列文章目录》 在Windows Azure平台中&#xff0c;用户最多可以对以个Role指定5个Endpoint。而一个Hosted Service最多允许包含5个Role,所以说在一个Hosted Service中用户最多能定义25个Endpoint。 而对于每一个Endpoint&#xff0c;使用者需要设定如…

java打印一年中所有日期

public class Main { public static void main(String args[]) { //请注意月份是从0-11,天数是1&#xff0c; 2013-1-1 至 2013-12-31Calendar start Calendar.getInstance();start.set(2013, 0, 1); //2013-1-1 开始Calendar end Calendar.getInstance();end.set(20…