surface人脸识别摄像头不支持的情况解决方案

根据您Surface目前的情况,我们为您整理了以下排查方案:

  1. 回退生物识别驱动(近期这个方案解决率较高,请优先操作):右击开始菜单、设备管理器、生物识别设备、右击windows hello驱动、“更新驱动程序”——浏览我的计算机以查找驱动程序软件——让我从计算机上的可用驱动程序列表中选取——在型号列表中选取时间较早的一个驱动——点击下一步进行安装
  2. 卸载第三方清理优化软件和杀毒软件,开启Windows Defender:设置——更新和安全——Windows安全——打开Windows Defender安全中心
  3. 卸载网卡驱动:您按住键盘的windows+X–设备管理器—网络适配器—右击卸载里面的驱动,如有“删除此设备的驱动程序软件”不要勾选–重启设备
  4. 卸载相机驱动:windows+X–设备管理器–声音,视频.游戏控制器–camera2500——右击卸载 --如有“删除此设备的驱动程序软件”不要勾选–重启设备;windows+X–设备管理器–系统设备-- microsoft camera front/rear–右击-卸载 –如有“删除此设备的驱动程序软件”不要勾选–重启设备
  5. 卸载人脸识别驱动:Windows+X——设备管理器——系统设备——右键单击“Surface camera windows hello”——卸载设备——如有“删除此设备的驱动程序软件”请不要勾选——点击卸载——重启电脑
  6. 更改DNS:屏幕从右向左滑动——所有设置——网络和Internet——WLAN——更改适配器选项——右击绿色的WiFi图标——属性——单击“Internet协议版本4(TCP/IPV4)”——属性——点击“使用下面的DNS服务器地址”——首选DNS服务器(P)——四个空格分别输入输入“4221”——备用DNS服务器——四个空格分别输入输入“4222”——确定
  7. 重新设置PIN码和windows hello:设置——账户——登陆选项——删除pin码重新设置;设置——账户——登陆选项——windows hello重新设置
  8. 运行诊断修复工具,麻烦点击这里:aka.ms/surfacedt
  9. 备份资料,重置系统:设置——更新和安全——恢复——重置此电脑——开始,之后选择删除所有文件和驱动器
  10. 制作U盘镜像,给Surface重装系统,详细操作步骤和镜像下载网址如下:
    • Surface官方镜像下载地址:https://support.microsoft.com/zh-cn/surfacerecoveryimage)
    • 选择需要下载恢复镜像的产品(使用微软账户登录),或者先注册,然后点击继续。点击下载,选择保存路径。使用U盘存放解压后的文件。
    • U盘镜像时,您的U盘需要满足以下3个条件,否则U盘镜像将失败:1.U盘存储空间大于16GB;2.U盘中不能存储其他文件,下载镜像文件之前请将U盘清空;3.U盘需要格式化成 FAT32的格式。
    • 镜像文件下载成功后,请将文件压缩包在电脑上解压,之后将解压文件全部复制到U盘。不要直接解压缩到U盘,这可能会导致镜像失败
    • U盘文件制作成功后,请确保 Surface 已关机并接通电源,将 U盘插入 USB 端口。按住音量减小按钮不松手,同时按一下并松开电源按钮,显示 Surface 徽标时,再松开音量减小按钮。看到提示后,选择所需的语言和键盘布局。依次选择“疑难解答”>“从驱动器恢复”。如果提示输入恢复密钥,选择屏幕底部的“跳过这个驱动器”,根据提示完成系统重装。
    • 以下链接中是U盘镜像的安装视频,可以帮助您更好的来安装操作:https://support.microsoft.com/zh-tw/help/4023512/surface-creating-and-using-a-usb-recovery-drive
  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的 Android USB 摄像头人脸识别的代码示例: 1. 添加依赖库 在你的 build.gradle 文件中添加以下依赖库: ``` implementation 'org.bytedeco:javacv-platform:1.5.3' implementation 'org.bytedeco.javacpp-presets:opencv:4.5.1-1.5.3' ``` 2. 打开 USB 摄像头 首先,你需要使用 Android 的 Camera2 API 打开 USB 摄像头。你可以使用以下代码来打开 USB 摄像头: ```java private CameraDevice mCameraDevice; private HandlerThread mBackgroundThread; private Handler mBackgroundHandler; private String mCameraId = "1"; private ImageReader mImageReader; private Size mPreviewSize; private final CameraDevice.StateCallback mStateCallback = new CameraDevice.StateCallback() { @Override public void onOpened(@NonNull CameraDevice cameraDevice) { mCameraDevice = cameraDevice; startPreview(); } @Override public void onDisconnected(@NonNull CameraDevice cameraDevice) { cameraDevice.close(); mCameraDevice = null; } @Override public void onError(@NonNull CameraDevice cameraDevice, int error) { cameraDevice.close(); mCameraDevice = null; } }; private void openCamera() { CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE); try { CameraCharacteristics characteristics = manager.getCameraCharacteristics(mCameraId); StreamConfigurationMap map = characteristics.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP); mPreviewSize = map.getOutputSizes(SurfaceTexture.class)[0]; if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, CAMERA_PERMISSION_REQUEST); return; } manager.openCamera(mCameraId, mStateCallback, mBackgroundHandler); } catch (CameraAccessException e) { e.printStackTrace(); } } ``` 3. 实现人脸识别 一旦你打开了 USB 摄像头并开始预览,你就可以使用 OpenCV 库来实现人脸识别。以下是一个简单的示例代码: ```java private CascadeClassifier mFaceDetector; private Mat mGray; private Mat mRgba; private void startPreview() { SurfaceTexture texture = mTextureView.getSurfaceTexture(); assert texture != null; texture.setDefaultBufferSize(mPreviewSize.getWidth(), mPreviewSize.getHeight()); Surface surface = new Surface(texture); try { mCaptureRequestBuilder = mCameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW); mCaptureRequestBuilder.addTarget(surface); mImageReader = ImageReader.newInstance(mPreviewSize.getWidth(), mPreviewSize.getHeight(), ImageFormat.YUV_420_888, 2); mImageReader.setOnImageAvailableListener(mOnImageAvailableListener, mBackgroundHandler); Surface readerSurface = mImageReader.getSurface(); mCaptureRequestBuilder.addTarget(readerSurface); mCameraDevice.createCaptureSession(Arrays.asList(surface, readerSurface), mSessionStateCallback, mBackgroundHandler); } catch (CameraAccessException e) { e.printStackTrace(); } mFaceDetector = new CascadeClassifier(); mFaceDetector.load(getCascadeFile(R.raw.lbpcascade_frontalface)); mGray = new Mat(); mRgba = new Mat(); } private File getCascadeFile(int id) { try { InputStream is = getResources().openRawResource(id); File cascadeDir = getDir("cascade", Context.MODE_PRIVATE); File cascadeFile = new File(cascadeDir, "cascade.xml"); FileOutputStream os = new FileOutputStream(cascadeFile); byte[] buffer = new byte[4096]; int bytesRead; while ((bytesRead = is.read(buffer)) != -1) { os.write(buffer, 0, bytesRead); } is.close(); os.close(); return cascadeFile; } catch (Exception e) { e.printStackTrace(); return null; } } private final ImageReader.OnImageAvailableListener mOnImageAvailableListener = new ImageReader.OnImageAvailableListener() { @Override public void onImageAvailable(ImageReader reader) { Image image = reader.acquireLatestImage(); if (image == null) { return; } Image.Plane[] planes = image.getPlanes(); ByteBuffer buffer = planes[0].getBuffer(); byte[] bytes = new byte[buffer.remaining()]; buffer.get(bytes); Size size = new Size(mPreviewSize.getWidth(), mPreviewSize.getHeight()); Mat yuv = new Mat(size, CvType.CV_8UC1); yuv.put(0, 0, bytes); Imgproc.cvtColor(yuv, mRgba, Imgproc.COLOR_YUV2RGBA_NV21); Imgproc.cvtColor(mRgba, mGray, Imgproc.COLOR_RGBA2GRAY); MatOfRect faces = new MatOfRect(); mFaceDetector.detectMultiScale(mGray, faces, 1.3, 5, 0, new Size(30, 30), new Size()); for (Rect rect : faces.toArray()) { Imgproc.rectangle(mRgba, rect.tl(), rect.br(), new Scalar(0, 255, 0, 255), 3); } image.close(); } }; ``` 这个示例代码使用了 OpenCV 库中的级联分类器来识别人脸。当你检测到人脸时,你可以在预览中显示一个矩形来标识出人脸的位置。 这只是一个简单的示例,你可以根据你的需求调整代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值