.net随笔-vb2015 调用 opencv

版权声明:本博客所有文章版权归博主刘兴所有,转载请注意来源 https://blog.csdn.net/AI_LX/article/details/88880260

有时你的代码需要非托管的资源,如文件句柄、 COM 包装器或 SQL 连接。 一个Using块确保一个或多个此类资源的释放你的代码完成与之时。 这使它们可用于其他代码使用。
托管的资源释放由.NET Framework 垃圾回收器 (GC) 而无需您采取任何额外的编码。 不需要Using托管资源的块。 但是,仍可以使用Using块以强制释放托管资源而不是等待垃圾回收器。
一个Using块都有三个部分: 获取、 使用情况和可供使用。
获取意味着创建变量并将其初始化,以便向系统资源,请参阅。 Using语句可以获取一个或多个资源,也可以在进入块之前获取恰好一个资源,其提供给Using语句。 如果你提供resourceexpression,必须在将控制权传递给之前获取资源Using语句。
使用情况意味着访问资源并使用它们执行操作。 之间的语句Using和End Using表示资源的使用。
处置方法调用Dispose方法中的对象上resourcename。 这允许要明确终止其资源的对象。 End Using语句释放的资源下Using块的控件。
首先安装

PM>Install-Package OpenCvSharp4.Windows -Version 4.0.1.20190326

然后,写个简单例子Canny边缘检测

Imports OpenCvSharp

Public Class Form1
    Private Sub Start(ByVal fileName As String)
        Using imgSrc As New Mat(fileName, ImreadModes.Color),
            imgGray As New Mat(imgSrc.Size, MatType.CV_8UC1),
            imgDst As Mat = imgSrc.Clone()
            Cv2.CvtColor(imgSrc, imgGray, ColorConversionCodes.BGR2GRAY, 0)

            Dim keypoints() = Cv2.FAST(imgGray, 50, True)

            For Each kp As KeyPoint In keypoints
                imgDst.Circle(kp.Pt, 3, Scalar.Red, -1, LineTypes.AntiAlias, 0)
            Next kp

            Cv2.ImShow("FAST", imgDst)
            Cv2.WaitKey(0)
            Cv2.DestroyAllWindows()
        End Using
    End Sub
    Private Sub showPict(ByVal fileName As String)
        ' Dim src As Mat = New Mat(fileName, ImreadModes.Grayscale)
        Dim src As Mat = Cv2.ImRead(fileName, ImreadModes.Grayscale)
        Dim dst As Mat = New Mat()

        Cv2.Canny(src, dst, 50, 200)
        Using (New Window("src image", src))
            Using (New Window("dst image", dst))
                Cv2.WaitKey()
            End Using
        End Using

    End Sub
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        OpenFileDialog1.Filter = "Image Files(*.BMP;*.JPG;*.GIF;*.PNG)|*.BMP;*.JPG;*.GIF;*.PNG"
        Dim fResult = OpenFileDialog1.ShowDialog() '打开文件选择框
        If fResult = DialogResult.OK Then
            Dim fileName As String = OpenFileDialog1.FileName '得到选择的文件
            showPict(fileName)
        End If
    End Sub
End Class

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/AI_LX/article/details/88880260