首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我为什么要写《OpenCV Android 开发实战》这本书

1.4 拍照与选择图片 1.5 小结 第2章Mat与Bitmap对象 2.1 Mat对象 2.2 Android中Bitmap对象 2.3 基础形状绘制与填充...2.2.1 基于Mat的绘制与填充 2.2.2 Bitmap上的绘制与填充 2.4 Mat与Bitmap转换与使用 2.5 小结...7.1 使用JavaCameraView(介绍OpenCV4Android 自带的调用摄像头功能组件) 7.2 横屏与竖屏显示(探讨横屏与竖屏显示问题) 7.3 处理相机预览帧图像...(实现对预览帧的处理,同时知道过多的JNI方式调用OpenCV API会导致性能问题) 7.4 在预览帧中实现人脸检测(实现一个实时的人脸检测例子,技术思路剖析与编码实现步骤,介绍NDK开发方式...) 第9章 人脸美颜 9.1 积分图计算(介绍图像积分图算法) 9.2 基于积分图像的局部均方差滤波(详细介绍在OpenCV中如何实现自己的算法) 9.3 遮罩层生成

1.7K30

Processing之矢量SVG用法一览

其他图像格式都是基于像素处理的,SVG 则是属于对图像的形状描述,所以它本质上是文本文件,体积较小,且不管放大多少倍都不会失真。 SVG 文件里面究竟是什么?...此示例加载怪物机器人面部的 SVG 文件并将其显示在屏幕上。...这些形状中的每一个(称为“子”)都有自己的名称,可用于从“父”文件中提取它。此示例加载美国地图并通过从两个州提取数据来创建两个新的 PShape 对象。...按照官网的例子,我们有下面5种常见的输出方式: 无窗口式输出 窗口式输出 窗口式动画单帧输出 窗口式3D图形输出 PGraphics式输出 1)无窗口式输出 此示例将单个帧绘制到 SVG 文件并退出。...beginRecord()和endRecord()函数在屏幕上绘制的时候保存 SVG。

