刷新
shader三种变量类型(uniform,attribute和varying)

uniform变量在vertex和fragment两者之间声明方式完全一样,则它可以在vertex和fragment共享使用。(相当于一个被vertex和fragment shader共享的全局变量) uniform变量一般用来表示:变换矩阵,材质,光照参数和颜色等信息。 以下是例子: unifor ...

剖析虚幻渲染体系(05)- 光源和阴影

5.1 本篇概述 5.1.1 本篇内容 本篇主要阐述UE的以下内容: Shader代码及主要模块。 UE的光源。 UE的阴影。 BasePass的机制和实现,包含C++和Shader。 LightingPass的机制和实现,包含C++和Shader。 其中BasePass和LightingPass在 ...

Action Sheets 和 Activity Views

行动表行动表是一种特殊的提醒方式,它展示了与当前环境相关的两个或多个选择。在较小的屏幕上,动作表会从屏幕的底部滑上去;在较大的屏幕上,动作表会以弹出式的方式一次性出现。 在执行一个潜在的破坏性操作之前,使用一个行动表来请求确认。为了让人们选择与非破坏性任务有关的项目或行动,你可以使用一个下拉菜单。 ...

opencv实战——机器视觉检测和计数

博主头像 引言 在机器视觉中,有时需要对产品进行检测和计数。其难点无非是对于产品的图像分割。 由于之前网购的维生素片,有时候忘了今天有没有吃过,就想对瓶子里的药片计数...在学习opencv以后,希望实现对于维生素片分割计数算法。本次实战在基于形态学的基础上又衍生出基于距离变换的分水岭算法,使其实现的效果更具 ...

直方图统计和显示

博主头像 直方图 一、原理和目的 (1)目的:将单通道图像的灰度值与对应的频率数据可视化,便于分析图像 (2)原理:创建一个大小为256的数组,表示0~255的灰度范围,然后对图像进行遍历,每次读取到一个灰度值就在数组对应的值进行自增操作。最终数组的下标代表的是灰度,下标对应的值代表的是灰度频率,然后根据数据 ...

OpenCV 之 空间刚体变换

博主头像 刚体就是 "刚性物体",它在运动过程中,内部各质点间的相对位置不会改变,也即 每两个质点间的距离 保持不变 假设刚体内任意两个质点,坐标分别为 $(x_1, y_1, z_1)$ 和 $(x_2, y_2, z_2)$,则在刚体运动过程中,它们满足如下条件: $\quad \left( (x_1 - ...

均值滤波

博主头像 均值滤波 一、目的与原理 (1)目的:去除图像上的尖锐噪声,平滑图像。 (2)原理:均值滤波属于线性滤波,它的实现原理是邻域平均法。其中,公式①的Sxy表示中心点在(x,y)处,M表示大小为m×n的滤波器窗口,M=(2m+1)(2n+1),m和n可以相等。实际上就是用取均值的方式替换原图像中的像素值 ...

基于像素的传统图像修补算法实现

图像修补算法可以用来修复图像中的瑕疵,划痕等,或者移除不需要的内容,比如水印或其他物体。传统的图像修补算法有基于像素和基于区域的两种分类,本文介绍基于像素的传统图像修补算法的实现。论文可以在这里找到An image inpainting technique based on the fast mar ...

基于模板匹配与透视变换图像拼接的步骤

博主头像 各种变换的矩阵形式,其中透视变换的矩阵需要8个dof(自由度),所以我们至少需要4对点才能将矩阵求解。 四对点的含义是:你自己选取的4个和模板匹配的4个点,总共8个点求解8个未知数。 矩阵求解过程: 其中:(xi,yi)表示的是你自己选取的点。 (u0,u1)表示在右图模板匹配后得到的相似度最高的点 ...

GAMES101作业2

作业任务: 填写并调用函数 rasterize_triangle(const Triangle& t)。 即实现光栅化 该函数的内部工作流程如下: 创建三角形的 2 维 bounding box。 遍历此 bounding box 内的所有像素(使用其整数索引)。然后,使用像素中 心的屏幕空间坐标来 ...

【工程应用三】三种不同的文本图像背景漂白/纯化/去除算法。

博主头像 文本图像在图像处理的应用中也是占用了一个比较大的比例,特别是随着对基础教育的越来越重视,在学生的一些辅助教育、智能化作业批改等等方面的需求迅速增长。目前是市面上也已经有了很多这方面比较专业的软件。在这方面的算法当中,一个比较重要的过程就是对文本图像背景的纯化,也有叫漂白或者背景去除的,因为背景复杂了... ...

WebGPU[5] uniform颜色

博主头像 代码见:https://github.com/onsummer/my-dev-notes/tree/master/webgpu-Notes/05-uniform-color 原创,发布日 2021年4月6日,更新日 2021年5月6日,@秋意正寒。若代码失效请留言,或自行到官网根据最新 API 修改 ...

WebGPU[4] 纹理三角形

博主头像 代码见:https://github.com/onsummer/my-dev-notes/tree/master/webgpu-Notes/04-texture-triangle 原创,发布日 2021年4月5日,更新日 2021年5月6日,@秋意正寒。若代码失效请留言,或自行到官网根据最新 API ...

OpenCV 之 平面单应性

博主头像 上篇 OpenCV 之 图像几何变换 介绍了等距、相似和仿射变换,本篇侧重投影变换的平面单应性、OpenCV相关函数、应用实例等。 1 投影变换 投影变换 (Projective Transformation),是仿射变换的一般化,二者区别如下: 1.1 平面单应性 假定平面 $P^{2}$ 与 $ ...

WebGPU[3] 多重采样抗锯齿

博主头像 代码见:https://github.com/onsummer/my-dev-notes/tree/master/webgpu-Notes/03-msaa 更新日 2021年5月6日 指定重采样次数为 4 次,测试中除了 1 和 4 其他均不支持(可能是我没找对方法)。 const sampleTi ...

WebGPU[2] 颜色与缓存

博主头像 代码见:https://github.com/onsummer/my-dev-notes/tree/master/webgpu-Notes/02-buffer%26color 创建buffer 与 WebGL 的 gl.createBuffer() 几乎一样。 const vbodata = new ...