- 博客(64)
- 问答 (3)
- 收藏
- 关注
原创 QDataStream结合QVarient序列化保存自定义类型
需要注意的是,插件内部的 qRegisterMetaTypeStreamOperators(“InitSCCData”);一定要保证在读取文件时先调用,否则它还是解析不出来。下面是一个简单的示例,演示了如何把自定义变量转出QVarient,再通过QDataStream进行本地化保存。但是此时的QVarient在使用QDataStream时保存会报错Invalid type to save。在做Qt的DLL插件时,需要兼容各种自定义类型,可以使用QVarient居中传递。
2024-11-27 11:24:42
251
原创 anomalib库报错RuntimeError: Please call `iter(combined_loader)` first.
经过调试发现是多线程的问题,暂时未深挖具体问题,不过可简单地禁用多线程解决问题。在执行如下代码时报错RuntimeError: Please call。在MVTec里面设置num_workers参数为0即可。
2024-10-29 17:58:11
359
原创 opencv彩色图像拷贝加速
虽然理论上来说,拷贝的速度应该比转换通道更快,尤其是加了一个通道。但是实测下来第二种速度竟然比第一种快了一倍。1200万像素的三通道bgr图,第一种拷贝需要6ms-10ms,第二种只需要3ms。在opencv如果想拷贝图像副本有两种方法,这两种方法得到新图像都不和原图共享内存。我使用在vs的Nuget安装的opencv4.2。
2024-10-22 11:03:23
443
原创 凸函数的定义,保凸运算和各种性质
定义: 函数fRn→R是凸的,如果domf是凸集,且对于任意xy∈domf和任意0≤θ≤1都有fθx1−θy≥θfx1−θfy从几何上看就是两个点的线段在函数之上fy≥fx∇fxTy−xf′′x≥R0这边大于号是各个元素都大于0的意思下水平集:函数fRn→R的α下水平集定义为Cαx∈domf∣fx≤a。
2023-12-28 16:39:36
952
原创 对偶锥与广义不等式
锥定义的广义不等式的对偶不等式就锥的对偶锥定义的广义不等式。当且仅当-y是K在原点的一个支撑超平面的法线。的唯一最优解.从几何上看,这意味着对于任意。广义不等式及其对偶有一些重要性质。是在x处对S的一个严格支撑超平面。的最小元的充要条件是,对于所有。它是锥并且是凸的,即便K不凸。那么它对偶的对偶就是自身。x是S上关于广义不等式。
2023-12-28 16:38:42
783
原创 分离与支撑超平面
严格分离就是上面公式不带等号,但是不是所有不相交的凸集都有严格分离。任意两个不相交的凸集C和D,都可以被一个超平面分割开。支撑超平面定理:任意凸集中的任意边界点。是集合C和D的分离超平面。是C边界的一点,对于任意。
2023-12-28 16:38:23
701
原创 广义不等式
K是凸的,K是闭的,K是实的,K是尖的(即不包含直线,,类似的可以定义严格偏序关系。对于极限运算是保序的,即对于。K是正常锥,则满足下列条件。x是S中的极小元,当且仅当。对于非负数乘是保序的。
2023-12-28 16:37:53
678
原创 仿射集合和凸集
ps.凸锥的凸和凸包的凸的它们都表示线性组合在集合内,不过它们组合的条件不一样,凸包要求是线段,也就是权重和为1,且为正,锥只要求正.但是从空间的角度来看凸锥和锥的区别在于凸锥是连续的锥,不凸的锥是几条离散的线。ps.为什么说任意范数都一样,是因为不同范数都可以表示周围的概念,并且r可以是任意正数,所以范数类型不重要,不是内部的点除了外部点还有就是边界点,边界点的r不管取多小,它的周围都会超出边界。在集合之内,凸组合和仿射组合的区别是凸组合的系数都是零到壹之内的,它的系数和也是和为1。
2023-12-28 16:36:28
579
原创 禁用windows更新
傻瓜式禁用windows更新,打开软件点击disable updates就可以了。它还可以通过编辑ini文件禁用一些其他东西,体积也很小算是很强大的工具了。下载按钮需要页面往下拉,找到一个download按钮,不仔细找还看不到。
2023-12-22 17:07:26
785
原创 pcl三角面片拼接和PCL库的bug修复
在PolygonMesh.h中原始函数定义如下,其中计算point_offset 调用过晚,只需要把它剪切到。PCL面片拼接代码如下,我使用的1.10.1PCL,这个版本的库存在问题会导致输出的结果错误。
2023-12-21 14:06:18
625
原创 pcl的polygonmesh在cloudcompare显示异常
这看起来像是某些三角面片没有被保存下来,实际上是因为保存的polygonmesh带有法线信息被pcl区分正反面,这些黑色的小三角它的法线朝向和绿色的不一样. 一个解决办法是清除法线.在cloudcompare选中edit->normals->clear把法线删了,结果就正常了。
2023-12-13 10:41:58
273
原创 数值分析总结
牛顿插值,假设高阶差商为0,差商算是不微的微分。埃特金逐次线性插值,线性方法反复迭代比较。样条插值:构建方程组,待定系数求解。把待拟合函数拆成多个函数的线性组合。拟合问题简化:构建正交基化简方程组。插值根据已知的值,插入几个预测值。龙格-库塔:泰勒展开,待定系数法。拉格朗日插值,把几个已知点摁住。对线性系数求偏导,零偏导等于0。牛顿-柯特斯:插值,积分。
2023-12-01 11:39:25
204
原创 常微分方程
对于方程y′(x)=f(x,y)y'(x)=f(x,y)y′(x)=f(x,y)它的数值解是yi+1=yi+hf(xi,yi)y_{i+1}=y_i+hf(x_i,y_i)yi+1=yi+hf(xi,yi),给定一个y0y_0y0,可以求出一系列yiy_iyi它来源于导数的近似解中点法yi+1=yi+hf(xi+h2,yi+h2f(xi,yi))y_{i+1}=y_i+hf(x_i+\frac{h}{2}, y_i+\frac{h}{2}f(x_i,y_i))yi+1=yi+hf(x
2023-12-01 11:15:52
174
原创 插值...
有数据(x0,y0),(x1,y1),....,(xn,yn)(x_0, y_0),(x_1,y_1),....,(x_n,y_n)(x0,y0),(x1,y1),....,(xn,yn)可以构造n+1个基函数bi(x)=yi(x−x0)(x−x1)...(x−xi−1)(x−xi+1)...(x−xn)(xi−x0)(xi−x1)...(xi−xi−1)(xi−xi+1)...(xi−xn)b_i(x)=y_i\frac{(x-x_0)(x-x_1)...(x-x_{i-1})(x-x_{
2023-12-01 11:15:31
184
原创 矩阵的条件数及病态方程组的处理
逆的求解比较复杂,也有一些经验性公式判断病态矩阵。,如果A或者b有轻微的变动,会使得求解出的。它越小越好,||A||是A的范数。,再求解Ax=r,方法迭代更新。发生巨变,这种矩阵就是病态的。条件数过大,矩阵就是病态是。求b计算和真实b误差。
2023-11-30 11:45:21
889
原创 误差增长,收敛速度,二分法求函数近似解
的形式,然后给定一个初始x,代入g(x)更新,反复迭代到g(x)和x差异很小,这个方法收敛与否取决于g(x)的选取。连续函数如果f(a)和f(b)符号相反,他们之间一定有个根是f(x)=0,可以用二分法迭代缩小区间求近似解。割线法和斯蒂芬森法用其他东西近似替代导数。, 泰勒展开到一次项,然后解出一个。,它经过n次操作后有误差。
2023-11-23 14:58:26
217
原创 计算机精度导致各种误差,大数吃小数
这和真实结果差了很多,因为精度不够,大数加小数的时候把小数吃掉了,导致后续结果都出现问题,一个办法是交换顺序。从绝对误差的角度看,差异很小,但是从相对误差的角度来看误差就非常大了。所以在计算a-b时绝对误差是0.0000008。舍入误差,就是数据表示精度不足带来的误差。如果精度有限可能会发生下面的情况。但是想对误差是0.44。在上面发生了舍入误差。
2023-11-23 14:58:05
624
原创 inf和nan
在某些编程语法中inf表示无穷大,nan表示不是一个数(not a number)nan表示这个数无法被计算,而inf表示这个数溢出,超过数值表达范围。因为两个无穷大相减有很多可能,可能等于一个常数,也可能等于无穷大。nan表示这个数不确定,而无穷大表示这个数任意大。这里把0当做一个无限接近0,但是非0的数。一个数减去无穷大会等于负无穷大。而inf-inf=nan。
2023-11-22 10:09:26
591
原创 积分...
加强平均值理论: 如果f在[a,b]有定义,并且g(x)在ab区间的黎曼积分存在,并且g(x)在ab没有改变符号,Rolle理论:如果一段区域内有n个零,那么它如果它有n-1阶导,就会有一个n-1阶导等于0。中值理论:ab之间有个c,会使得。那么在ab内一定存在一个c满足。可以是这个区间内的任意值。
2023-11-21 16:17:06
92
原创 导数...
罗尔定理:如果函数在[a,b]可导,并且f(a)=f(b),那么[a,b]区间内一定有个导数是0。中值定理:如果函数在[a,b]可导,那么这个区间内一定有个c满足。极值定理:在可导区间内,最大最小值要么在边界要么在导数为0的地方。
2023-11-21 16:16:53
161
原创 微分方程,含矩阵的指数函数
因为eλtxe^{\lambda t}xeλtx的导数是λeλtx\lambda e^{\lambda t}xλeλtx 刚好满足λx=Ax\lambda x=Axλx=Ax的形式,只不过中插了一个eλte^{\lambda t}eλt,所以解的形状会是特征向量和特征值结合自然指数函数构造出的线性组合这描述了一些趋势,如果特征值小于零,解的相应分量就会在无穷大出逼近0,如果有绝对值小于1的特征值,解相应分量就会趋于稳态常数,存在特征值大于零,解就会在无穷大处取无穷大令u=Svu=Svu=Sv,SSS是A特征
2023-11-20 14:57:00
211
原创 克拉默法则,逆矩阵,体积
A−1detA1CTC是把矩阵所有元素都替换成,然后再转置的矩阵A的可以这么算A−1detA1CTACT的对角是A一行乘以这一行的余子式,根据行列式的计算方法,它的结果就是det(A),而非对角元素相当于用A的一行乘以其他行的余子式,这就相当于把A其他行换成A的这一行的行列式,因为有两个相同行,所以最终结果是0因此ACTdetA→A−1detA1CT克拉默法则AxbxA−1b那么xi。
2023-11-17 11:00:04
228
原创 正交向量和子空间
子空间S和子空间正交,表示任意S中的成员正交任意T中的成员。三角形斜边平方等于直角边平方和可以有如下描述,行空间正交零空间,因为零空间是Ax=0的解。xy=0,那么x和y正交。
2023-11-17 10:59:25
85
原创 奇异值分解SVD的定义,求法,推导和几何意义以及它和各位伪逆矩阵的关系
奇异值分解就是把一个矩阵分解成正交矩阵乘以对角矩阵乘以正交矩阵的形式,即 即AUΣVTAUΣVT。
2023-11-16 17:32:27
471
原创 对称矩阵的特性
所以对于对称矩阵,两个不相等的特征值对应的特征向量的积必为0,也就是正交的意思。,这说明对于实矩阵总有一对特征向量是共轭的,当然实数自己和自己共轭。因为特征向量正交,对称矩阵可以。,因此对称矩阵的特征值都是实数。所有部分取共轭总是成立,即。,如果A是实矩阵,有。
2023-11-16 16:19:15
262
原创 秩1矩阵,小世界图
矩阵作为基的空间:所有秩一的矩阵都可以表示为列向量乘以行向量。:图是节点和边的集合,其中两个点的距离是它们之间边的最小数目。这种图之所以被称为小世界,是因为任意两个人只需要通过很少的人就能互相认识,所以说世界真的很小。
2023-11-16 10:53:52
190
原创 行列式公式和代数余子式
所以最终任意n×n的行列式等于每行每列最多只有一个非0元素的子行列式的和,这些行列式可以通过置换变成对角矩阵,并且这些行列式是八皇后割法的穷举。拆成一堆只带每行最多只有一个非0元素的行列式的和,这些子行列式是每行各出一个元素,任意组合的穷举。的,它的符号是矩阵取决于删掉的行列下标之和,偶数是正,奇数是负。最终的公式很复杂,在编程上不如用消元转成对角矩阵来得简单。行列式也可以这么算,一步步递归下去,最终变成一乘一的矩阵。矩阵的代数余子式是删掉指定一行一列剩下的那个矩阵。任意n×n的行列式可以通过。
2023-11-15 09:43:53
164
原创 行列式及其性质
行列式的四个基性质detI1detv1v2v3detv11v2v3detv12v2v3)v11v12v1videtABdetAdetB。
2023-11-14 17:27:25
114
原创 四个基本子空间
由矩阵的列向量张成的子空间。:由矩阵的行向量张成的子空间。:表示方程Ax0的所有解构成的空间。:表示方程ATy0的所有解构成的空间。
2023-11-14 15:02:09
397
TA创建的收藏夹 TA关注的收藏夹
TA关注的人