2、通过NuGet安装OpenCVSharp4包
3、编码,实现我们的第一个小程序,读取一张图片,并展示之
编译运行,F5,我们会看到
看报错信息,我返携们知道是有cpp的dll找不到。我们打开Github,搜索项目OpenCvSharp,找到下图标记
编译成功之后,到bin/debug目录下会缓纯看到
再次运行,会看到
至此,OpenCVSharp4的hello world完成。
为了解决在Csharp下编写OpenCV程序的问题,我做过比较深入的裂谨谨研究,并且实现了高效可用的方法(GOCW);这几天在搜集资料的时候,偶尔看见了OpenCVSharp,从时间上来看,它已经经过了更久的发展,应该有许多直接借鉴、或者直接使用的地方。OpenCVSharp有一名日本工程师开发,
项目地址为: https://github.com/shimat/opencvsharp 。
其是OpenCV的.NET wrapper,它比Emgucv更接近于原始的OpenCV,并且有很多的样例参考,其采用LGPL发行,对商业应用友好(基本上相当于BSD)。
src:源图像,可以为8位的灰度图,也可以为32位的彩色图像。
dst:输出晌高图像
thresh:阈值
maxval:dst图像中最大值
type:阈值类型,可以具体类型如下:
第一个参数image,Input image 表示输入图像,必须为单通道灰度图
第二个参数edges,Image to store the edges found by the function 表示输出的边缘图像,为单通道黑白图
第三个参数threshold1,The first threshold
第四个参数threshold2,The second threshold.
第三个参数和第四个参数表示阈值,这二个阈值中当中的小阈值用来控制边缘连接,大的阈值用来控制强边缘的初始分割,即如果一个像素的梯度大与上限值,则被认为是边缘肆基像素,如果小于下限阈值,则被抛弃。如果该点的梯度在两者之间则当这个点与高于上限值的像素点连接时我们才保留,否则删除。
第五个参数aperture,Aperture parameter for Sobel operator
表示Sobel 算子大小,默认为3即表示一个3*3的矩阵。Sobel 算子与高斯拉普拉斯算子都是常用的边缘算子,详细的数学原理可以查阅专业书籍。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)