2.4K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    AVFoundation框架解析看这里(2)- 媒体捕捉与视频拍摄

    AVFoundation框架解析目录 AVFoundation框架解析目录 AVFoundation框架解析目录 本章导读 上一章节主要从整体上全览AVFoundation框架,本章主要以一个小的需求...AVCapture捕捉.png 需求结合 了解整个AVCapture捕捉流程后,就需要结合我们具体的需求修改对应的细节,比如按照实际需要修改输入源和输出源。...几个简单的需求例子: 扫一扫:通过捕捉媒体,获取扫描内容,识别二维码或条形码 拍照:通过捕捉媒体,拍摄照片 录像:通过捕捉媒体,录制视频 Demo以录像为需求,通过AVCapture捕捉到画面后,使用对应输出源的数据...在视频捕获时,客户端可以实例化AVCaptureSession并添加适当的AVCaptureInputs、AVCaptureDeviceInput和输出,比如AVCaptureMovieFileOutput...客户端可以通过设置sessionPreset属性定制录制质量水平或输出的比特率。

    1.2K20

    Lottie动画原理

    Object类型的对象,我们可以通过属性key快速查找数据内容,第二阶段是Model(数据模型)依附到CALayer(图层)上,就像写一个CALayer一样,把Model数据一一赋值给CALayer的属性上...,必要时再做特殊处理,最后在图层CALayer上添加Animation(动画)。...通过以下参数可以拼装出关键帧的属性值,关键帧时间点,关键帧之间的时间函数,t表示开始/结束帧,s和e表示开始/结束属性值,i和o决定动画的时间函数。...图层形状shapes shape是一个形状图层的数组,对应AE中图层的内容中的形状设置,描述形状的特征,通过描边信息、颜色填充等信息的组合形成一个个矢量图。...遮罩层:判断是否有遮罩层并赋给 wrapperLayer 添加到父图层:在上面过程中已经准备好一个CALayer的绘制属性:宽高、转换信息、资源内容、图形绘制内容、遮罩层等。

    5.8K71

    面向前端的 Lottie & AE 动画手把手入门教学

    值得一提的是, Lottie 在 Web 上是借助 Canvas 或者 SVG 来渲染动画的, 动画的关键帧在导出时已经被计算好了, 除了解析JSON之外基本没有性能损耗, 因此效率非常高! 二....预览: 动画和编辑实时预览/编辑窗口 工具: 各种工具的集合, 如文字工具、图形工具等 属性: 在这里编辑元素的属性 首先, 选择我们新建的合成, 点击工具栏的圆角矩形按钮, 同时按住shift, 在预览区域绘制一个矩形...在我们开始之前, 先分析一下动画效果, 可以分成三部分: 位移动画: Y 轴方向的往复运动 形状动画: 矩形和圆形之间的往复变换 颜色动画: 蓝色和品红色的突变 OK, 让我们先来完成位移动画: 首先...这么做的意思是: 让图层的Y轴坐标属性, 在0帧到20帧的过程中, 从150动画到380, 是不是很容易理解? 现在按下空格键, 预览效果!...重复之前的步骤编辑剩下的几个关键帧曲线, 最后, 编辑完的曲线如图: ? 按空格键预览, 如图: ? Yooooo! 比刚刚自然多了! 让我们进行下一步, 添加形状变换的关键帧。

    3K50

    一款很棒的GIF动画制作小软件GifCam

    GifCam 很实用 当 GifCam 发现前一帧与新录制的帧相同时进行录制时,它会自动添加延迟(帧在屏幕上停留的毫秒数),而不是添加新帧并增加 gif 大小。...添加到此 GifCam 不会绘制整个帧,而是通过比较交替的帧来绘制绿屏(透明像素)并仅绘制不同的像素,从而节省了大量的千字节。...绘制绿屏:使用此功能,您可以创建部分移动部分静止 gif “cinemagraph”(按 shift 在一帧上绘制)。 预览:预览大小。 导出为 AVI:将您的记录导出为未压缩的视频。...GreenScreen 绘制填充:通过按 Ctrl+单击在封闭形状的外部或内部绘制绿屏(要在一帧上绘制,请按 Shift+Ctrl+Click )。...在硬盘或内存上存储临时帧的选项。 – 自定义 GifCam 内存使用限制(默认为 1 GB)。 – 设置 GifCam 窗口大小。 始终捕获鼠标光标的选项。

    2.5K20

    html5二维动画教程,Flash二维动画制作案例教程

    每章节都有明确的学习目标,通过案例制作过程,逐步介绍制作过程中所需要掌握的方法和技巧。...第二章 创建影片内容 2.1 绘制圣诞贺卡 知识点:基本绘图工具,“属性”面板,填充、线条和渐变的应用,钢笔工具,选择 工具和变形工具,文字工具的应用,滤镜特效 2.2 导入外部Flash视觉元素 知识点...位图和矢量图的区别,导入位图,导入PSD文件,将位图转换为矢量图,导入Illustrator素材,导入声音文件,导入视频文件 第三章 制作Flash动画的基础 3.1 认识时间轴和图层 知识点:时间轴上的帧的类型...制作形状补间动画 知识点:形状补间动画,形状补间在时间帧面板上的表现,形状间的补间动画,添加形状提示动画,颜色间的补间动画,补间动画的缓动选项和混合选项 4.2 制作动画补间动画 知识点:动画补间动画...,位置上的动画补间,大小和旋转上的动画补间,影片剪辑动画中的滤镜动画,基于对象的动画操作技巧 4.3 基于引导层的动画 知识点:引导层动画,制作引导路径动画的方法,引导层动画制作要点 4.4 基于遮罩层的动画

    1.1K10

    Android OpenGL ES 实现蓝线挑战特效

    注意到,该特效有如下特点 预览界面有一根蓝线,均匀得在竖直方向上运动 蓝线的上方,显示的是上一帧的画面 蓝线的下方,显示的是正在预览的画面 随着蓝线的运动,上一帧不断被保留,最终可以得到一副奇奇怪怪的画面...,一定有其他简单的实现方式 往往越简单的事情,在不了解其本质的时候就想得很复杂,把简单的事情复杂化,这样就算实现出来,也没什么意义,所以要观察其本质,保留上一帧就是其本质 笔者也是琢磨了很久,如何保留上一帧...纹理,因为Oes纹理和2D纹理是不能同时使用 保留帧 让当前渲染的纹理保留在一个帧缓存里,而不显示在屏幕上 蓝线挑战这个特效,用到的就是Fbo的保留帧功能 观察上面的动图,会发现,蓝线上方显示的是上一帧...uSampler2表示上一帧的纹理 uOffset是外部传入的一个float类型的值,用于控制显示上一帧和显示当前预览画面 main函数里,只做了一个if判断,如果当前y轴坐标小于uOffset,则显示上一帧...和uSampler2 这样,通过控制uOffset的值,就可以达到对应的效果 到这里,还差一点,就是蓝线 那么,接下来就来绘制下蓝线 蓝线绘制 蓝线的绘制就比较简单,在「RetainFrameVerticalRender.java

    1.2K30

    现代浏览器探秘(part3):渲染

    图11:时间轴上的动画帧 即使你的渲染操作能够跟上屏幕刷新,这些计算也是在主线程上运行的,这意味着当你的应用运行 JavaScript 时它可能会被阻止。 ?...图13:在动画帧的时间轴上运行的较小的JavaScript块 合成 你会如何绘制一个页面? 现在浏览器知道文档的结构,每个元素的样式,页面的几何形状和绘制顺序,它是如何绘制页面的?...分为几层 为了找出哪些元素需要放在哪些层中,主线程通过遍历布局树以创建层树(此部分在DevTools性能面板中称为“Update Layer Tree”)。...图16:主线程生通过遍历布局树来成层树 也许你想要为每个元素提供图层,但是过多的图层进行合成可能会导致比每帧光栅化页面的小部分更慢的操作,因此测量应用程序的渲染性能至关重要。...绘制四边形 包含信息,例如图块在内存中的位置以及在考虑页面合成的情况下绘制图块的页面中的位置。 合成器帧 表示页面帧的绘制四边形的集合。 然后通过IPC将合成器帧提交给浏览器进程。

    1.4K10

    看前端如何通过WebAssembly实现播放器预览能力

    其中有一项能力在主流媒体视频网站都支持的,那就是进度条帧预览:在鼠标进度条停留,不必跳转进度,即可展示所指画面。...在简单分析了B站、腾讯视频后,发现都是采取在上架视频时,由后台生成专门用来帧预览的组合sprite图,然后前端拉取后再计算进度进行展示。 由于目前的我们后台云点播录制没有生成帧预览图功能。...先上效果图 浏览器获取视频画面的方法: 目前浏览器视频帧提取的方案主要有: canvas + video方案:主要video在播通过canvas的drawImage提取视频帧。...webassembly + ffmpeg方案:webassembly的出现为前端解码视频数据提供了可能,将ffmpeg编译为wasm库,通过js调用并提取视频帧数据,再给到canvas绘制。..._getFrame(tsBufferPtr, tsBuffer.length, time) 去的RGB数据在js层转化canvas可用数据。

    2.4K10

    影视后期:PR 炫酷分屏模板制作及分屏插件使用

    通过在不同的时间节点设置关键帧,可以实现物体在视频中的动态效果,例如位置的移动、大小的改变、角度的旋转等。关键帧的设置可以让视频具有动感,并且可以通过改变关键帧之间的属性来实现平滑的过渡效果。...通过使用轨道遮罩键,您可以限定一个视频轨道中的内容只在另一个轨道的特定区域内显示。...在时间轴中,选择要应用轨道遮罩的视频轨道。 在“效果控制”面板中,找到“视频效果”选项。 展开“键控”选项,并找到“轨道遮罩键”。 将“轨道遮罩键”拖动到视频轨道上的目标剪辑上。...在“效果控制”面板中,您可以调整轨道遮罩键的属性,如位置、大小、形状等,以定义遮罩的范围。 轨道遮罩键的类型: Alpha遮罩:根据目标轨道的Alpha通道来确定显示区域[3]。...利用旧版标题直线工具/工具栏-钢笔工具绘制描边,给描边做运动关键帧 模板制作,将所有视频素材层单独嵌套-替换素材层 模板制作需要注意: 素材上不能有任何的效果 不能有任何的运动 对素材进行分类整理 炫酷分屏

    34210

    Aspose.PSD for Java 21.6 Crack

    Java API 功能 将 Photoshop 文件导出为图像 从头开始创建 Photoshop 文件 加载现有的 Photoshop 文件 将 AI 文件导出为光栅格式 剪辑到矩形区域 绘制和填充基本形状...裁剪、旋转和调整图像大小 层的支持 层展平 能够导出PSD文件预览 创建和导出图层组 使用 RGB、CMYK、LAB、每通道 8/16/32 位灰度模式的某种组合打开和导出 PSD 文件...支持最常用的图层效果 图层阴影 外/内/中冲效果 颜色/图案/渐变图层效果 在运行时添加和编辑文本层 调整图层,如亮度/对比度、曲线、色相/饱和度、照片滤镜等等 支持矢量、光栅、剪切蒙版及其组合...管理图层的不透明度 支持大量图层资源 从图像截面资源中提取数据 读取和编辑填充层 支持链接层 提取图层创建日期和时间 图纸颜色突出显示 发布者:全栈程序员栈长,转载请注明出处:https

    1.7K20

    Android中的各种Drawable类详解

    上面的几个属性的设置都会激发onXXXX系列方法来让派生类在属性值发生变化时进行更新处理,而有时候我们希望一些更新逻辑不是在派生类中处理,而是在持有Drawable对象的对象上或者委托给外部进行处理,因此可以调用如下方法...因此需要有一个方法来指定位图像素转化为物理像素的映射关系,这样位图的像素才可以真正的显示在设备上。...对于形状的边线来说可以通过如下方法来获取一个Paint对象并设置画笔和阴影效果: public Paint getPaint() 您可以在类的构造函数以及特定的方法: public ShapeDrawable...Shape是一个抽象的形状类,您可以使用如下具体的形状类: ArcShape 弧形。构造指定开始角度和增加的角度,是顺时针方向, 这里0度是在正右边。 OvalShape 椭圆形。...这个类只支持2个子可绘制对象,所展示的效果是第0层慢慢变淡消失,第一层慢慢清楚显示。

    1.6K20

    AI帮你编手套织袜子:MIT算法简化针织过程,可自动设计并制造针织品

    模式说明是从针织品制造商Shima Seiki的KnitPaint软件中提取的,而照片则是通过编织1044个真实世界补丁的子集并使用KnitPaint的模式预览功能渲染补丁来生成的。...该团队在语料库上训练AI算法,教它解释来自图像的二维编织指令,使得它可以在给定对象的图片的情况下生成机器可读指令。 ?...指令触发的一个附加的针织机的基本操作,如针织(将纱线环拉过所有电流环),褶皱(将新环堆叠在针上),转移(将针的内容移动到另一张布)。 在测试中,InverseKnit在94%的时间内生成准确的指令。...用户可以编写自己的程序,使用现有的程序,或者交互式地绘制模式层,这些模式层可以根据不同的形状和大小导出或重新采样。 CADKnit甚至会发出警告,以防不受欢迎的针织结构进入起草阶段。...此外,他们注意到它只能使用一根纱线作为形状,并且仅限于相对基本的图案,团队打算通过在每个针脚处引入一叠纱线以及仅包含必要针脚的分层数据结构来进行矫正。

    1.1K10

    Android Studio Bumblebee (2021.1.1) 稳定版正式发布

    当您在设备上启用 通过 Wi-Fi 进行调试 后,在新的设备管理器 (Device Manager) 的实体 (Physical) 标签页中选择 使用 Wi-Fi 配对 (Pair using Wi-Fi...△ 通过 Wi-Fi 使用 ADB 配对设备 使用 Gradle 在 Android Studio 中运行插桩测试 - 您是否曾经历过在 Android Studio 和 CI 上运行相同测试,所得结果却不同...△ 与 Compose Preview 互动以验证行为 动画矢量可绘制对象预览 - 现在可使用预览 (Preview) 窗口查看矢量可绘制对象。...从手机到平板电脑,从 Wear 设备到 Android TV,现在您可以更轻松地在最能代表当下常见设备的屏幕尺寸上预览、验证或编辑布局。如需了解更多信息,请查阅 "更改预览外观"。...语义 设计 互动预览 动画矢量可绘制对象预览 设计工具的设备选择器更新

    2.1K10

    WebRender:让网页渲染如丝顺滑

    渲染器的工作 在关于 Stylo 的文章中,我讨论了浏览器如何将 HTML 和 CSS 转换为屏幕上的像素,并提到大多数浏览器通过五个步骤完成此操作。 可以将这五个步骤分成两部分来看。...即便页面并未发生变化(如页面滚动,或某些文本高亮),浏览器仍需进行第二部分中的某些步骤,接着在屏幕上绘制新的内容。 ? 想要滚动、动画等操作看起来流畅,必须以 60 帧每秒的速度进行渲染。...图层绘制 2. 图层合成 将绘制工作交给 GPU 可能比较棘手。所以在多数情况下,跨平台浏览器依然通过 CPU 进行绘制。 但 GPU 可以很快完成合成工作,转移过来比较简单。 ?...不同内核可以同时在不同的像素上并行工作,但是它们都需要使用相同的像素着色器程序。命令 GPU 绘制形状时,你会告诉它使用哪个像素着色器。...我们正在尝试通过 Pathfinder 项目将字形等工作转移到 GPU 上。 这些内容目前是被 CPU 绘制成位图的。然后把它们上传到 GPU 的纹理缓存中。

    3K30

    MPEG4 MP4和AVC H264 MP4有什么不同

    1.5 在算法上   MPEG-1标准 视频编码部分的基本得法与H.261/ H.263相似,也采用运动补偿的帧间预测、二维DCT、VLC游程编码等措施。...在MPEG-1的基础上,MPEG-2标准在提高图像分辨率、兼容数字电视等方面做了一些改进,例如它的运动适量的精度为半像素;在编码运算中(如运动估计和DCT)区分“帧”和“场”;引入了编码的可分级性技术,...二、H.264的技术特点 2.1 分层设计   视频编码层具有高效的视频内容表示功能:   网络提取层将网络中所需要的数据进行打包和传送;   2.2 高精度、多模式运动设计   支持...每个本地系统均可通过不同的网络方式组成有线或无线数字监控系统。   ...可同时支持H.264、MPEG-4压缩格式;   实时压缩、实时预览、实时回放;   支持I\B\P帧多种组合/量化模式,图像压缩比更大;   在压缩过程中,可动态抽帧,可随时恢复,进一步减少存储空间

    1.5K120

    VLC 时隔9个月发布 3.0.17

    AV1流的播放,改进了对VP9流的支持,改进了对AudioCD的支持(音频/数据混合模式,MusicBrainz),改进了对MP4轨道中使用tx3g编解码器的字幕支持,改进了HTTP2内存使用,以及改进了AVCapture...核心模块: 修复解析二级源MRL时的一个回归 允许在URL的路径部分加括号 访问模块: 修复对macOS上使用avcapture的屏幕捕捉的支持 修复HTTP1.x连接的关闭 改进HTTP2的内存使用...改进AVCapture模块 改进对AudioCD的支持(音频/数据混合模式,musicbrainz) 通过改变读取大小改善SMB兼容性 对SRT模块(包括streamID)的一些改进 解码器/打包工具:...D3D11崩溃的问题 Demux: 对自适应流媒体堆栈进行了大量修正优化 支持DAV视频文件 添加WebP图像映射 修复MKV/WebM中Opus音频开始的缺失 修复MP4中的无限循环 修复OGG文件中的附件提取问题...支持mp4中的非压缩音频(ISO/IEC 23003-5) 修复一些罕见的MPEG-TS流中的同步问题 接口: Qt/macOS:修复了用户提供的URLs 在macOS上增加安全区域处理 Qt:改进偏好搜索

    91030

    Android OpenGL 渲染图像读取哪家强?

    outImage.height, GL_RGBA, GL_UNSIGNED_BYTE, buffer); 当调用 glReadPixels 时,首先会影响 CPU 时钟周期,同时 GPU 会等待当前帧绘制完成...常用于 Android Camera2.0 相机预览,通过 addTarget 将 Surface 对象作为相机预览图像的输出载体,通过回调接口获取预览图像。...两者在使用步骤上基本一致,均可以用于快速读取显存(纹理)图像数据,但是 HardwareBuffer 还可以访问其他硬件的存储器,使用更广泛。...Android 在 Native 层和 Java 层均提供了 HardwareBuffer 实现接口,其中 Native 层叫 AHardwareBuffer 。...yuv, 1.0); } HardwareBuffer 和 GraphicBuffer 具体使用可以参考:https://github.com/fuyufjh/GraphicBuffer 实测性能对比 通过在

    4.4K10

    腾讯自主研发动画组件PAG开源

    SDK)解析,最后通过各平台原生渲染方案进行渲染,其中在 Android 平台上通过 Canvas 进行绘制,在 iOS 上通过 CALayer 进行绘制,在 web 端支持 SVG、Canvas 和...,使得每一帧一个配置,每一帧都是关键帧,从而在绘制的过程中不用解析高阶插值。...SVGA 在 Lottie 方案基础上进行了优化和完善,但是不支持复杂的矢量形状图层和特效。...而 PAG 在刷新时,如果遇到这些静态区间,会直接返回上一帧的动画内容,自动跳过任何重复的绘制。...这样整个时间轴上,只会经历一次栅格化的过程,后续每帧的绘制都可以复用第一帧的纹理,快速套用矩阵变换,接近零成本地渲染出动画效果。这里的内容缓存我们同样考虑了内存优化问题。

    4.6K22
    领券