导航:首页 > 操作系统 > android连续对焦

android连续对焦

发布时间:2022-07-02 22:14:16

㈠ 什么是单次自动对焦和连续自动对焦

单次自动对焦:半按快门时自动进行一次对焦。

连续自动对焦:不管是否半按快门,相机始终执行对焦操作。

android 自定义相机对焦问题

1、首先创建回调方法,代码如下:

触屏调用:设置surfaceView的触屏事件,在该事件中实现camera回调。

㈢ 手机摄像头设置的对焦方式有自动、微距、无限远、连续对焦都有什么用处

自动就是屏幕上显示的方格在自动校准某个点,通过如此达到对焦,实现照片的清晰对点。
微距就是在对小于40厘米左右范围的近距离拍照,设置微距比自动的可以达到更加清晰的效果。
无限远是跟微距相反的,就是拍摄远距离的。达到整屏幕上整体清晰。
连续对焦 就是半按快门对焦之后,相机会锁定目标物或锁定对焦区域,一旦目标与相机之间的对焦距离改变了,相机会自动再次对焦。连续自动对焦最适合拍摄运动中的目标

㈣ 连续对焦是什么意思

半按快门启动相机的对焦系统后,相机会锁定被摄体或锁定对焦区域,连续跟踪被摄体(无论被摄体是否移动),直至快门被按下。

㈤ 如何实现Android手机摄像头的自动对焦

activity_main);
surfaceView = (SurfaceView) findViewById(R.id.setType(SurfaceHolder;
initCamera();
camera.getHolder();

setContentView(R.layout.surfaceView1),貌似也不可能复杂到全用驱动来实现,即使底层用的是C 实现,但是理论上讲.setBackgroundColor(TRIM_MEMORY_BACKGROUND);
surfaceHolder.addCallback(new Callback() {
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
//.printStackTrace();实现自动对焦
camera.autoFocus(new AutoFocusCallback() {
@Override
public void onAutoFocus(boolean success, Camera camera) {
if(success){
initCamera();/
surfaceHolder;;
Camera camera;
Camera,google肯定会提供这个封装好东东。于是果断的去查阅 DOC 一看,发现果然有这个东东 .open();
try {
camera.setPreviewDisplay(surfaceHolder);
camera=null;

}

@Override
public void surfaceCreated(SurfaceHolder holder) {
/:
1 极端人物的做法,但是这个一般人还是算了吧
3 就本人这样的观察系统的原生相机得知,这东东也没用定时器啊; TODO Auto-generated catch block
e;public class MainActivity extends Activity {

private SurfaceView surfaceView, int format:18px"//
private boolean flag = false;
private String fileUrl=">
private SurfaceHolder surfaceHolder: 使用一个定时器参考下面方法

根据现有的资料有如下几种;": 代码如下

[java] view plain print?
<strong><span style=", int width, int height){
///实现相机的参数初始化
camera;只有加上了这一句,才会自动对焦.stopPreview(),设定定时时间,然后不间断的对焦。
2 极客人物的做法: 那就是利用驱动层实现.startPreview();
} catch (IOException e) {
//.takepicture);
surfaceHolder = surfaceView;font-size;/ TODO Auto-generated method stub
if(null==camera){
camera=Camera; TODO Auto-generated method stub
camera;
Button button=(Button) findViewById(R.id.release().Parameters parameters;
}
}

}

@Override
public void surfaceChanged(SurfaceHolder holder;
surfaceView;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState).SURFACE_TYPE_PUSH_BUFFERS);
surfaceHolder.setKeepScreenOn(true);
surfaceView.setFocusable(true)。
}
}

});
}

});
}
//相机参数的初始化设置
private void initCamera()
{
parameters=camera.getParameters();
parameters.setPictureFormat(PixelFormat.JPEG);
//parameters.setPictureSize(surfaceView.getWidth(), surfaceView.getHeight()); // 部分定制手机,无法正常识别该方法。
parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);//1连续对焦
setDispaly(parameters,camera);
camera.setParameters(parameters);
camera.startPreview();
camera.cancelAutoFocus();// 2如果要实现连续的自动对焦,这一句必须加上

}

//控制图像的正确显示方向
private void setDispaly(Camera.Parameters parameters,Camera camera)
{
if (Integer.parseInt(Build.VERSION.SDK) >= 8){
setDisplayOrientation(camera,90);
}
else{
parameters.setRotation(90);
}

}

//实现的图像的正确显示
private void setDisplayOrientation(Camera camera, int i) {
Method downPolymorphic;
try{
downPolymorphic=camera.getClass().getMethod("setDisplayOrientation", new Class[]{int.class});
if(downPolymorphic!=null) {
downPolymorphic.invoke(camera, new Object[]{i});
}
}
catch(Exception e){
Log.e("Came_e", "图像出错");
}
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);

