![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C# EMGU学习
临山君客
这个作者很懒,什么都没留下…
展开
-
VS2019 Emgu CV环境搭建
C/C++中用的是OpenCV,而C#里用的则是EmguCV。EmguCV是使用.NET编程语言(C#)对OpenCV函数进行了封装,使其可以在.NET平台上调用OpenCV的功能。对于刚开始接触EmguCV的人来说,如果配置不好会有异常。经过网上查找资料并实践,我目前已解决报错问题,下面把环境搭建过程写出来供大家参考。我电脑是Win10 64位家庭版,EmguCV版本是libemgucv-w...原创 2019-10-18 23:17:10 · 4560 阅读 · 0 评论 -
C# EMGU 3.4.1学习笔记(六)综合示例:边缘检测
本示例是《OpenCV3编程入门》中7.1.6的综合示例的C# + EMGU 3.4.1版,在这个示例程序中,分别演示了canny边缘检测、sobel边缘检测、Laplacian算子,scharr滤波器的使用,经过详细注释的代码如下:using System;using System.Collections.Generic;using System.ComponentModel;usi...原创 2018-09-22 22:36:21 · 1946 阅读 · 1 评论 -
C# EMGU 3.4.1学习笔记(十二)示例程序:直方图均衡化(彩色图像)
本示例是《OpenCV3编程入门》中7.5.3中的示例程序的C# + EMGU 3.4.1版,演示了如何用EqualizeHist()函数进行图像的直方图均衡化。原书代码仅演示了对灰度图像的直方图均衡化,对此我做了一些改变,从而可对彩色图像进行直方图均衡化。彩色图像的直方图均衡化说明由于opencv自带的函数是对灰度图像进行直方图均衡化的,所以在需要对彩色图像进行直方图均衡化时,不可直...原创 2018-09-26 21:53:21 · 2037 阅读 · 0 评论 -
C# EMGU 3.4.1学习笔记(十一)示例程序:仿射变换
本示例是《OpenCV3编程入门》中7.4.5中的示例程序的C# + EMGU 3.4.1版,演示了以WarpAffine和GetRotationMatrix2D函数为核心的对图像进行仿射变换的操作。using System;using System.Collections.Generic;using System.Linq;using System.Text;using Syste...原创 2018-09-26 16:41:30 · 2281 阅读 · 1 评论 -
C# EMGU 3.4.1学习笔记(五)示例程序:基本阈值操作
本示例是《OpenCV3编程入门》中6.7.3的示例程序的C# + EMGU 3.4.1版,比较简单,代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;usin...原创 2018-09-20 23:16:18 · 404 阅读 · 0 评论 -
C# EMGU 3.4.1学习笔记(十)综合示例:实现多种重映射
本示例是《OpenCV3编程入门》中7.3.4中的综合示例程序的C# + EMGU 3.4.1版,演示了重映射函数remap的用法,并可以通过按键控制四种不同的映射模式。其中要变换的四种模式如下:1. 图像宽高缩小一半,并居中显示:映射方法函数h(i,j) = (2 * j - src.cols / 2 + 0.5, 2 * i - src.rows / 2 + 0.5),所有成对的参...原创 2018-09-26 11:42:53 · 587 阅读 · 0 评论 -
C# EMGU 3.4.1学习笔记(九)示例程序:基本重映射
本示例是《OpenCV3编程入门》中7.3.2中的示例程序的C# + EMGU 3.4.1版,这个示例演示了重映射函数remap的用法,与C++ OpenCv的版本相比,有如下几点需要注意:1. C# EMGU中,不能用类似map_x.at<float>(i,j)的形式遍历mat中的元素;2. 为了实现mat元素的遍历,替代的方法是,首先获得mat变量的首地址(指针),然后通过...原创 2018-09-25 23:40:32 · 713 阅读 · 1 评论 -
C# EMGU 3.4.1学习笔记(八)示例程序:霍夫圆变换HoughCircles函数
霍夫圆变换的基本思路是认为图像上每一个非零像素点都有可能是一个潜在的圆上的一点,跟霍夫线变换一样,也是通过投票,生成累积坐标平面,设置一个累积权重来定位圆。在笛卡尔坐标系中圆的方程为:其中(a,b)是圆心,r是半径,也可以表述为:即:所以在abr组成的三维坐标系中,一个点可以唯一确定一个圆。 而在笛卡尔的xy坐标系中经过某一点的所有圆映射到abr坐标系中就是一条三维...原创 2018-09-24 18:08:32 · 3235 阅读 · 1 评论 -
C# EMGU 3.4.1学习笔记(七)示例程序:标准霍夫变换HoughLines函数
本示例是《OpenCV3编程入门》中7.2.4的示例程序的C# + EMGU 3.4.1版,关于C# EMGU中的霍夫变换,有如下几点需要注意:1. HoughLines函数检测出来的不是线段,而是(ρ,θ)对,在C++ OpenCv中,使用std::vector<Vec2f> lines来存放,而在C# EMGU中,则用EMGU.CV.Util.VectorOfPointF li...原创 2018-09-23 22:33:10 · 4120 阅读 · 4 评论 -
C# EMGU 3.4.1学习笔记(四)综合示例:漫水填充
本示例是《OpenCV3编程入门》中6.5.4的示例程序的C# + EMGU 3.4.1版,和C++程序相比,有以下几点不同:1. 使用winform实现,主要控件有:MenuStrip(用于显示程序操作说明),ImageBox(用于显示图片),RichTextBox(用于记录并显示程序操作过程),TrackBar(用于变更负差最大值和正差最大值)。2. 使用KeyDown事件,实现键盘按...原创 2018-09-17 16:29:48 · 1489 阅读 · 0 评论 -
C# EMGU 3.4.1学习笔记(三)综合示例:形态学滤波(腐蚀/膨胀、开运算/闭运算、顶帽运算/黑帽运算)
以下是《OpenCV3编程入门》中6.4.9的示例程序的C# + EMGU 3.4.1版:有任何问题或疑问,欢迎交流探讨。using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Lin...原创 2018-09-03 00:04:48 · 1937 阅读 · 0 评论 -
C# EMGU 3.4.1学习笔记(二)XML和YAML文件的写入
以下是《OpenCV3编程入门》中5.6.3的示例程序的C# + EMGU 3.4.1版,和C++程序相比,有如下几点不同:1. 使用Matrix<>存储多维数组,多维数组的各维需要使用{}扩起来,之间用逗号分隔;2. C#中无法使用<<和>>实现流的输入和输出,对应于<<的是Insert和Write函数,Insert函数只能插入string...原创 2018-09-01 07:20:00 · 719 阅读 · 1 评论 -
C# EMGU 3.4.1学习笔记(一)离散傅里叶变换
最近在学习OpenCV3编程入门(毛星云编著)这本书,书中的示例都是用C++写的,而自己用的是C#,配合EMGU 3.4.1版本,网上的资料非常非常少,很多时候遇到问题,都找不到解决方法。为了记录自己的学习过程,也为了后来的学习者能有资料参考,在此分享自己转化后的C# EMGU3.4.1版本的代码。下面是原书中5.5.8章节的一个示例程序:离散傅里叶变换,我用C#配合EMGU 3.4.1.29...原创 2018-08-29 10:51:43 · 3159 阅读 · 3 评论