- 博客(25)
- 收藏
- 关注
原创 【数值分析】学习笔记4——凸优化2:拉格朗日函数及变分不等式(Variational Inequality,VI)
在南方科技大学学习何炳生老师的数值分析课程期间有很多收获与感悟,由衷的感谢何老师的谆谆教导,当然我希望能将课程中所学习到的,能应用到未来科研和工作中的这部分知识,以学习笔记的方式记录下来,也希望能通过这种帖子将自己作为小白对于这些知识的通俗理解分享给大家,文中一些不够准确或错误的表达,还望大家指证。【数值分析】学习笔记目录本章节将分享凸优化的进阶知识——拉格朗日函数及变分不等式在上一篇笔记中,我们提到了,在我们生活中很多凸优化问题除了函数自身的限制以外,还一般存在一个条件约束,需要同时满足两个条件的点才会
2022-06-12 20:34:49 2587 1
原创 数字图像相关(Digital Image Correlation, DIC)中的非线性优化方法IC-GN的数值解计算
目录前言内容回顾一.IC-GN中增量ΔP\Delta \boldsymbol PΔP的数值解二.写在最后参考引用前言由于本人近期正在展开数字图像相关技术用于测量材料形变方向的研究,其中需要对别人现有算法的复现和调研,尽管其中很多算法都已经非常成熟,但对于初学者而言即使明白其中的原理,无法上手实践和操作的话,依然无法能够将其完全的应用起来或者在上面进行创新,我希望能将自己作为一个初学者复现他人代码和学习该原理的过程记录下来,方便每一个涉足该领域的人能更快应用这些知识。本文的论述基础建立在我的前一篇文章
2022-04-25 19:51:13 3871 7
原创 MATLAB读取OpenCV输出的XML相机标定结果
目录一.OpenCV输出的相机标定结果1.系统内参2.左右相机位置关系二.MATLAB加载OpenCV标定文件函数三.结果展示众所周知,OpenCV封装了很多用于相机标定的函数,其输出的标定结果可以利用FileStorage对象进行保存,存储为XML格式的参数文件。考虑到很多时候图像算法的开发会在MATLAB上进行,但如果此时标定结果是通过OpenCV输出的XML格式文件,那就需要将其转换为MATLAB下的标定参数项,用于实现物像间的相互投影。如果您对于标定感兴趣,欢迎阅读我有关三维重建的其他帖子
2022-04-25 16:13:56 3676 5
原创 Python OpenCV 将同心圆环填充为实心圆
目录应用概览测试代码效果图参考引用应用概览近期在测试设计的带方位点的圆点特征提取算法与传统的OpenCV的圆点提取算法,在标定应用上精度的差异,但是遇到了一个问题———加工厂商制作实心圆点标定板时搞错需求了,于是我拥有了两块如图所示的带方位点的圆点标定板。。。除此之外还有一个问题在于,如果我要横向对比两种图案对于标定精度的影响,标定板的摆放姿态需要尽可能一致,因此需要通过图像处理的方式将图中的同心圆环进行填充,得到实心圆点测试代码代码为批量处理脚本,处理逻辑是现将图片进行自适应阈值处理,之后提
2022-04-24 21:42:29 4899
原创 C++ OpenCV V4.x中的新版双目标定函数stereoCalibrate() 参数说明【新增perViewErrors】
目录函数定义参数补充说明写在最后OpenCV V4.x以后的版本中补充了一个重载的双目标定函数 cv::stereoCalibrate(),这个新函数中补充了一个输出量,即perViewErrors代表每对图像所对应的均方根重投影误差(RMS re-projection error),可以更方便检视输入的标定板图像存在的误差,从而进行剔除或重拍用以提高标定精度。建议之后再去做双目标定时都尽量采用新的函数。函数定义double cv::stereoCalibrate ( InputArrayOfAr
2022-03-17 23:17:31 12144 12
原创 【相机标定与三维重建原理及实现】学习笔记2——标定的算法与方法
目录前言一.张氏标定法二.张氏标定需要的特征点数以及拍摄图片数1.所需特征点数2.所需拍摄的标定板图像数三.标定中的其他注意事项参考引用前言由于本人近期正在展开数字图像相关技术用于测量材料形变方向的研究,既然涉及到使用图像处理参与到测量或检测研究当中,就肯定避不开构建物空间上的任意一点与相机所拍摄到的图像上一点之间的数学关系及数学模型。之前有过标定经验的我只是单纯的使用别人封装好的函数,如今仔细推导过后才发现其中奥秘所在。我认为想要在一个技术上有所创新,最核心的还是能够将其学的透彻,我希望将自己作为一
2022-03-01 15:56:59 4952 7
原创 C++ OpenCV findChessboardCorners()耗时很长
目录问题概览函数定义问题排查解决方案1.人为添加空白或者将背景变为与图案背景一致2.使用OpenCV4中的findChessboardCornersSB() 函数参考引用问题概览近期新买的棋盘格标定板到了,开始尝试用之前写的标定程序对相机进行标定,程序中使用的棋盘格角点提取的函数为OpenCV库函数findChessboardCorners(),但在运行过程中发现其中几张拍摄的图片会出现耗时很长的问题,好的图片一两秒算完,异常图片可能就是几百秒开外,典型图片如下图所示,大家有兴趣可以直接搭例子进行测试
2022-02-23 20:38:22 7567 7
原创 【相机标定与三维重建原理及实现】学习笔记1——相机模型数学推导详解
目录前言一.小孔成像模型参考引用前言由于本人近期正在展开数字图像相关技术用于测量材料形变方向的研究,既然涉及到使用图像处理参与到测量或检测研究当中,就肯定避不开构建物空间上的任意一点与相机所拍摄到的图像上一点之间的数学关系及数学模型。之前有过标定经验的我只是单纯的使用别人封装好的函数,如今仔细推导过后才发现其中奥秘所在。我认为想要在一个技术上有所创新,最核心的还是能够将其学的透彻,我希望将自己作为一个初学者学习和推导该原理的过程记录下来,也方便之后每一个涉足该领域知识的人能更清晰更快的应用这些知识。
2022-01-09 22:39:27 4682 6
原创 C++ OpenCV绘制非对称圆点标定图案
目录原始代码效果图参考引用通过OpenCV + C++绘制非对称圆点标定图案,注意,非对称圆点图案的维度中的一行实质是一组非对称圆点行(两行),其标定图案示意如下图所示:原始代码#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc.hpp>#include <opencv2/opencv.hpp>using namespace cv;using namespace
2022-01-03 18:19:14 1020
原创 用MATLAB绘制随机散斑图案【源码+正确的椭圆旋转公式】
目录前言一.源代码二.效果图三.写在最后参考引用前言由于本人近期正在展开数字图像相关技术用于测量材料形变方向的研究,其中需要对别人现有算法的复现和调研,尽管其中很多算法都已经非常成熟,但对于初学者而言即使明白其中的原理,无法上手实践和操作的话,依然无法能够将其完全的应用起来或者在上面进行创新,我希望能将自己作为一个初学者复现他人代码和学习该原理的过程记录下来,方便每一个涉足该领域的人能更快应用这些知识。随机散斑图像的质量很大程度上决定了数字图像相关中匹配算法的收敛性,为方便大家做实验时候生成散斑图像
2021-12-18 15:56:13 5805 11
原创 数字图像相关(Digital Image Correlation, DIC)中的非线性优化方法(FA-GN与IC-GN)
目录前言内容回顾一. 非线性优化数学模型二. 前向累加高斯-牛顿法——FA-GN(Forward Additive Gauss-Newton method)三. 逆合成高斯-牛顿法——IC-GN(Inverse compositional Gauss-Newton method)1.非线性优化数学模型变形2.数学推导四.写在最后参考引用前言由于本人近期正在展开数字图像相关技术用于测量材料形变方向的研究,其中需要对别人现有算法的复现和调研,尽管其中很多算法都已经非常成熟,但对于初学者而言即使明白其中的原
2021-12-14 16:20:08 16021 20
原创 Matlab实现二维数字图像相关(2D Digital Image Correlation, 2D-DIC)【ADIC2D代码复现及原理介绍】
目录前言一.数字图像相关(Digital Image Correlation)二.相关运算1.数学模型参考引用前言由于本人近期正在展开数字图像相关技术用于测量材料形变方向的研究,其中需要对别人现有算法的复现和调研,尽管其中很多算法都已经非常成熟,但对于初学者而言即使明白其中的原理,无法上手实践和操作的话,依然无法能够将其完全的应用起来或者在上面进行创新,我希望能将自己作为一个初学者复现他人代码和学习该原理的过程记录下来,方便每一个涉足该领域的人能更快应用这些知识。本文所复现的论文——Atkinson
2021-11-22 20:36:28 26468 181
原创 【数值分析】学习笔记目录
前言在南方科技大学学习何炳生老师的数值分析课程期间有很多收获与感悟,由衷的感谢何老师的谆谆教导,当然我希望能将课程中所学习到的,能应用到未来科研和工作中的这部分知识,以学习笔记的方式记录下来,也希望能通过这种帖子将自己作为小白对于这些知识的通俗理解分享给大家,文中一些不够准确或错误的表达,还望大家指证。本目录会持续更新。【数值分析】学习笔记目录学习笔记1——范数与条件数学习笔记2——最小线性二乘学习笔记3——凸优化1:凸函数和凸优化问题......
2021-11-14 20:13:23 719 2
原创 C++ OpenCV findCirclesGrid()无法提取到圆点中心
目录问题概览函数定义原始代码效果图参考引用问题概览近期使用OpenCV的库函数findCirclesGrid()做圆点标定中的特征点提取时,发现对于部分存在较大透视畸变的标定图片,findCirclesGrid()可能会出现提取不到圆点的情况函数定义bool cv::findCirclesGrid ( InputArray image, Size patternSize, OutputArray centers, int flags = CA
2021-09-01 21:25:34 6910 16
原创 C++ OpenCV绘制对称圆点标定图案
目录原始代码效果图参考引用通过OpenCV + C++绘制对称型圆点标定图案原始代码#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc.hpp>#include <opencv2/opencv.hpp>using namespace cv;using namespace std;int main(){ // 图像宽高 int width = 1400;
2021-08-06 20:15:03 1709
原创 C++ 提取xml字符串中的内容(不调用xml相关库)
函数说明:输入xml格式字符串,以及需要搜索的节点名称,输出节点对应的内容,若无该节点或字符串非法,则输出空字符串示例:输入:inxml = "<people><name>wwh</name></people>";path = "people.name";输出:"wwh"完整代码:string GetXMLValue(string inxml, string path) { unordered_map<string, string&
2021-08-02 21:10:45 720
原创 编译安装Trilinos(Ubuntu)
目录前言Trilinos介绍一.准备工作前言近期正在尝试调试配置数字图像相关开源项目DICe,过程中,由于在没有完全阅读完操作文档就直接开始配置环境,导致花费了很多时间绕了很多弯路。在这些弯路中,该项目由于依赖于sandia开发的一个求解大规模科学计算问题的软件包——Trilinos,最难走的莫过于对它的调试和配置,所幸最终还是将它调通,这里将经验进行分享,也为警醒自己调试开源项目时先把说明书看完再调,说不定已经有现成的编译脚本!!Trilinos介绍Trilinos是sandia开发的一个求解大
2021-07-24 23:02:37 3236 18
原创 C++ 通过DestroyWindow或SendMessage关闭视窗时候出现问题
目录问题概览一.`DestroyWindow`无法关闭视窗问题1.问题现象2.排查思路3.问题原因及解决办法二.用`SendMessage`关闭多个视窗时,异常中断1.问题现象2.排查思路3.问题原因及解决办法参考引用问题概览近期在完成一个连接多台相机,并实时显示每一个相机窗口的程序过程中,在程序的最后会涉及对显示窗口的关闭。但是期间尝试采用DestroyWindow和SendMessage来关闭时都出现了无法关闭或异常中断的问题。详细问题如下在主线程中使用DestroyWindow无法关闭生成的
2021-07-15 21:52:45 2775
原创 【数值分析】学习笔记3——凸优化1:凸函数和凸优化问题
目录前言一.凸函数(Convex Function)1.什么是凸函数2.凸函数的性质(1) 凸函数上任一点的切线均位于函数下方(2)可微凸函数极小值点(实际问题中的最优解点)的特性二.凸优化问题1.最简单凸优化问题(一个凸函数)2.两个凸函数的凸优化问题3.线性约束的凸优化问题(一个凸函数+线性约束条件)四.总结前言在南方科技大学学习何炳生老师的数值分析课程期间有很多收获与感悟,由衷的感谢何老师的谆谆教导,当然我希望能将课程中所学习到的,能应用到未来科研和工作中的这部分知识,以学习笔记的方式记录下来,
2021-03-20 22:00:17 2354 3
原创 【数值分析】学习笔记2——最小线性二乘
目录前言一.超定方程组二.残差向量三.最小线性二乘法1.法方程法(1)正规方程组(2)缺点2.QR分解(1)正交变换(2)QR分解Householder分解四.总结前言在南方科技大学学习何炳生老师的数值分析课程期间有很多收获与感悟,由衷的感谢何老师的谆谆教导,当然我希望能将课程中所学习到的,能应用到未来科研和工作中的这部分知识,以学习笔记的方式记录下来,也希望能通过这种帖子将自己作为小白对于这些知识的通俗理解分享给大家,文中一些不够准确或错误的表达,还望大家指证。【数值分析】学习笔记目录本章节将分
2021-02-18 03:24:26 1897
原创 【数值分析】学习笔记1——范数与条件数
目录前言一.什么是范数二.向量的范数三.矩阵的范数1.法方程法(1)正规方程组(2)缺点2.正交变换法(1)正交变换(2)QR分解(3)Householder分解四.条件数四.总结前言一.什么是范数二.向量的范数三.矩阵的范数1.法方程法(1)正规方程组(2)缺点2.正交变换法(1)正交变换(2)QR分解(3)Householder分解四.条件数 四.总结...
2021-02-10 22:05:53 11032 1
原创 Ubuntu 20.04 LTS 安装Anaconda+Tensorflow的各类问题汇总
目录前言本机环境安装思路1.系统环境一级目录二级目录三级目录前言近期因学习需要,需要搭建Linux+Tensorflow的编程环境,为了保证深度学习程序运行的效率还需要安装Tensoflow-gpu版本。但作为老倒霉蛋+小白的我,单是搭建这个编程环境就花了我三个夜晚,重装了两遍系统。本着我不入地狱,谁入地狱的佛系心态,这里将我使用所有到安装方法以及安装过程中遇到的问题进行汇总,在这里感谢这些国内或者国外的大佬对于自己方法的总结。本机环境系统环境:Ubuntu 20.04 LTS (x86_64)
2021-01-11 19:26:40 1688 1
原创 用MATLAB实现雅克比迭代、高斯-赛德尔迭代以及超松弛迭代
文章目录前言一、解线性方程组的方法二、解线性方程组的迭代法及其代码实现1. 迭代法的收敛性2. 基本参数设置3. 雅克比(Jacobi)迭代4. 高斯-塞德尔(Gauss-Seidel)迭代5. 超松弛(SOR)迭代总结前言近期在上南方科技大学何炳生老师的数值分析课程时,学习了解线性方程组的三种迭代方法,即:雅克比(Jacobi)迭代;高斯-塞德尔(Gauss-Seidel)迭代以及超松弛(SOR)迭代。并按要求使用MATLAB对这三种迭代方法进行了仿真设计。通过仿真设计也对这三种迭代法有了一定的认识
2020-11-17 22:51:27 35689 39
原创 PCA主成分分析的数学推导及基于PCA的人脸识别训练函数代码实现(Matlab)
目录概述PCA数学推导基于PCA的人脸识别训练函数实现(Matlab)参考引用概述近期学习数字信号处理课程时,被要求了解PCA主成分分析的数学原理,并通过该原理完成人脸识别的代码。学习过程中对于其机理有所理解,将一些思路分享在本帖子中,欢迎大家一起讨论学习,和指正我的一些理解错误的地方。学习一个技术,我认为需要按照它用来干什么,它是什么,它怎么实现的,我们怎么使用它这样的逻辑进行学习,故在学习PCA之前,首先得知道它用来干什么。举个例子:对于一个的商品,他可能具有很多属性,包括它的各种性能参数,它的
2020-10-28 20:17:26 556 3
原创 VS+QT 双击ui文件无法用Designer打开的处理办法汇总
VS+QT 双击ui文件无法用Designer打开的处理办法汇总问题分类1. ui文件的默认打开方式不正确2. QtDesigner无法运行参考引用在转移不同设备上存储的QT源码时,发现在部分电脑上安装好的环境可以正常运行代码,但是双击ui文件无法用Designer打开,根据网上其他博主的帖子,特此进行问题及其处理办法汇总。问题分类1. ui文件的默认打开方式不正确很多时候,ui文件没有被Designer直接打开,可能是由于其打开方式没有关联到Designer上,需要按照一下步骤进行操作:右键u
2020-10-23 22:28:19 4080 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人