版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。
教程VB.net版本请访问: EmguCV学习笔记 VB.Net 目录-CSDN博客
教程C#版本请访问: EmguCV学习笔记 C# 目录-CSDN博客
笔者的博客网址:https://blog.csdn.net/uruseibest
教程配套文件及相关说明以及如何获得pdf教程和代码(博客上的教程内容会和pdf教程一致,教程中也会包含所有代码),请移步:EmguCV学习笔记****
3.2 矩形
使用Cvinvoke的Rectangle方法绘制矩形,定义如下:
Public Shared Sub Rectangle(img As Emgu.CV.IInputOutputArray, rect As System.Drawing.Rectangle, color As Emgu.CV.Structure.MCvScalar, Optional thickness As Integer = 1, Optional lineType As Emgu.CV.CvEnum.LineType = 8, Optional shift As Integer = 0)
参数说明(其余参数请参考Line方法):
- rect:要绘制的矩形区域。
- thickness:轮廓线宽,需要注意的是,如果为负值(不论大小),那么就填充该形状。
【代码位置:frmChapter3】Button2_Click
'绘制矩形
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim mcs1 As New MCvScalar(0, 0, 255)
Dim mcs2 As New MCvScalar(0, 255, 0)
Dim rec As New Rectangle(100, 100, 200, 100)
'边框线宽3
CvInvoke.Rectangle(mbg, rec, mcs1, 3)
'填充内部
CvInvoke.Rectangle(mbg, rec, mcs2, -1)
ImageBox1.Image = mbg
End Sub
代码绘制了2个矩形,其中一个只显示边框,另外一个是填充了内部。运行后如下图所示:
图3-2 绘制矩形