刷新
[TinyRenderer] Chapter1 p2 vec

博主头像 在上一小节中,我们完成了对BMPImage类的构建,成功实现了我们这个小小引擎的图像输出功能。 你已经完成了图像输出了,接着就开始路径追踪吧。。。 开个玩笑XD 对于曾经学习过一些图形学经典教材的人来说,下一步应当开始着手于画线算法了,但对于本文来说,肯定是要走一些不走寻常路的。 所谓万事开头难,我 ...

OpenCV实战案例——直线检测[C++]

0.前言 本文以实战案例为背景,一步步讲述如何使用计算机图像处理相关知识提取图片中英语填空题答题线。 1.需求背景 某公司打算设计一款英语题目批改APP,要求学生上传英语填空题图片,然后该APP自动标注答题线位置(使用红线标注),方便后续定位和批改答案。下图(图1-1)为某一学生上传的英语填空题图片 ...

OpenCV实战案例——校正+切边[C++]

0.前言 本文以实战案例为背景,讲述如何使用计算机图形学知识完成需求,实现最终效果。本文包含实战案例素材以及过程代码讲解,方便读者理解。 1.案例需求 某公司打算开发一款用于提取学生作业本的程序,学生用手机拍摄自己的作业上传到程序,程序进行处理最终提取出作业本区域方便老师批改。 下图(图1-1)为某 ...

[快速阅读七] Halcon里emphasize函数相关资料.

博主头像 时不时有人问我我的SSE优化Demo里emphasize(边缘强调)的原理是啥,有没有写博客,其实不是我不愿意写博客,而是那个东西太过于简单,我不想写博客。但是耐不住问的人多了,我就干脆复制点资料放在博客里吧,省的每次我还要去找点资料复制给人家。 ...

OpenCV RotatedRect类中angle参数探究[C++]

0.前言 本文主要探讨RotatedRect类angle的实际含义,为后续学者提供一定的参考。 1.官方手册 RotatedRect其一构造函数如下图(图1-1)所示。 在OpenCV图形坐标系中,水平方向向右为x轴正方向,垂直方向向下为y轴正方向,左上角为(0,0)点。 center表示矩形的中心 ...

[TinyRenderer] Chapter1 p1 Output Image

博主头像 由于本文章是对TinyRenderer的模仿,所以并不打算引入外部库。 那么我们第一步需要解决的就是图形输出的问题,毕竟,如果连渲染的结果都看不到,那还叫什么Renderer嘛。 由于不引入外部库,所以选择输出的图片格式应该越简单越好,各种位图就成为了我们的首选。 这里我们选择了生态较好的bmp位图 ...

Ubuntu20.04离线部署Opencv4.5.5

博主头像 ​ 出于公司项目需要,需要在Springboot中调用opencv.so文件,项目生产环境为ubuntu20.04,无法访问外网,需要离线编译安装opencv,因此搭建本地环境下载好需要的依赖包,通过U盘传输,进行离线包安装。本文前面部分介绍在线安装如何安装,离线部分操作步骤和在线基本一致,唯一的区 ...

Matplot3D for JAVA 【V5.0】发布 :一个纯JAVA开发的数学科学数据可视化组件,JAVA 三维绘图(可视化图表)组件,类似matplotlib

博主头像 在数据科学和工程领域,数据可视化是理解和交流复杂信息的关键工具。如果您是一位Java开发者,寻找一个强大的、本地化的三维图形绘图库,那么Matplot3D for JAVA(V5.0)值得你关注。该组件旨在为Java开发者提供类似于Python中Matplotlib的三维绘图功能,让Java也能轻松... ...

四元数在旋转变换和插值中的有趣的可视化解释

四元数可以旋转三维空间中的向量,而最近刚好硬着头皮读《复分析可视化方法》(见[1]),这本书中,作者非常巧妙地运用球极射影的方法,将三维空间单位球面上绕向量轴旋转的变换,映射为复平面上旋转矩阵的表示,对四元数的插值给出可视化的有趣并且直观的解释。 四元数的基本定义(参考2),单位四元数可以写做 q ...

浅析OpenCV分水岭变换watershed函数的markers参数[C++]

0. 前言 本文是笔者在学习C++ OpenCV库时学习心得,在学习分水岭变换函数时,由于缺少相关学习资料,导致笔者理解吃力,故写此文章阐述一下对该函数的理解,希望对其他学习人士提供帮助。 本文主要介绍了watershed函数参数以及参数实际表示。 请您按文章次序阅读。 您需要提前了解的相关知识有: ...

