- 博客(229)
- 资源 (1)
- 收藏
- 关注
转载 C#的反射机制
反射是C#中的一项强大功能,允许程序在运行时动态获取类型信息、访问和操作对象成员。通过反射,程序可以在不预先知道类型的情况下,查看、使用和修改程序集中的代码。反射的核心组件包括System.Type类和System.Reflection命名空间,它们提供了访问元数据的能力。常见的反射操作包括获取类型信息、动态创建对象实例、调用方法、访问和修改字段与属性等。反射广泛应用于插件系统、序列化、依赖注入和单元测试等场景。然而,反射操作通常比直接方法调用慢,且可能增加内存使用,因此在使用时需注意性能优化,如缓存反射结
2025-05-21 09:01:58
9
原创 WPF 中鼠标坐标系的一些转换
1. 实时获取鼠标相对某一控件的相对坐标关系。3. 获取子控件相对父控件的位置坐标。2. 鼠标与屏幕坐标系的获取。
2024-12-07 09:39:22
314
原创 C# AutoResetEvent ManualResetEvent Mutex 对比
三个函数功能类似,都是线程同步的主要函数。但在使用上有一些差别。关于代码的使用,帖子很多。形象的用图来描述一下。
2024-09-16 15:46:11
578
转载 Matlab的filtfilt函数解析
传统滤波(如Matlab的filter函数)会造成信号的延迟,延迟程度与滤波器的阶次有关,为了解决延迟问题,Matlab提供了filtfilt函数,该方法一般称为零相位滤波或双向滤波。本文的目的是对Matlab中的filtfilt函数原理进行解析,并在C++中实现。
2023-09-21 21:57:18
3587
5
转载 高斯-牛顿算法
指因变量与自变量之间的关系不是线性的关系,比如平方关系、对数关系、指数关系、三角函数关系等等。对于此类方程,求解n元实函数f在整个n维向量空间Rn上的最优值点往往很难得到精确解,经常需要求近似解问题。求解该最优化问题的方法大多是逐次一维搜索的迭代算法,基本思想是在一个近似点处选定一个有利于搜索方向,沿这个方向进行一维搜索,得到新的近似点。如此反复迭代,知道满足预定的精度要求为止。需要用目标函数的到函数,又称最速下降法,是早期的解析法,收敛速度较慢收敛速度快,但不稳定,计算也较困难。
2023-08-25 16:53:20
7215
2
转载 十分简明易懂的FFT(快速傅里叶变换)
快速傅里叶变换 (fast Fourier transform),即利用计算机计算离散傅里叶变换(DFT)的高效、快速计算方法的统称,简称FFT。快速傅里叶变换是1965年由J.W.库利和T.W.图基提出的。采用这种算法能使计算机计算离散傅里叶变换所需要的乘法次数大为减少,特别是被变换的抽样点数N越多,FFT算法计算量的节省就越显著。是离散傅氏变换(DFT)的快速算法。即为快速傅氏变换。它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。——百度百科,中文名快速傅里叶变换。
2023-07-15 22:09:53
42723
16
原创 傅里叶级数简介
任取两个不同三角函数元素,它们的乘积在[−π,π]上的定积分等于零。举例说明一共有如下四种情况(将函数f(x) 用 sin(x) + cos(x) 的形式表示出来的方式就是傅里叶级数。即,我们将直角坐标系上的函数曲线 f(x) 转移到了以sin cos 为底的坐标系中。此时,傅里叶级数的所有参数均可求得,对于需要展开的f(x),可以写成。由求解an的方式可知,在等式两边同乘sin(kx)可求得。我们对表达式两边在[−π,π]上求积分,得到。这时,我们就可以吧符合条件的f(x) 写成。
2023-06-11 13:37:34
1548
转载 字符串快速匹配算法 KMP
像上边的例子,我们已经不可能找到[ A,B,A,B ]这个最长的后缀串了,但我们还是可能找到[ A,B ]、[ B ]这样的前缀串的。所以这个过程像不像在定位[ A,B,A,C ]这个串,当C和主串不一样了(也就是k位置不一样了),那当然是把指针移动到next[k]啦。因为在P的每一个位置都可能发生不匹配,也就是说我们要计算每一个位置j对应的k,所以用一个数组next来保存,next[j] = k,表示当T[i]!像上图这种情况,j已经在最左边了,不可能再移动了,这时候要应该是i指针后移。
2023-05-17 14:51:35
255
原创 C# PropertyGrid 简单使用
2. 通过Enum.ToString()实现,将String[] 变为 Enum,通过 Enum 实现下拉框。常用属性 PropertyGrid 中已经封装了下拉框属性。1. 通过继承重写 StringConverter 函数。2. 根据字段封装顺序。
2023-03-01 23:26:55
6889
转载 MySQL 有这一篇就够
前言知识无底,学海无涯,到今天进入MySQL的学习4天了,知识点虽然简单,但是比较多,所以写一篇博客将MySQL的基础写出来,方便自己以后查找,还有就是分享给大家。一、SQL简述1.SQL的概述Structure Query Language(结构化查询语言)简称SQL,它被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准,后被国际化标准组织(ISO)采纳为关系数据库语言的国际标准。数据库管理系统可以通过SQL管理数据库;定义和操作数据,维护数据的完整性和安全性。2.SQL的优点。
2022-11-18 10:13:39
259
原创 空间三维坐标系对齐
/*坐标系转换 格式必须是 n行3列 每行 x y z double类型DatasetFrom = 需要变换的坐标系DatasetTo = 目标坐标系DatasetTransResult = 转换结果nArraySize = 数组大小*/void Vision::ComputeR_T(cv::Mat DatasetFrom, cv::Mat DatasetTo, cv::Mat & DatasetTransResult, cv::Mat & matR, cv::Ma...
2022-02-28 17:49:15
3270
2
原创 机械手基坐标系和工具坐标系的相互转换
机械手基坐标系和工具坐标系的相互转换,主要是通过欧拉角来完成的。double D2R(double D){ return D / 180 * M_PI;}double R2D(double R){ return R / M_PI * 180;}void Rx(cv::Mat& mat, double dAngel){ mat = cv::Mat(3, 3, CV_64FC1); double dAngle_ = D2R(dAngel); mat.at<d
2022-02-28 17:34:42
6235
转载 【TensorFlow】理解tf.nn.conv2d方法 ( 附代码详解注释 )
最近在研究学习TensorFlow,在做识别手写数字的demo时,遇到了tf.nn.conv2d这个方法,查阅了官网的API 发现讲得比较简略,还是没理解。google了一下,参考了网上一些朋友写得博客,结合自己的理解,差不多整明白了。方法定义tf.nn.conv2d (input, filter, strides, padding, use_cudnn_on_gpu=None, data_format=None, name=None)参数:input : 输入的要做卷积的图片,要求为一个张量
2022-02-11 09:37:31
692
转载 动态时间规整算法(DTW)原理及代码实现
Dynamic Time Warping(DTW)动态时间规整算法Dynamic Time Warping(DTW)是一种衡量两个时间序列之间的相似度的方法,主要应用在语音识别领域来识别两段语音是否表示同一个单词。1. DTW方法原理在时间序列中,需要比较相似性的两段时间序列的长度可能并不相等,在语音识别领域表现为不同人的语速不同。而且同一个单词内的不同音素的发音速度也不同,比如有的人会把“A”这个音拖得很长,或者把“i”发的很短。另外,不同时间序列可能仅仅存在时间轴上的位移,亦即在还原位移的情
2022-02-09 14:38:34
10028
转载 [C#]TreeView单选模式的实现
一、需求使TreeView实现单选模式二、实现1、TreeView控件属性CheckBoxes设置为True2、为TreeView添加AfterCheck事件,并在事件中调用如下方法/// <summary>/// 树形框-单选模式的实现,放在事件 _AfterCheck下/// </summary>/// <param name="tv"></param>/// <param name="e"></param&
2022-02-07 17:05:10
1248
原创 ZedGraph 手动 Set Scale to Default 功能
GraphPane myPane = zedGraphControl1.GraphPane;zedGraphControl1.ZoomOutAll(myPane);zedGraphControl1.Refresh();
2022-01-26 17:47:25
558
原创 ZedGraph 鼠标右键菜单栏编辑
1. 控件 - 属性 - ContextMenuBuilder 事件进入消息。每次点击鼠标右键时都会相应这个消息。2. 在消息里可以禁用鼠标邮件的菜单栏、中英文转换等。具体可以Debug查看下。我这里是禁用了 Set Scale to Default 功能。private void zedGraphControl1_ContextMenuBuilder(ZedGraphControl sender, ContextMenuStrip menuStrip, Point mousePt, ZedGra
2022-01-26 17:46:06
740
3
原创 Mil学习之图片的ROI获取及半透膜掩膜效果着色
只对地球部分着色用到Blob Buf Image几个部分MIL_ID MImageSrc = 0;MIL_ID MImageMask = 0;MIL_ID MImageGray = 0;ReadColorImage("C:\\Users\\kakie\\Desktop\\Image\\75.bmp", ref MImageSrc);MIL.MbufClone(MImageSrc, MIL.M_DEFAULT, MIL.M_DEFAULT, MIL.M_DEFAULT, MIL.M_D...
2022-01-23 11:31:06
673
原创 Mil学习之Mim的简单操作
1. 旋转矩形区域的矫正MIL.MbufAllocColor(MilSystem, MIL.MbufInquire(MilImage, MIL.M_SIZE_BAND, MIL.M_NULL), nWidth, nHeight, 8 + MIL.M_UNSIGNED, MIL.M_IMAGE + MIL.M_PROC + MIL.M_DISP, ref MilImageTmp);MIL.MimRotate(MilImage, MilImageTmp, -rectAngl
2021-12-01 21:23:52
3072
转载 二次曲线拟合
解此方程得到在均方误差最小意义下的拟合函数p(x),上述方程组称为多项式拟合的法方程,法方程的系数矩阵是对称的。当拟保多项式阶n>5时,法方程的系数矩阵是病态的,在计算中要用双精度或者一些特殊算法以保护解得准确性。示例:给定一组数据,用二次多项式函数拟合这组数据散点图如下所示:程序如下:#############################################Edit by wd,2013,4,16#######################...
2021-11-04 16:50:50
8355
转载 ZedGraph控件常用方法和属性总结
最近在WPF使用ZedGraph控件,发现这个控件的功能很强大,据说采用了双缓冲机制来绘制图,只要控制好显示的帧速,能够显示速度较快的动态图。参考:https://blog.csdn.net/qq_26093511/article/details/513290591、常用属性设置 zedGraphControl2.IsShowPointValues = true; //鼠标经过图表上的点时是否气泡显示该点所对应的值 zedGraphControl
2021-11-04 16:48:15
1662
中心矩原点矩Hu矩Zernike矩的介绍
2018-08-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人