1. 怎样才能使用手机的摄像头
以手机为例,摄像头打不开的原因及解决方法有:
1.将相机模式切换到自动模式后再切换前置摄像头尝试。
2.是否有其他应用程序在使用前置摄像头。
3.打开相机和设置,然后再重置。
4.卸载手机中第三方照相软件尝试,排除软件兼容性问题。
5.若无效,备份机器中数据(联系人.短信.照片等),恢复出厂设置尝试。
摄像头(CAMERA或WEBCAM)是一种视频输入设备,属闭路电视的一种,被广泛的运用于视频会议,远程医疗及实时监控等方面。摄像头一般具有视频摄影.传播和静态图像捕捉等基本功能,是借由镜头采集图像后,由摄像头内的感光组件电路及控制组件对图像进行处理并转换成计算机所能识别的数字信号,然后借由并行端口.USB连接,输入到计算机后由软件再进行图像还原,从而形成画面。
摄像头可分为数字摄像头和模拟摄像头两大类。数字摄像头可以将视频采集设备产生的模拟视频信号转换成数字信号,进而将其储存在计算机里。模拟摄像头捕捉到的视频信号必须经过特定的视频捕捉卡将模拟信号转换成数字模式,并加以压缩后才可以转换到计算机上运用。
2. 电脑怎么用手机摄像头
远程相机,可以帮您实现无需触碰手机就可以通过电脑直接远程控制您手机的摄像头进行摄影,或者实时查看设备周围画面。
1.在手机上下载安装AirDroid,并登录AirDroid个人版账号
2.在电脑上下载安装AirDroid电脑端,并登录同一个账号
3.打开AirDroid电脑端,点击左侧菜单栏的第三个远程控制图标
4.选择对应设备,点击远程相机按钮建立连接。下载 AirDroid 使用
3. 华为手机摄像头如何打开
华为手机摄像头权限设置如下:
第一步、在手机桌面,点击进入“设置”。
第二步、“设置”界面中,我们找到“权限管理”。
第三步、进入“权限管理”后,选择“应用程序”。
第四步、“应用程序”中,找到“微信”点击进入。
第五步、“微信”权限界面,把“调用摄像头”从“禁止”修改为“允许”即可。
4. android中用Camera来调用摄像头,只能用takePicture来拍照吗
代码与范例:
首先需要在Manifest文件中添加以下内容:
以使程序获取摄像头使用以及自动对焦功能的使用权限。
CameraTestActivity.java
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
public class CameraTestActivity extends Activity {
@Override
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
requestWindowFeature(Window.FEATURE_NO_TITLE); 设置横屏模式以及全屏模式
setContentView(new CameraView(this)); 设置View
}
}
CameraView.java
import java.io.FileOutputStream;
import android.content.Context;
import android.hardware.Camera;
import android.os.Environment;
import android.view.MotionEvent;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
public class CameraView extends SurfaceView implements SurfaceHolder.Callback, Camera.PictureCallback {
private SurfaceHolder holder;
private Camera camera;
private boolean af;
public CameraView(Context context) {构造函数
super(context);
holder = getHolder();生成Surface Holder
holder.addCallback(this);
holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);指定Push Buffer
}
public void surfaceCreated(SurfaceHolder holder) {Surface生成事件的处理
try {
camera = Camera.open();摄像头的初始化
camera.setPreviewDisplay(holder);
} catch (Exception e) {
}
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {Surface改变事件的处理
Camera.Parameters parameters = camera.getParameters();
parameters.setPreviewSize(width, height);
camera.setParameters(parameters);设置参数
camera.startPreview();开始预览
}
public void surfaceDestroyed(SurfaceHolder holder) {Surface销毁时的处理
camera.setPreviewCallback(null);
camera.sPreview();
camera.release();
camera =null;
}
@Override
public boolean onTouchEvent(MotionEvent event) {屏幕触摸事件
if (event.getAction() == MotionEvent.ACTION_DOWN) {按下时自动对焦
camera.autoFocus(null);
af =true;
}
if (event.getAction() == MotionEvent.ACTION_UP && af ==true) {放开后拍照
camera.takePicture(null, null, this);
af =false;
}
returntrue;
}
public void onPictureTaken(byte[] data, Camera camera) {拍摄完成后保存照片
try {
String path = Environment.getExternalStorageDirectory() +"/test.jpg";
data2file(data, path);
} catch (Exception e) {
}
camera.startPreview();
}
private void data2file(byte[] w, String fileName) throws Exception {将二进制数据转换为文件的函数
FileOutputStream out =null;
try {
out =new FileOutputStream(fileName);
out.write(w);
out.close();
} catch (Exception e) {
if (out !=null)
out.close();
throw e;
}
}
}
在Android开发过程中,有时需要调用手机自身设备的功能,本文侧重摄像头拍照功能的调用。
:blog.csdn./mahoking/article/details/28225907
我们要调用摄像头的拍照功能,显然
第一步必须加入调用摄像头硬件的权限,拍完照后我们要将图片保存在SD卡中,必须加入SD卡读写权限,所以第一步,我们应该在Android清单文件中加入以下代码
<uses-permission android:name="android.permission.CAMERA"/>摄像头权限
SD卡读写权限
<uses-permissionandroid:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
第二步,要将摄像头捕获的图像实时地显示在手机上。
我们是用SurfaceView这个视图组件来实现的,因此在main.xml中加入下列代码
<SurfaceView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/surfaceview"
/>
第三步,设置窗口的显示方式
首先获得当前窗口Windowwindow = getWindow();得到窗口
接着设置没有标题requestWindowFeature(Window.FEATURE_NO_TITLE);没有标题
接着设置全屏 window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);设置全屏
当然,我们在拍照过程中,屏幕必须一致处于高亮状态,因此接着加入下面代码
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);设置高亮
至此,我们将窗口的显示方式规定死了,然后才能设置窗口上显示的组件(顺序非常重要)
setContentView(R.layout.main);
第四步,设置SurficeView显示控件的属性
找到surficeView
surfaceView = (SurfaceView)findViewById(R.id.surfaceview);
设置它的像素为800x600
surfaceView.getHolder().setFixedSize(800,480);
下面设置surfaceView不维护自己的缓冲区,而是等待屏幕的渲染引擎将内容推送到用户面前
surfaceView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
第五步,就是为surficeView加入回调方法(callBack)
surfaceView.getHolder().addCallback(newSurfaceCallback());
上面的回调类是我们自己定义的,代码如下
private class SurfaceCallback implementsSurfaceHolder.Callback{
@Override
public void surfaceCreated(SurfaceHolderholder) {
try {
camera = Camera.open();打开硬件摄像头,这里导包得时候一定要注意是android.hardware.Camera
WindowManager wm = (WindowManager)getSystemService(Context.WINDOW_SERVICE);得到窗口管理器
Display display = wm.getDefaultDisplay();得到当前屏幕
Camera.Parameters parameters =camera.getParameters();得到摄像头的参数
parameters.setPreviewSize(display.getWidth(),display.getHeight());设置预览照片的大小
parameters.setPreviewFrameRate(3);设置每秒3帧
parameters.setPictureFormat(PixelFormat.JPEG);设置照片的格式
parameters.setJpegQuality(85);设置照片的质量
parameters.setPictureSize(display.getHeight(),display.getWidth());设置照片的大小,默认是和屏幕一样大
camera.setParameters(parameters);
camera.setPreviewDisplay(surfaceView.getHolder());通过SurfaceView显示取景画面
camera.startPreview();开始预览
isPreview = true;设置是否预览参数为真
} catch (IOException e) {
Log.e(TAG, e.toString());
}
}
@Override
public void surfaceChanged(SurfaceHolderholder, int format, int width,
int height) {
TODO Auto-generated method stub
}
@Override
public void surfaceDestroyed(SurfaceHolderholder) {
if(camera!=null){
if(isPreview){如果正在预览
camera.sPreview();
camera.release();
}
}
}
}
第六步,我们必须对按键事件进行监听,如是拍照还是聚焦,代码如下
public boolean onKeyDown(int keyCode,KeyEvent event) {处理按键事件
if(camera!=null&&event.getRepeatCount()==0)代表只按了一下
{
switch(keyCode){
case KeyEvent.KEYCODE_BACK:如果是搜索键
camera.autoFocus(null);自动对焦
break;
case KeyEvent.KEYCODE_DPAD_CENTER:如果是中间键
camera.takePicture(null, null, new TakePictureCallback());将拍到的照片给第三个对象中,这里的TakePictureCallback()是自己定义的,在下面的代码中
break;
}
}
return true;阻止事件往下传递,否则按搜索键会变成系统默认的
}
------------------------------------------------------------------------------------------
private final class TakePictureCallbackimplements PictureCallback{
public void onPictureTaken(byte[] data,Camera camera) {
try {
Bitmap bitmap =BitmapFactory.decodeByteArray(data, 0, data.length);
File file = newFile(Environment.getExternalStorageDirectory(),System.currentTimeMillis()+".jpg");
FileOutputStream outputStream = newFileOutputStream(file);
bitmap.press(CompressFormat.JPEG, 100,outputStream);
outputStream.close();
camera.sPreview();
camera.startPreview();处理完数据之后可以预览
} catch (Exception e) {
Log.e(TAG, e.toString());
}
}
}
注意,代码中有两个回调类,一个是SurfaceCallback(),另外一个是TakePictureCallback(),初学者可能一时难以理解,通俗地讲,前者是用来监视surficeView这个暂时存放图片数据的显示控件的,根据它的显示情况调用不同的方法,包括surfaceCreated(),surfaceChanged(),surfaceDestroyed(),也就不难理解为什么会有这三个回调方法了(注意,在surfaceDestroyed()方法中必须释放摄像头,详细代码参见上方)。TakePictureCallback()是为了监视是否拍照而设计的接口,期中也仅有一个方法,camera将拍照得到的数据传入方法,我们便可以对拍照得到的数据进行进一步处理
您好!
不能使用主摄像头提示什么呢,请你具体描述一下,以便我们更好的为您解答。
如果有任何问题可以随时来咨询我们的。非常感谢您对我们vivo的支持,祝您生活愉快!
有的不带盘的摄像头是免驱的,只要XP_SP2就会自认,另外你可以搜搜PC-CAMERA的万能驱动,不行的话还是老实点用盘装
刷机包有问题,你先下载个别的相机看看能不能切换摄像头,或是有没有相关的相机补丁,不行的话你再刷回来就好了。
尊贵的用户,您好:
很抱歉给您带来疑惑了。若您需要切换前后置摄像头,可进入主菜单--相机--点击“+”后面的小相机图标即可切换,请您尝试。
若如果您尝试,没有该切换图标,建议到系统设置--应用程序--拍照--清除数据后试试,同时您也可以下载第三方拍照软件进行尝试,若使用第三方软件也会出现该情况,建议您备份下资料,恢复出厂设置后进行尝试,若依然不行,可抽空带上保修卡或发票联系当地的维修站点检测处理。
官网授权维修站点查询::support1.lenovo../lenovo/wsi/station/servicestation。
感谢您对联想的支持,祝您生活愉快!
这个问题和java语言本身没啥关系。首先看你是用什么读取的摄像头来获得照片。
比如说你用flash来读取摄像头获得照片,那么有相关的api获得摄像头列表(此时的摄像头列表是全部的,包括虚拟摄像头的)
但是,你可以读取本地真实的摄像头(bs模式请用ocs控件读取,读取方式参照System.ManagementObject),然后比较真实的摄像头和现在正在拍照使用的摄像头即可。
真实实践过 望采纳。
打开“我的电脑”
下面应该有个“扫描仪和照相机”
打开你的照相机就可以拍照了
你可以把手机重启一下试试。
或者你可以从应用宝里面下载个第三方拍照软件。然后拍照看看怎么样。
或者你恢复出厂设置。应该会好很多的。也有可能是你摄像损毁了。
5. Python简直无所不能!在电脑上如何调用手机摄像头教你轻松搞定
看到标题,卧槽!Python好牛批~
实际上它真的也牛批!
兄弟们用的台式电脑现在很少装摄像头的吧,笔记本就不要说话了!
虽然电脑没有摄像头,不过万一要是想跟女朋友电脑来个视频啥的,但是咱们不是还有手机吗 ,哈哈~
我们要做一件事,首先要知道目标是啥吧,那我们要干啥,在电脑上使用手机摄像头~
小明:那么问题来了,要怎么调用手机摄像头嘞?
经过我不断的尝试,最后让我找到一个非常厉害的软件,在局域网中可以自由调用手机摄像头捕捉到的信息,哎,这不就解决了~
小明:那怎么把捕捉到的镜头,实时的显示出来嘞?
这个都是小问题,Python那么多库,分分钟就能找到合适的,使用这个库,我们就可以让我们的图像显示出来了。
我们来实际操作一下
将摄像头apk安装在手机上并开始使用,验证一下显示情况.
1、将手机和电脑连接在同一个wifi下面。
2、启动app,可以看见app中有一个链接地址。
3、将这个局域网链接地址写入浏览器的地址中,然后运行起来。
账号:admin
密码:admin
然后就可以看见如下画面:
这其实是一段视频,看见这个的话,那就说明你成功了一半。
如何来处理这段视频呢?这时候就到我们编码了。
先安装一下要用的模块,对没错,就是这个神器~
pip install opencv-python
先到图一下库,你的窗口名字命名一下,@后面换成之前获取到的app局域网地址,最后面引入视频地址,video其实也可以换成你电脑中的视频地址可以制作成一个播放器。
这样就将视频引入进来了,你可以换一个视频地址,把它变成视频播放器,然后就需要去读取引入的视频地址。
既然实时的,而且要长时间运行,那当然少不了while true。
然后终于可以正常运行了,但无法退出,绝望~
虽然这是一个bug,但是在不同场景中他就不是bug,就比如你如果将这个软件发送给你的铁汁,让他一找不到关闭窗口的办法,只能重启电脑,让你高兴一阵,那这个就不是bug。不过他会把你怎么样我就不不知道了。
那怎么解决退出的问题,那不简单,给它加一个判断~
然后就退出了,虽然退出了,但是需要做后续处理。
然后电脑调用摄像头就圆满搞定!