
OpenCV
文章平均质量分 77
Lucas-zhang
写不出论文 不务正业 坚信自己能按时毕业的硕士生
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
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 · 694 阅读 · 0 评论 -
0.OpenCV可视化(Viz)——Viz环境的配置
编译安装OpenCV中的Viz模块原创 2021-01-12 10:26:42 · 3321 阅读 · 0 评论 -
图像极坐标变换与反变换(Halcon + OpenCV)
基于OpenCV手动实现图像的极坐标变换原创 2020-12-22 16:15:34 · 4111 阅读 · 2 评论 -
空间中异面直线距离的计算
由空间中的两条异面直线间的距离公式: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 · 25694 阅读 · 5 评论 -
3.OpenCV可视化(Viz)——单目相机标定模拟
单目相机标定模拟基于OpenCV中的Viz模块,虚拟一个相机,设置相机的内参数。然后在相机视野下放置标定板,通过相机标定算法,最终再获取相机内参数。当然最终相机标定还是存在误差,我猜测主要原因是标定板旋转在变换的过程中,仿射变换导致图像质量下降,角点提取的不准确。当然,这个项目的主要意图还是示意吧,重点在于自己创造数据,虚拟数据。效果图:创建窗口第一步就是创建窗口。一个窗口为主窗口(从上帝视角看标定板的位置),还有一个窗口为相机窗口(相机所获取的图像)。 viz::Viz3d mai原创 2020-11-17 16:59:55 · 2164 阅读 · 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 · 2204 阅读 · 1 评论 -
1. OpenCV 可视化(Viz)——相机位置
1. OpenCV 可视化(Viz)——相机位置 立体视觉中,相机之间的位姿关系使用旋转矩阵和平移向量表示,对于相机位置难以直观表示,因此考虑使用OpenCV中的Viz模块对相机位置可视化,可以清楚的表示各个相机的相对位姿关系。目的 可视化相机的相对位姿关系。因为课题需要,我使用了四个相机,通过导入Halcon标定数据中的外参(R、T),我最终得到了下面的相机位置表示: 当然,这肯定与我实际的相机位置相符。步骤 创建窗口->读入外参->设置坐标系->显示程原创 2020-11-12 20:02:36 · 3699 阅读 · 2 评论 -
Halcon标定参数(畸变系数)转OpenCV标定数据
标定板的质量对标定精度影响也是非常大的,我手上有一个陶瓷的Halcon原点标定板,使用Halcon标定效果很好。但由于想转用OpenCV开发,且不想放弃已有的图像数据,因此想将Halcon标定的数据(内参、外参,畸变系数),转换到OpenCV中。当然,其参数不是一一对应的(也就是说,Halcon中的畸变系数与OpenCV中的畸变系数并不一一对应,按照官方的说法是其求解的畸变参数的形式是不一样的。一个是由校正前到校正后求解得到,一个是由校正后到校正前求解得到)。依据Stack Overflow中的数据,写原创 2020-10-21 18:22:36 · 4019 阅读 · 9 评论 -
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 · 2678 阅读 · 1 评论 -
常见的边缘检测Mask
常见的边缘检测Mask区分图像中目标(前景)与背景中的方法称之为图像分割,传统中图像分割的方法包括:1. 阈值处理 2. 边缘检测 3. 区域生长。其中阈值处理算法使用较为广泛,但面对复杂的图像时,使用阈值处理难以准确分割,此时就需要使用边缘检测算法或区域生长算法。边缘是两个不同图像区域之间的边界点所形成的。在实际的应用中,图像的边缘往往被经以为图像局部强度变化最剧烈的部分。这就意味着这些部分区域的梯度很大,因此可以通过求梯度变化剧烈的部分间接的定位边缘位置。与连续函数求梯度的方式不同,因为图像是以矩原创 2020-08-29 11:12:24 · 2032 阅读 · 0 评论 -
基于OpenCV的倾斜文字校正
基于OpenCV的倾斜文字校正使用OpenCV里example中的的倾斜文本作为输入,本文的目的即将该倾斜的文本校正成水平方向的文本。主要思路为:读取图像-——>Canny边缘检测——->形态学操作-——>提取最小外接矩形——->计算旋转矩阵-——>仿射变换校正文本图像原始图像:提取最小外接矩形区域校正后的图像———————————————————...原创 2020-04-06 16:49:55 · 3505 阅读 · 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 · 2015 阅读 · 1 评论