首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏向治洪

    android 自定义相机

    老规矩,先上一下项目地址:GitHub:https://github.com/xiangzhihong/CameraDemo 方式: 调用Camera API 自定义相机 调用系统相机 由于需求不同 而第一种自定义相机的方式使用也十分普遍,但是要做好这个模块,相对来说还是有一定难度的,之前分享过一个Github上的开源相机的项目,项目由美国的一个团队开发,集 拍照、摄影、各种特效动画 等功能与一身, 相机开发简介 下面说说在Android中调用Camera来定义相机的最基本步骤: 打开相机 —— 调用Camera的open()方法。 true" android:layout_marginRight="30dp" android:background="@null" android:drawablePadding="3dp 导致原因:由于单独开辟了线程去初始化启动相机,导致相机的初始化和开启工作已完成,而找不到画布控件。若出现此情况,可调试或者将线程睡眠500毫秒。

    3.5K61发布于 2018-02-01
  • 来自专栏Rindew的iOS技术分享

    iOS 自定义相机页面

    这时候我们需要自定义一个相机页,自定义有两种方式: 1、如果你需求的页面没有那么复杂,可以继承UIImagePickerController对其拍摄页面进行重绘。 2、如果是较复杂的拍摄页,则需要完全自定义相机页。关于这个可以参考类似这篇博客 我们今天先来说说第一种。也就是类似我文章头部的这种界面怎么画出来。额~这时候还是给心急的上个Demo吧。 首先写个继承UIImagePickerController的自定义类。那么,自定义绘制页应该使用到cameraOverlayView属性。 在自定义相机页View中的drawRect方法中使用贝赛尔曲线绘制页面线条,例如四个角框: UIColor *color = kLineColor; [color set]; //设置线条颜色 self.frame) - kMarginY - kLineLong)]; path.lineWidth = kLineWidth; [path stroke]; 这种绘制常见于二维码相机自定义中

    3.1K10发布于 2018-10-10
  • 来自专栏Pou光明

    3_相机模型

    相机标定对于联系相机测量和真实三维世界测量也很重要。它的重要性在于场景不仅仅是三维的,也是物理单位度量的空间。 因此,确定相机的自然单位(像素)与物理单位(如mm)的关系是三维场景重构的重要部分。相机标定的过程既给出相机的几何模型又给出透镜的畸变模型,这两个模型定义了相机的内参。 1、相机模型 重新把针孔相机模型整理为另一种等价形式,使其数学形式更简单一些。如图,交换针孔和图像平面,主要差别是现在物体出现在等式右边。针孔中的点被理解为投影中心。 这样允许我们将定义摄像机的参数(fx,fy,cx,cy)重新排列为一个3×3矩阵,该矩阵称为相机的内参矩阵。 Opencv中,相机的内参矩阵(opencv求解相机内参矩阵使用的方法源自Heikkila和Silven).

    48710编辑于 2024-02-29
  • 来自专栏代码男人

    Android 开发自定义相机

    1.前言     Android中,相信都在自己的程序中调用过系统相机拍照或者选择图片,但直接调用系统相机有时候并不能满足我们的需求,或者说我们如何去自定义一个相机,那么,我们可以通过Camera 和SurfaceView来实现自己的相机应用,这里主要讲实现拍照功能以及切换前后摄像头。

    1.3K20发布于 2019-01-10
  • 来自专栏iOSer成长记录

    iOS-AVFoundation自定义相机详解

    AVFoundation 中关于视频主要的类 目录 相机基本实现步骤 捕捉会话——AVCaptureSession 捕捉输入——AVCaptureDeviceInput 捕捉预览——AVCaptureVideoPreviewLayer AVCaptureVideoDataOutput 生成视频文件——AVAssetWriter、AVAssetWriterInput 写入相册——ALAssetsLibrary、PHPhotoLibrary 操作相机 转换摄像头 补光 闪光灯 聚焦 曝光 自动聚焦曝光 视频重力——Video gravity 方向问题——Orientation 项目地址 相机实现步骤,下面对每一会对每一步需要做的事情详解 1 .创建session(捕捉会话) 2.创建device input(捕捉设备输入) 3.预览view 4.创建capture output(捕捉的输出) 5.拍照、录视频(元数据转成图片或文件) 相机的操作都是一些固定的代码,我就不多讲了,我们只需要注意以下几点: 1.闪光灯和手电筒不能同时开启 2.在前置摄像头时不能开启手电筒,所有在转换时,会被强制关闭 3.前后摄像头需要分别设置闪光灯的开关

    3.5K80发布于 2018-06-29
  • 来自专栏3D视觉从入门到精通

    什么是3D相机?

    这种局限很大一部分来源于,真实世界的物体在经过镜头的透视投影后,相机能够捕捉到的只有2D的平面信息。对于一些涉及到3D信息的处理,它是无能为力的,因此3D相机和3D视觉的出现和发展便是大势所趋。 3.3D相机与2D相机的区别 3D相机与2D相机的最大区别在于,3D相机可以获取真实世界尺度下的3D信息,而2D相机只能获取像素尺度下的2D平面图像信息,以下面的两幅图为例: ? 实际上作为一个合格的3D相机,它传输给你的必然是X,Y,Z方向的真实信息,例如,有的3D相机会得到X,Y,Z图。其中,Z图便是我们所谓的深度图,而其它两张图分别存储着X,Y方向的真实信息。 这便是被称为3D相机的原因。我们以一款工业3D相机Gocator为例: ? Gocatro生成的深度图 ? 4.3D相机的应用 随着科技的发展和检测需求的提高,3D视觉越来越在机器视觉行业占有重要的地位,与传统的2D相机相比,3D相机能获取三维信息,可以实现2D视觉无法实现或者不好实现的功能,例如检测产品的高度

    1.9K10发布于 2020-12-03
  • 来自专栏iOS逆向与安全

    iOS 自定义相机:基础知识储备

    实现输出流的代理AVCaptureMetadataOutputObjectsDelegate

    3K20发布于 2021-07-05
  • 来自专栏点云PCL

    常用的3D深度相机

    近年来,高性价比的3D深度相机的出现极大地加速了机器人以及3D视觉领域的发展。本文章介绍展示一些常见的3D深度相机列表,便于读者能够方便的获取3D深度相机相关的信息 微软 Kinect™ 2.0 ? 类型: 双目立体视觉深度相机 3D分辨率: 2208 x 1242 RGB分辨率: 2208 x 1242 深度范围: 1.5-20 m 帧率: 最大分辨率时为15 fps,VGA分辨率时为120 fps 类型: 双目立体视觉深度相机 3D分辨率: 2048 x 1088 RGB分辨率: 2048 x 1088 (7.5 fps) 深度范围: 0.4 m至无限远 帧率: 在2048 x 544分辨率下15 类型: 双目立体相机 3D分辨率: 752 x 480 RGB分辨率: N/A 帧率: 60 fps 延迟: 1 帧 视场角: 60° H 物理尺寸: 100x30x35 mm 接口: USB 3.0 类型: 深度相机 3D分辨率: 640 x 480 RGB:分辨率 1280 x 960 深度范围: 65型号0.2 m-1.0 m, 160型号0.5 m-3.0 m 帧率: 3-25 Hz 延迟:

    4.4K10发布于 2020-07-22
  • 来自专栏python3

    Python3 调用Sentec相机SD

    1、方法 使用Pyhton C++ API对相机操作函数进行封装,然后用Python调用封装好的操作函数。 2、需要使用的相机SDK文件 Camera.h; Camera.lib; 3、需要使用的Python文件 Python.h; Python36.lib 4、使用setup.py将Python C Studio 14.0\VC\bin\x86_amd64文件夹下; 2)再Python C API封装文件中需要注意函数名、模块名和方法名的一致性,不然会出现编译错误,具体注意事项见封装文件代码; 3)

    96310发布于 2020-01-10
  • 来自专栏机器视觉那些事儿

    【相机标定篇】halcon自标定(3)

    其获得的即便参数通过相机内参数CameraParam返回。此算子不能矫正焦距和比例因子,因此不能用于3D测量中。 参数: Mode:畸变模式 CamParamIn:畸变的相机内部参数 DistortionCoeffs :畸变系数值 CamParamOut:已校正的相机内参 change_radial_distortion_image 参数: Image:输入图像 Region :矫正图像的区域 ImageRectified :矫正图像 CamParamIn:输入相机参数 CamParamOut :输出相机参数 ---- 3. 使用radial_distortion_self_calibration算子进行自标定, 得到相机内参以及用于标定的直线段 ? 所以,相机标定后的应用,会在后续的测量篇以及手眼标定篇涉及,请持续关注。 ----

    8.9K41发布于 2019-06-03
  • 来自专栏Nicky's blog

    Android实现一个自定义相机的界面

    当然可以找美工人员设计图片,然后直接拿进来,不过我们可以自己写代码实现这个效果哈,最常用的的是用layout-list实现图片的叠加,我们这个layout命名为btn_take_photo.xml,这是一个自定义的 drawable文件,所以按照规范,我们要将它放在drawable文件夹里 注意:drawable文件夹一般是来放自定义的drawable文件的,可以将它看成自己写的背景样式等等哦 解释代码: layer-list 里面放3个item,先实现一个白色背景的椭圆,属性android:shape="oval"是实现椭圆的 android:shape=["rectangle" | "oval" | "line" | "ring -- 自定义的CameraGrid--> <org.personality.camera.ui.view.CameraGrid android:id="@+id/ CameraGrid类: /** * <em>自定义</em>的View * 照<em>相机</em>井字线 * */ public class CameraGrid extends View { private int

    2.9K20发布于 2019-01-17
  • 来自专栏林德熙的博客

    Unity3d 入门 控制相机移动

    本文将告诉大家如何在 Unity3D 中通过键盘或鼠标进行控制 Unity3D 的相机移动。 在 Unity3D 中的相机相当于人的视角,通过移动相机可以用来修改咱界面看到的画面 在 Unity3D 中,通过创建脚本的方式,让脚本附加到某个物体上,即可让脚本作用到某个物体上。 而这个物体可以是相机。 咱先创建一个空白的 Unity3D 项目,接下来创建一个 C# 脚本,当然了,这几个步骤还需要大家自己去摸索一下界面或者看一下新手教程视频哈 新建一个 Move.cs 的 C# 脚本文件,接下来右击此文件使用 更多请参阅 Unity3d 连续按键处理和单次按键处理 下一步就是将此 Move.cs 文件拖放到相机上即可

    3.3K70发布于 2021-05-17
  • 来自专栏Pou光明

    5_相机标定_3_calibrateCamera()例子

    /opencv_/data/pic/11" << ".png"; imwrite(str.str(), shrink); 二、相机标定流程 主要是objectPoints:世界坐标系中的点。 objectPoints; /* 保存标定板上角点的三维坐标 */ </std::vector /*内外参数*/ cv::Mat cameraMatrix = cv::Mat(3,3 每幅图像中角点的数量 cv::Mat distCoeffs = cv::Mat(1,5,CV_32FC1,cv::Scalar::all(0)); /* 摄像机的5个畸变系数:k1,k2,p1,p2,k3 for (j=0;j <boardSize.width;j++){< span> </boardSize.width;j++){<> cv::Point3f

    75510编辑于 2024-03-20
  • 来自专栏云深之无迹

    Intel R200 深度相机开发.3

    闲鱼 159元冲全新Intel R200实感相机 Intel R200相机开机与简评 Intel R200 深度相机开发.1 Intel R200 深度相机开发.2 经过我查找了一天的资料,我发现 终于破案了,要这样子,把相机吸上去 https://github.com/orbbec/ 经过我挖地三千米!!! erpm_id=11082114_ts1632729267567 这东西叫DCM,不叫什么SDK 包含的组件 开发时候的硬件配置,白给 这里有点毛病,因为我的相机没有拿所以这里安装失败

    48430发布于 2021-10-08
  • 来自专栏用户9239674的专栏

    Android CameraX结合LibYUV和GPUImage自定义相机滤镜

    image.png 作者:itfitness 链接:https://www.jianshu.com/p/f084082cc0c6 本文目录: image.png 前言 之前使用Camera实现了一个自定义相机滤镜 (Android自定义相机滤镜 ),但是运行起来有点卡顿,这次用Camerax来实现一样的效果发现很流畅,在此记录一下,也希望能帮到有需要的同学。 ' 2.引入libyuv 这里我用的是这个案例(https://github.com/theeasiestway/android-yuv-utils)里面的libyuv,如下 image.png 3. image.png 4.增加相机数据回调 我们要增加滤镜效果就必须对相机的数据进行操作,这里我们通过获取相机数据回调来获取可修改的数据 val imageAnalyzer = ImageAnalysis.Builder //对图像进行旋转(由于回调的相机数据是横着的因此需要旋转90度)         yuvFrame = yuvUtils.rotate(yuvFrame, 90)         //根据图像大小创建

    1.9K20编辑于 2021-12-02
  • 来自专栏点云PCL

    理解单目相机3D几何特性

    所以我们首先必须了解相机如何将3D场景转换为2D图像的基本知识,当我们认为相机坐标系中的物体场景是相机原点位置(0,0,0)以及在相机的坐标系的X、Y、Z轴时,摄像机将3D物体场景转换成由下面的图描述的方式的 这里的b[x,y,z,1]有助于用[R | t]进行点积,以获得3D空间中该点的相机坐标,R表示旋转矩阵,t表示平移矩阵,该矩阵首先将点旋转到相机坐标系方向,然后将其平移到相机坐标系,[R | t]也称为相机的外参矩阵 完整的相机矩阵P,它获取世界坐标点,并使用下图中的完整公式将其投影到图像平面,这种摄像机矩阵变换是一种投影变换,也可以用齐次坐标来描述,如下: 因为K是一个3x3矩阵,R | t是一个3x4矩阵,P是一个 3x4矩阵,由于P不是一个方阵,它的逆矩阵是不可用的,因此这再次显示了用相机图像的u、v像素反算x、y、z世界坐标的困难。 单应矩阵 当忽略世界坐标系中的z方向时,有一种称为单应性的技术可以从图像像素恢复3D位置,换言之,我们只考虑3D世界中的平面,如果忽略世界坐标中的z方向,4x3摄像机矩阵P可以简化为3x3单应矩阵H。

    2.8K10编辑于 2022-04-06
  • 来自专栏程思阳的专栏

    Android仿最新微信自定义相机(长按拍摄,轻点拍照)

    之前说到我是新手,开发安卓也没有多长时间,但是在公司的这段时间每一天都没闲着,碰到了各种各样的需求。

    1.1K20编辑于 2022-01-10
  • 来自专栏Nicky's blog

    Android系列之实现一个自定义相机的界面

    当然可以找美工人员设计图片,然后直接拿进来,不过我们可以自己写代码实现这个效果哈,最常用的的是用layout-list实现图片的叠加,我们这个layout命名为btn_take_photo.xml,这是一个自定义的 drawable文件,所以按照规范,我们要将它放在drawable文件夹里 注意:drawable文件夹一般是来放自定义的drawable文件的,可以将它看成自己写的背景样式等等哦 解释代码: layer-list 里面放3个item,先实现一个白色背景的椭圆,属性android:shape="oval"是实现椭圆的 android:shape=["rectangle" | "oval" | "line" | "ring -- 自定义的CameraGrid--> <org.personality.camera.ui.view.CameraGrid android:id="@+id/ CameraGrid类: /** * <em>自定义</em>的View * 照<em>相机</em>井字线 * */ public class CameraGrid extends View { private int

    1.1K30编辑于 2022-05-07
  • 来自专栏计算机视觉工坊

    3D相机的数据处理方式

    在上一篇中,我们介绍了什么是3D相机。但是对于初次接触3D相机的同学,可能首先面临的问题是如何处理3D相机得到的数据。3D相机的数据分为两种方式:三维点云数据方式,二维数据方式。 1.前言 3D相机虽然也被称为相机,也可以得到二维的深度图像,但其实并不是由感光像元产生图像。2D相机和3D相机由于都有一个“相机”的名字,通常让不太了解的人产生困惑。我们用英文可能更容易理解。 中文里的3D相机,在英文语境下其实常被称为3D sensor,并没有3D camera的说法,而2D相机,被称为2D camera或者camera。 ? 3D相机获取3D数据的方式有很多,但不论是哪种方法,3D相机都通过某种算法或者原理来得到一些位置的3D数据。 2.3D相机与深度图像 2D相机的图像简单点儿说是像元感光直接成像的,就大多数相机而言,成像过程可以用小孔成像过程来描述。但是,3D相机则大为不一样。3D相机是先有三维的数据,而后生成的图像。

    1.3K20发布于 2021-01-12
  • 来自专栏音视频技术

    相机+激光雷达重绘3D场景

    将激光雷达与相机结合,再通过深度学习的方式获得场景的3D模型——Ouster首席执行官在博客中介绍了相机OS-1,并装有激光雷达。LiveVideoStack对原文进行了摘译。 激光雷达数据具有突出的独特优势,——简举二例,如空间信息丰富、环境光照不敏感,——然而它缺乏类似于传统相机图像的原始(高)分辨率和高效的阵列存储结构,因而3D点云在神经网络学习或处理中迄今缺乏高效快速的硬件算法及实现 通过将一个单独的相机与一个激光雷达联合安装,执行伪劣的外部校准,并为最终无用的产品推出了新闻稿。但是,我们没有这样做。 v=JxR9MasA9Yc 因为每个像素都提供了所有的数据,所以我们能够无缝地将2D掩码转换为3D帧,以进行额外的实时处理,如边界框估计和跟踪。 而OS-1的相机/激光雷达融合将为这个长期存在的问题提供多模式解决方案。 以上这些结果令我们相信,融合的激光雷达和相机数据远远超过其各部分的单纯总和,我们期望未来激光雷达和相机之间能够有进一步融合。

    71220发布于 2021-09-01
领券