android相机如何只显示处理后的图像以及这里onPreviewFrame不被调用的原因

本文探讨了在Android中如何实现在使用相机时仅显示经过处理的图像,而非原始图像。作者指出,常规方法会导致onPreviewFrame不被调用,并详细解释了遇到的问题和解决方案。关键在于利用camera.setPreviewTexture(SurfaceTexture)方法,它允许相机在隐藏的SurfaceTexture上显示图像,从而实现预览处理后图像的目标。
摘要由CSDN通过智能技术生成

前段时间,一直想写一个关于android相机的程序,实现如下功能:程序通过摄像机实时获取图像,但是不直接显示获取的图像,而是显示处理过后的图像。

就这个如何不显示处理前只显示处理后的图像,纠结了很久,网上搜索了很多,对于这个问题,网上的信息都是重复无用的,根本无法解决。接下来我详细的说明遇见的问题和解决方法。

一开始程序见程序段1,这么写的话,屏幕上面只会显示摄像头获取到的图片,处理过后的图片完全不会显示,后面要是强行的向这个surfaceholder控制的surfaceview来输出图片,程序会报错。

public void surfaceCreated(SurfaceHolder holder) {
		//开启相机
		camera=Camera.open();
		try
		{			
			camera.setPreviewDisplay(surfaceholder);
			ShowMessage("开启相机成功");//toast提示
		}
		catch(Exception e)
		{
			ShowMessage("开启相机失败");//toast提示
			camera.release();
			camera=null;
		}
	}//程序段1
<
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值