- 博客(18)
- 收藏
- 关注
原创 OpenCV-阈值处理
基础知识分类OpenCV中已经实现了常用的阈值处理方式,可以通过关键字进行选择(开头均以 THRESH 表示):阈值 thresh , 值 maxval 对应函数 threshold 中的 maxval.1. THRESH_BINARY大于thresh的置为 maxval , 小于 thresh 的置为 0;dst(x,y)={ maxval if src(x,y)> thresh 0 otherwise&nb
2021-01-13 10:28:50
657
原创 空间中异面直线距离的计算
由空间中的两条异面直线间的距离公式:d=(e1⃗×e2⃗)⋅M1M2→∣e1⃗×e2⃗∣ d = \frac{(\vec{e_{1}} \times \vec{e_{2}} ) \cdot \overrightarrow{M_{1}M_{2}}}{ |\vec{e_{1}} \times \vec{e_{2}}|} d=∣e1×e2∣(e1×e2)⋅M1M2式中, e1⃗e2⃗\vec{e_{1}} \quad \vec{e_{2}}e1e2 为方向向量,M1M2→
2020-12-17 10:58:27
24938
5
原创 3.OpenCV可视化(Viz)——单目相机标定模拟
单目相机标定模拟基于OpenCV中的Viz模块,虚拟一个相机,设置相机的内参数。然后在相机视野下放置标定板,通过相机标定算法,最终再获取相机内参数。当然最终相机标定还是存在误差,我猜测主要原因是标定板旋转在变换的过程中,仿射变换导致图像质量下降,角点提取的不准确。当然,这个项目的主要意图还是示意吧,重点在于自己创造数据,虚拟数据。效果图:创建窗口第一步就是创建窗口。一个窗口为主窗口(从上帝视角看标定板的位置),还有一个窗口为相机窗口(相机所获取的图像)。 viz::Viz3d mai
2020-11-17 16:59:55
2107
7
原创 2. OpenCV 可视化(Viz)——相机视锥
2. OpenCV 可视化(Viz)——相机视锥这一节是显示相机视锥及图像,使相机空间位置更加立体。官方文档内容为:OpenCV_Tutorials当然,主要的函数就是 WCameraPosition完成效果:单个视锥多个视锥:程序内容主程序://// Created by zzl on 2020/11/15.//// system#include <iostream>// Eigen 一定要在OpenCV前面#include "eigen3/Eigen
2020-11-16 15:04:43
2150
1
原创 1. OpenCV 可视化(Viz)——相机位置
1. OpenCV 可视化(Viz)——相机位置 立体视觉中,相机之间的位姿关系使用旋转矩阵和平移向量表示,对于相机位置难以直观表示,因此考虑使用OpenCV中的Viz模块对相机位置可视化,可以清楚的表示各个相机的相对位姿关系。目的 可视化相机的相对位姿关系。因为课题需要,我使用了四个相机,通过导入Halcon标定数据中的外参(R、T),我最终得到了下面的相机位置表示: 当然,这肯定与我实际的相机位置相符。步骤 创建窗口->读入外参->设置坐标系->显示程
2020-11-12 20:02:36
3607
2
原创 Halcon标定参数(畸变系数)转OpenCV标定数据
标定板的质量对标定精度影响也是非常大的,我手上有一个陶瓷的Halcon原点标定板,使用Halcon标定效果很好。但由于想转用OpenCV开发,且不想放弃已有的图像数据,因此想将Halcon标定的数据(内参、外参,畸变系数),转换到OpenCV中。当然,其参数不是一一对应的(也就是说,Halcon中的畸变系数与OpenCV中的畸变系数并不一一对应,按照官方的说法是其求解的畸变参数的形式是不一样的。一个是由校正前到校正后求解得到,一个是由校正后到校正前求解得到)。依据Stack Overflow中的数据,写
2020-10-21 18:22:36
3875
10
原创 Ubuntu下OpenCV及VTK版本切换
在使用OpenCV中的Viz模块的过程中,会遇到:vtkTransformPolyDataFilter (0x5612083903c0): No input datavtkTransformPolyDataFilter所带来的问题就是,在可视化相机的视锥的时候,图像不能有效显示,仅仅一个空的视锥。https://discourse.vtk.org/t/logging-error-messages-for-empty-input-data/453我当前的开发环境为: OpenCV libra
2020-09-05 22:01:06
2628
1
原创 Cmake实践_阅读笔记
typora-copy-images-to: image《 Cmake实践》-阅读笔记标签: 阅读笔记 CmakeGithub图书资源:https://github.com/Akagi201/learning-cmake/blob/master/docs/cmake-practice.pdfCmake在编译程序和项目管理上带给我们极大的便利,也正是从这本书中(作者称之为学习笔记和Tutorial)让我了解到了Find_Package等一系列命令,开始能看懂Cmake中的一些逻辑,而不是机械的Ct.
2020-09-03 14:25:33
329
原创 常见的边缘检测Mask
常见的边缘检测Mask区分图像中目标(前景)与背景中的方法称之为图像分割,传统中图像分割的方法包括:1. 阈值处理 2. 边缘检测 3. 区域生长。其中阈值处理算法使用较为广泛,但面对复杂的图像时,使用阈值处理难以准确分割,此时就需要使用边缘检测算法或区域生长算法。边缘是两个不同图像区域之间的边界点所形成的。在实际的应用中,图像的边缘往往被经以为图像局部强度变化最剧烈的部分。这就意味着这些部分区域的梯度很大,因此可以通过求梯度变化剧烈的部分间接的定位边缘位置。与连续函数求梯度的方式不同,因为图像是以矩
2020-08-29 11:12:24
1982
原创 基于OpenCV的倾斜文字校正
基于OpenCV的倾斜文字校正使用OpenCV里example中的的倾斜文本作为输入,本文的目的即将该倾斜的文本校正成水平方向的文本。主要思路为:读取图像-——>Canny边缘检测——->形态学操作-——>提取最小外接矩形——->计算旋转矩阵-——>仿射变换校正文本图像原始图像:提取最小外接矩形区域校正后的图像———————————————————...
2020-04-06 16:49:55
3435
4
原创 Win下使用VScode+CMake编译OpenCV(Mingw)
使用VScode+CMakeLists编译OpenCV因为要学习OpenCV,但是Visual Studio太过庞大,写个Hello World的程序有种杀鸡用牛刀的感觉,因此决定使用VScode与CMakeLists的组合编译学习OpenCV。前提准备:OpenCV源代码 mingw32编译器 Cmake程序1. Mingw32编译器的安装详见MinGW下载我安装的版本是: 我忘记了...
2019-12-24 09:19:41
1992
1
原创 使用Endnotes生成知网参考文献的Latex引文格式(BibTex)
这里省略了将文献导入Endnotes的步骤,在Endnotes中选择File->Import->File后,再选择刚才导入的文献就可以导入刚才在知网中选择的文献。接着进行Endnotes中的导出设置...
2019-09-12 09:53:45
16439
5
原创 基于离线安装MinGW64的VScode 配置 C++
目录VScode安装VScode下载安装插件离线下载MingGW并安装下载离线包设置环境变量验证安装VScode配置C++配置C/Cpp: Edit configurations配置tasks.json文件修改tasks.json中的内容配置Launch.json文件VScode安装VScode下载官方网址:https://code.visualstudio.com/安装之后启动,进入插...
2019-08-14 21:47:36
1582
原创 #Halcon例程学习(2)—— Particle
Halcon例程学习(2)—— Particle 其为分析液体中的成分,得出区域中的平均灰度和面积;在液体二值图像中有几个亮斑,需要提前去除;液体成分中灰度变化不明显,直接采用全局阈值处理效果不佳;读取鼠标按键数值,并选择区域。threshold (Image, Large, 110, 255)* Dilate regions with a circular struc...
2019-03-21 16:03:36
465
原创 Halcon例程学习(1)——Atoms
Halcon 例程——Atom这个例程的目的是使用算子来找出结构不规则的原则,其中涉及到一些算子:crop_rectangle1:从图像中截取矩形图像gauss_filter:高斯滤波watersheds:图像分水岭算法smallest_rectangle1:平行于坐标轴的最小外接矩形Part Ⅰ 初始化程序dev_update_off () dev_close_window ...
2019-03-20 21:04:34
2627
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人