OpenCVSharp
易极
这个作者很懒,什么都没留下…
展开
-
微信二维码检测的C# 实现——opencvsharp Dnn Caffe推理部署
让深度学习助解码一臂之力原创 2021-09-16 21:25:14 · 2818 阅读 · 0 评论 -
使用海康威视SDK(MVS)&Basler.Pylon读取GigE相机到opencvsharp的Mat类型
在海康威视sdk的官方示例中加入opencvsharp读取图片数据到Mat类型。网上没找到这个方面的,自己研究了一下,其实关键代码就这句:Mat image = new Mat(FrameInfo.nHeight, FrameInfo.nWidth, MatType.CV_8U, pBufForDriver);理解了数据在内存中是什么样子就好了class GrabImage {...原创 2019-11-14 20:09:37 · 6912 阅读 · 0 评论 -
使用开源工具OpencvsharpHelper测试Hog + svm机器学习效果
关于OpencvsharpHelper原创 2021-06-11 16:10:51 · 1194 阅读 · 0 评论 -
解耦!解耦!漫谈 XAML 应用程序开源框架 Prism(二)模块
Prism是一个非常易用的框架,它不仅帮助我们方便地实现松耦合,就连它本身的各个知识点之间也是“松耦合”的,你不是非要等到完全清楚它的每一个知识点后才能使用它,我可以随意单独拎出一个来快速演示如何在项目中快速使用它,但一个更合理的顺序更有助于描绘它。知识的等级怎样的顺序才算是更合理呢?如果一个知识是从无到有的,能够填补一个空白,那这个知识就是高等级的,如果一个知识只是可以优化旧知识,那这个知识等级就相对较低。换一个说法,如果一个知识决定你能不能做到某事,就是高等级,如果只是能让你比原来做的更优雅原创 2021-05-09 19:51:18 · 361 阅读 · 0 评论 -
在C#中使用OpenCV 使用GOCW和opencvsharp,opencv和opencvsharp混合编程
看了一篇大神的文章在C#中使用OpenCV(使用GOCW)https://blog.csdn.net/jsxyhelu2015/article/details/111879116?spm=1001.2014.3001.5501讲了把opencv包装成c++/clr的方法,这样确实比使用opencvsharp多了许多优点,比如最新的opencv加入的微信扫码,opencvsharp就没有实现,用这个方法就能实现。但是小孩子才做选择,我当然全部都要!基于GOCW如果能实现opencv和opencvsh.原创 2021-04-09 23:52:35 · 1438 阅读 · 1 评论 -
OpenCVSharp 基于特征的图像拼接
拼接有多个意思,有的只是简单的两个图片怼成一张图,比如这样:怼成这样:OpenCVSharp 有这样的函数,简单说一下,就不上完整代码了://上下拼接 两图像宽度必须一样Cv2.VConcat(srcImg1, srcImg2, ret); //左右拼接 两图像高度必须一样Cv2.HConcat(srcImg1, srcImg2, ret);但多数时候,我们要拼接的图像们之间是有重合的部分,比如这样:对于这种场景,OpenCV...原创 2021-02-21 17:53:21 · 3280 阅读 · 7 评论 -
OpenCVSharp 灰度投影 向量约减
OpenCVSharp的Reduce函数(向量约减)和 Halcon的gray_projections(灰度投影原创 2021-02-03 15:28:16 · 813 阅读 · 0 评论 -
OpenCVSharp 分水岭算法
分水岭算法的原理大概就是在需要被区分的各个区域注入不同的颜色的水,这个水会染色它标志处的点,然后还会染色相邻的像素值差不多的点,不断漫延到像素值差异大的点停止。 public void Run() { Mat src = Cv2.ImRead("./Data/Image/lumu.jpg"); Console.WriteLine("用鼠标 标记前景,然后按键盘任意键。"); Cv2.ImSh原创 2021-01-31 18:24:09 · 762 阅读 · 0 评论 -
OpenCVSharp返回仿射变换后的完整图形
仿射变换后的图形如果还在原图框中显示,会有一部分显示不出来,这个函数的思路是计算原图的4个角转换后的位置,然后求最小外接矩,就得到了新图的大小,然后再看原点偏移在4个像限时的对齐方法,这里只是抛砖引玉一下,应该还有更好的方法。 /// <summary> /// 仿射变换 /// </summary> /// <param name="src">输入</par...原创 2021-01-30 18:57:16 · 529 阅读 · 0 评论 -
OpenCVSharp 小知识 Mat的序列化和反序列化
最近太忙,简单写写.OpenCVSharp提供了Mat的序列化和反序列化方法-----FileStorage类,下面简单演示用法, Mat src = new Mat(3, 3, MatType.CV_8UC1); Cv2.Randu(src, Scalar.All(0d), Scalar.All(255d)); Console.WriteLine("序列化:" ); Console.Write.原创 2020-12-15 22:16:15 · 1296 阅读 · 0 评论 -
【OpenCvSharp】求两直线的交点
原博客是opencv版本,转成opencvsharp非常方便 public static void Main() { Mat mat = new Mat(800, 800, MatType.CV_8UC3); Line2D l1 = new Line2D(100, 100, 100, 700); Line2D l2 = new Line2D(100, 700, 700, 100);.原创 2020-10-27 14:30:29 · 1349 阅读 · 0 评论 -
[OpenCvSHarp]小练习,计算仿射变换后的坐标
先用红点标出旋转中心的位置,用绿点标出转换前的位置变换之后,红圈圈出新的坐标改变旋转中心,角度,放大系数:结果:源码:public void Run() { Mat mat = new Mat(800, 800, MatType.CV_8UC3); //网络线 for (int i = 0; i <= 10; i++) {...原创 2020-10-26 23:17:57 · 1359 阅读 · 0 评论 -
OpenCVSharp 小练习 最大内接矩形
参考:https://blog.csdn.net/qq_35054151/article/details/88952728注意:这个可能不是最大内接矩形。输入图像:输出图像:代码: public void Main() { Mat src = Cv2.ImRead(FilePath.Image.Shapes, ImreadModes.AnyColor); Mat gray = new Ma..原创 2020-09-01 19:17:55 · 2579 阅读 · 0 评论 -
OpenCVSharp 小练习 最大内接圆
原图:代码: Mat src = Cv2.ImRead(FilePath.Image.Shapes); Mat gray = new Mat(); Mat binary = new Mat(); Cv2.CvtColor(src, gray, ColorConversionCodes.BGR2GRAY); Cv2.Threshold(gray, binary, 1, ..原创 2020-09-01 12:47:17 · 1694 阅读 · 0 评论 -
OpenCVSharp 小知识 2 点(Point)
代码: Mat mat = new Mat(600, 800, MatType.CV_8UC3); Point p1 = new Point(100, 100); Point p2 = new Point(400, 400); //画点 Cv2.Circle(mat, p1, 3, Scalar.Red, -1); Cv2.Circle(mat, p2, 3,原创 2020-09-01 10:26:24 · 2472 阅读 · 0 评论 -
OpenCVSharp 小知识 1 Mat 的格式化输出
Mat r =new Mat(5, 3, MatType. CV_8UC3); Cv2.Randu(r, Scalar.All(0d), Scalar.All(255d)); Console.WriteLine("直接输出:"); Console.WriteLine(r); Console.WriteLine("格式化输出:默认风格"); Console...原创 2020-08-31 22:39:02 · 1151 阅读 · 1 评论 -
[开源]OpenCVSharp工具
想用opencv做图像处理,无奈不会c++,幸好有opencvsharp,在学习过程中,发现需要一个工具来方便地看它的各个函数的处理效果,就想做一个。现在做出来个雏形,实现了部分功能。从gige相机采集图像,二值化等,下面用图片简单介绍一下。左区是源图像,可以从相机采集,也可以从电脑中选择图片,也可以从图片池中选择。图片可以加入图片池,源图像和处理结果,都可以加入,起个名字,点加入,然后就可以选择为源图像,供右区处理。处理区可以通过菜单调出需要的方法页面,配置相应的参数,执行方法,得到结果。原创 2020-08-15 21:32:45 · 6110 阅读 · 0 评论