games101-3 BRDF101

博主头像 BRDF101 概述 本文基于知乎Maple对brdf的文章,在此基础又收集了一些其它来源的关于brdf的文章,希望能够完全理解记忆相关知识 关于Jakub Boksansky的文章,看的过程中又去搜集了很多其它文章来理解,发现已经超出了我目前的知识厚度,因此只会简单的翻译一下我能理解的部分,感兴趣 ...

利用speckle引擎里的speckleviewer加载渲染3d模型

博主头像 1、bim引擎speckle简介 Speckle是一个开源的数据平台,专为建筑、工程和建造行业设计。它旨在通过提供一个共享和协作的环境来解决数据互操作性问题。Speckle允许用户在不同的软件应用程序之间实时共享、管理和流式传输3D模型和设计数据。 这个平台支持多种流行的设计软件,如Autodesk ...

ImageJ软件使用教程(三):目标计数

博主头像 目录多点工具法阀值分割法二值化填充分割自动计数显示结果总结参考资料 本文以钢筋计数为例,讲解一下如何使用ImageJ软件进行计数,这里只介绍两种方法: 多点工具法 阀值分割法 钢筋计数是我接触的第一个视觉项目,虽然项目最后不了了之,但作为我机器视觉的开荒项目还是很有纪念意义的。 多点工具法 多点工具 ...

ImageJ软件使用教程(二):图像测量

博主头像 目录图像比例尺加载图像设置比例尺标注比例尺测量长度面积测量长度测量面积参考资料 图像比例尺 使用ImageJ软件测量图像中的长度、面积等信息时,需要先设置图像的比例尺,比例尺用于将图像中的像素单位转换为真实的世界单位。 加载图像 启动ImageJ程序,从File菜单选择Open Samples,选择 ...

ImageJ使用教程(一):开始使用

博主头像 目录简介界面介绍Edit->Options开始使用打开图片放大拖拽图片信息色彩分析保存图片总结参考文章 ImageJ软件 简介 ImageJ是一个基于java的公共的图像处理软件,它是由美国国立卫生研究院开发的,可运行于Windows、Linux等多种平台。软件下载解压后可直接使用,注意软件目录不要 ...

3、最大池化maxinmum pooling

博主头像 了解有关最大池化特征提取的更多信息。 简介 在第二课中,我们开始讨论卷积神经网络(convnet)的基础如何进行特征提取。我们了解了这个过程中的前两个操作是在带有 relu 激活的 Conv2D 层中进行的。 在这一课中,我们将看一下这个序列中的第三个(也是最后一个)操作:通过最大池化进行压缩,这在 ...

渲染管线概念篇

博主头像 渲染管线概念 渲染是一个非常复杂的过程,它需要从一系列的顶点、纹理等信息出发,把这些信息最终转换成屏幕图像,而在这个过程中,需要CPU和GPU密切配合,这一个过程也叫渲染流水线。 什么是渲染流水线? 渲染管线也叫渲染流水线。流水线是并行进行的,可以大大提高生产的效率。图形渲染过程也同样使用了该技术, ...

【工程应用九】再谈基于离散夹角余弦相似度指标的形状匹配优化(十六角度量化+指令集加速+目标只有部分在图像内的识别+最小外接矩形识别重叠等)

博主头像 基于离散夹角余弦相似度准则的形状匹配,其原理实际上是 halcon里相似度准则的一个简化,但是,正是这种简化,加上恰当的离散角度数量,让这种简化后的匹配可以充分利用一些硬件里的特殊函数,从而起到了算法加速的作用。本文描述了这种加速策略,并对早期算法里的部分目标识别及最小外接矩形的功能实现予以描述。 ...

基于似然场的全局定位

博主头像 title: LikelihoodField date: 2024-03-18 21:18:18 tags: [SLAM,似然场] categories: 项目 似然场法定位检测 似然场最小二乘问题构建 机器人Robot在地图World中的位姿表示为\(\boldsymbol{x}\),激光雷达扫描 ...

【Filament】材质系统

博主头像 1 前言 ​ 本文主要介绍 Filament 的材质系统,官方介绍详见 → Filament Materials Guide。材质系统中会涉及到一些空间和变换的知识点,可以参考:【Unity3D】空间和变换、【Unity3D】Shader常量、变量、结构体、函数、【OpenGL ES】MVP矩阵变换 ...