return true;
}

}</span></strong>;
camera.cancelAutoFocus()

㈥ 如何实现Android手机摄像头的的自动对焦

m_objCamera = Camera.open();
Camera.Parameters objParam = m_objCamera.getParameters();
//设置对焦模式为持续对焦,(最好先判断一下手机是否有这个对焦模式,有些手机没有会报错的)
objParam.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
m_objCamera.setDisplayOrientation(90);
m_objCamera.setParameters(objParam);
m_objCamera.startPreview();

㈦ 如何实现android手机摄像头的的自动对焦

1 使用一个定时器,设定定时时间,然后不间断的对焦。

2 利用驱动层实现

3 观察系统的原生相机得知,这东东也没用定时器啊,貌似也不可能复杂到全用驱动来实现,即使底层用的是C 实现,但是理论上讲,google肯定会提供这个封装好东东。于是果断的去查阅 DOC 一看,发现果然有这个东东 : 代码如下[java] view plain print?
<strong><span style="font-size:18px">public class MainActivity extends Activity {

private SurfaceView surfaceView;
private SurfaceHolder surfaceHolder;
private boolean flag = false;
private String fileUrl="";
Camera camera;
Camera.Parameters parameters;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);


setContentView(R.layout.activity_main);
surfaceView = (SurfaceView) findViewById(R.id.surfaceView1);
Button button=(Button) findViewById(R.id.takepicture);
surfaceHolder = surfaceView.getHolder();
surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
surfaceHolder.setKeepScreenOn(true);
surfaceView.setFocusable(true);
surfaceView.setBackgroundColor(TRIM_MEMORY_BACKGROUND);
surfaceHolder.addCallback(new Callback() {
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
// TODO Auto-generated method stub
camera.stopPreview();
camera.release();
camera=null;

}

@Override
public void surfaceCreated(SurfaceHolder holder) {
// TODO Auto-generated method stub
if(null==camera){
camera=Camera.open();
try {
camera.setPreviewDisplay(surfaceHolder);
initCamera();
camera.startPreview();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height){
//实现自动对焦
camera.autoFocus(new AutoFocusCallback() {
@Override
public void onAutoFocus(boolean success, Camera camera) {
if(success){
initCamera();//实现相机的参数初始化
camera.cancelAutoFocus();//只有加上了这一句,才会自动对焦。
}
}

});
}

});
}
//相机参数的初始化设置
private void initCamera()
{
parameters=camera.getParameters();
parameters.setPictureFormat(PixelFormat.JPEG);
//parameters.setPictureSize(surfaceView.getWidth(), surfaceView.getHeight()); // 部分定制手机,无法正常识别该方法。
parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);//1连续对焦
setDispaly(parameters,camera);
camera.setParameters(parameters);
camera.startPreview();
camera.cancelAutoFocus();// 2如果要实现连续的自动对焦,这一句必须加上

}

//控制图像的正确显示方向
private void setDispaly(Camera.Parameters parameters,Camera camera)
{
if (Integer.parseInt(Build.VERSION.SDK) >= 8){
setDisplayOrientation(camera,90);
}
else{
parameters.setRotation(90);
}

}

//实现的图像的正确显示
private void setDisplayOrientation(Camera camera, int i) {
Method downPolymorphic;
try{
downPolymorphic=camera.getClass().getMethod("setDisplayOrientation", new Class[]{int.class});
if(downPolymorphic!=null) {
downPolymorphic.invoke(camera, new Object[]{i});
}
}
catch(Exception e){
Log.e("Came_e", "图像出错");
}
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);

return true;
}}</span></strong>

㈧ 连续对焦怎么设置

㈨ Android编程,求教一下,怎么调用系统的相机后连续拍照

http://blog.csdn.net/iamdingruihaha/article/details/70158953
百分百解决

阅读全文

与android连续对焦相关的资料

热点内容
文件夹常用命令 浏览:197
被调侃的程序员 浏览:489
哪里有无损音乐app下载 浏览:221
单片机如何使用proteus 浏览:991
java常用的服务器 浏览:281
集结APP在哪里下载 浏览:800
欧洲cf玩什么服务器 浏览:529
如何连接另一台电脑上的共享文件夹 浏览:681
如何让桌面文件夹搬家到e盘 浏览:73
java自动格式化 浏览:619
ipad怎么查看文件夹大小 浏览:583
手工粘土解压球 浏览:552
在线视频教育源码 浏览:41
快四十学什么编程 浏览:754
gnumakelinux 浏览:537
视易峰云服务器怎么改系统 浏览:535
javamap取值 浏览:768
mac和win磁盘加密软件 浏览:474
苹果为什么会连接不到服务器 浏览:726
pdf格式文件如何保存 浏览:303