摘要: 如下图: 阅读全文
posted @ 2017-02-20 20:49 xh6300 阅读(5526) 评论(0) 推荐(1) 编辑
摘要: 以下图为例: 比如我想把面积第2小的那个“小正方形”选择出来,算法代码如下: 该实现算法的关键是对算子tuple_sort_index意思的理解。 代码中: Area := [420, 12922, 38019, 58, 2033] Indices := [3, 0, 4, 1, 2] tuple_ 阅读全文
posted @ 2017-02-19 23:23 xh6300 阅读(11935) 评论(0) 推荐(1) 编辑
摘要: 例一:毛刺在往外凸的面上 策略1:分割出黑色部分,然后通过开运算去掉毛刺,再通过原黑色部分区域减去开运算之后的区域,得到毛刺部分的区域。 可以看到,虽然毛刺被分割出来了,但是多出了4块干扰的区域。原因是执行opening_circle时,四个尖角被削平了。 开运算是先腐蚀再膨胀。腐蚀之后,毛刺被削没 阅读全文
posted @ 2017-02-14 13:53 xh6300 阅读(20473) 评论(3) 推荐(1) 编辑
摘要: Halcon中阈值二值化的算子众多,通常用得最多的有threshold、binary_threshold、dyn_threshold等。 threshold是最简单的阈值分割算子,理解最为简单;binary_threshold是自动阈值算子,它可以自动选出暗(dark)的区域,或者自动选出亮(lig 阅读全文
posted @ 2017-02-09 22:59 xh6300 阅读(18141) 评论(2) 推荐(4) 编辑
摘要: 基于形状的模板查找算子: find_shape_model(Image : : ModelID, AngleStart, AngleExtent, MinScore, NumMatches, MaxOverlap, SubPixel, NumLevels, Greediness : Row, Col 阅读全文
posted @ 2017-02-04 23:54 xh6300 阅读(4502) 评论(0) 推荐(1) 编辑
摘要: 对于异常,我们经常用try-catch语句来处理,一种常见的方式是在catch语句块用MessageBox.Show("异常")这种弹窗的方式来报告异常。但是有些时候,有些异常发生时我们不希望弹窗干扰用户,只是想要打印出异常信息查找原因、分析调试而已。 这时候常用的方法有:打印log将异常信息保存到 阅读全文
posted @ 2017-01-22 00:15 xh6300 阅读(9807) 评论(0) 推荐(1) 编辑
摘要: TCP/IP通讯情景: 用网线将计算机A(服务器Server)和计算机B(Client)连接起来。程序代码在计算机A中,计算机B中安装有TCP/IP通讯助手。 (图中屏幕大的是计算机A,屏幕小的笔记本是计算机B) 阅读全文
posted @ 2017-01-16 22:15 xh6300 阅读(1273) 评论(0) 推荐(0) 编辑
摘要: 1、变焦和对焦有什么区别? 变焦就是改变镜头的焦距(准确说是像距),以改变拍摄的视角,也就是通常所说的把被摄体拉近或推远。例如18-55mm和70-200mm镜头就是典型的变焦镜头。焦距越长,视角越窄。 对焦通常指调整镜片组和底片(传感器平面)之间的距离,从而使被摄物在CCD/CMOS上成的像清晰。 阅读全文
posted @ 2016-11-30 22:35 xh6300 阅读(5483) 评论(5) 推荐(5) 编辑
摘要: 阅读全文
posted @ 2016-11-30 14:31 xh6300 阅读(9967) 评论(1) 推荐(1) 编辑
摘要: 1、Develop dev_display 在现有图形窗口中显示图像目标。 dev_set_color 设置一个或更多输出颜色,通常用于设置region或者xld的颜色。 dev_set_draw 定义区域填充模式,可选项有fill和margin dev_set_line_width 定义区域轮廓输 阅读全文
posted @ 2016-11-26 19:49 xh6300 阅读(12565) 评论(0) 推荐(2) 编辑
摘要: 看到zealer上面有介绍MarkDown的,以前在老罗的发布会也听说过,说锤子便签支持MarkDown,但是不知道有什么用,现在来看看,确实不错。 MarkDown的好处是让你可以专注于写字本身,而不需要经常动鼠标或者动手指去排版。 我在网上找到了一个MarkDown简单语法的介绍文章,我花了半个 阅读全文
posted @ 2016-11-25 23:58 xh6300 阅读(830) 评论(0) 推荐(0) 编辑
摘要: 随着程序复杂度的提高,程序不可避免会出现多个线程,此时就很可能存在跨线程操作控件的问题。 跨线程操作UI控件主要有三类方式: 1、禁止系统的线程间操作检查。(此法不建议使用) 2、使用Invoke(同步)或者BeginInvoke(异步)。(使用委托实现,并用lambda表达式简化代码) 3、使用B 阅读全文
posted @ 2016-11-15 22:33 xh6300 阅读(8117) 评论(2) 推荐(1) 编辑
摘要: 创建一个Winform窗体应用程序项目,然后添加一个Form2窗体。 在Form1和Form2中各添加一个textBox和button: 单击Form1中的button1,弹出Form2,然后要做的就是在Form1中的textBox1和Form2中的textBox2中传值。 为了方便起见,将Form 阅读全文
posted @ 2016-11-14 22:00 xh6300 阅读(99709) 评论(4) 推荐(23) 编辑
摘要: 一、先放一些相关的结论: 1、傅里叶变换的幅值称为傅里叶谱或频谱。 2、F(u)的零值位置与“盒状”函数的宽度W成反比。 3、卷积定理:空间域两个函数的卷积的傅里叶变换等于两个函数的傅里叶变换在频率域中的乘积。f(t)*h(t) <=> H(u)F(u) 4、采样定理:如果以超过函数最高频率的两倍的 阅读全文
posted @ 2016-10-13 14:58 xh6300 阅读(60710) 评论(5) 推荐(9) 编辑
摘要: 说明: 1、所使用的Emgu CV是目前的最新版本3.1.0,下载链接为:https://sourceforge.net/projects/emgucv/files/emgucv/3.1.0/(我选的下载量最多的那个版本,40.3MB) 2、经测试,在VS 2012中调用Emgu CV进行编程,不需 阅读全文
posted @ 2016-10-09 13:59 xh6300 阅读(7847) 评论(0) 推荐(2) 编辑
摘要: 网上经常看到用正则表达式校验数据的文章,有的虽然总结得很全,但是大多数都没有经过严格验证,错误较多。 本文包含三十余条不同格式数据校验的C#正则表达式,一般均附有说明,且在Visual Studio里面跑过。 正则表达式基本规则对照表: 推荐一个不错的网站:在线正则表达式测试 /*说明:1、下面的正 阅读全文
posted @ 2016-10-07 23:45 xh6300 阅读(7610) 评论(0) 推荐(0) 编辑
摘要: 本文中用C#来操作Word,包括: 创建Word; 插入文字,选择文字,编辑文字的字号、粗细、颜色、下划线等; 设置段落的首行缩进、行距; 设置页面页边距和纸张大小; 设置页眉、页码; 插入图片,设置图片宽高以及给图片添加标题; 插入表格,格式化表格,往表格中插入数据; 保存Word,打印Word; 阅读全文
posted @ 2016-09-28 11:35 xh6300 阅读(113536) 评论(18) 推荐(16) 编辑
摘要: 读配置文件与写配置文件的核心代码如下: 1 [DllImport("kernel32")] 2 // 读配置文件方法的6个参数:所在的分区(section)、键值、 初始缺省值、 StringBuilder、 参数长度上限、配置文件路径 3 private static extern int Get 阅读全文
posted @ 2016-09-22 11:55 xh6300 阅读(5329) 评论(0) 推荐(1) 编辑
摘要: 注:本篇随笔无甚意义,当时为了摸索博客园怎么用随便写的,如果说它有什么意义,那就是它较准确地记录了我开博的起始时间。 阅读全文
posted @ 2016-08-02 09:06 xh6300 阅读(567) 评论(2) 推荐(1) 编辑