增加画二维码的识别区域

master
lhiven 1 year ago
parent dad9e55ad1
commit e38dffce30

@ -105,6 +105,7 @@
this.btnGrab = new System.Windows.Forms.Button(); this.btnGrab = new System.Windows.Forms.Button();
this.btnLoadImage = new System.Windows.Forms.Button(); this.btnLoadImage = new System.Windows.Forms.Button();
this.btnGrabContinue = new System.Windows.Forms.Button(); this.btnGrabContinue = new System.Windows.Forms.Button();
this.btnDrawBarCode = new System.Windows.Forms.Button();
this.panelEx3.SuspendLayout(); this.panelEx3.SuspendLayout();
this.panelEx7.SuspendLayout(); this.panelEx7.SuspendLayout();
this.groupBox7.SuspendLayout(); this.groupBox7.SuspendLayout();
@ -776,6 +777,7 @@
// groupBox3 // groupBox3
// //
this.groupBox3.Controls.Add(this.btnDrawRectangle2); this.groupBox3.Controls.Add(this.btnDrawRectangle2);
this.groupBox3.Controls.Add(this.btnDrawBarCode);
this.groupBox3.Controls.Add(this.btnDrawAny); this.groupBox3.Controls.Add(this.btnDrawAny);
this.groupBox3.Controls.Add(this.btnDrawCircle); this.groupBox3.Controls.Add(this.btnDrawCircle);
this.groupBox3.Dock = System.Windows.Forms.DockStyle.Top; this.groupBox3.Dock = System.Windows.Forms.DockStyle.Top;
@ -791,9 +793,9 @@
// //
this.btnDrawRectangle2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(56)))), ((int)(((byte)(56)))), ((int)(((byte)(56))))); this.btnDrawRectangle2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(56)))), ((int)(((byte)(56)))), ((int)(((byte)(56)))));
this.btnDrawRectangle2.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnDrawRectangle2.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnDrawRectangle2.Location = new System.Drawing.Point(17, 20); this.btnDrawRectangle2.Location = new System.Drawing.Point(12, 20);
this.btnDrawRectangle2.Name = "btnDrawRectangle2"; this.btnDrawRectangle2.Name = "btnDrawRectangle2";
this.btnDrawRectangle2.Size = new System.Drawing.Size(75, 23); this.btnDrawRectangle2.Size = new System.Drawing.Size(55, 23);
this.btnDrawRectangle2.TabIndex = 8; this.btnDrawRectangle2.TabIndex = 8;
this.btnDrawRectangle2.Text = "画矩形"; this.btnDrawRectangle2.Text = "画矩形";
this.btnDrawRectangle2.UseVisualStyleBackColor = false; this.btnDrawRectangle2.UseVisualStyleBackColor = false;
@ -803,9 +805,9 @@
// //
this.btnDrawAny.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(56)))), ((int)(((byte)(56)))), ((int)(((byte)(56))))); this.btnDrawAny.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(56)))), ((int)(((byte)(56)))), ((int)(((byte)(56)))));
this.btnDrawAny.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnDrawAny.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnDrawAny.Location = new System.Drawing.Point(239, 20); this.btnDrawAny.Location = new System.Drawing.Point(162, 20);
this.btnDrawAny.Name = "btnDrawAny"; this.btnDrawAny.Name = "btnDrawAny";
this.btnDrawAny.Size = new System.Drawing.Size(75, 23); this.btnDrawAny.Size = new System.Drawing.Size(55, 23);
this.btnDrawAny.TabIndex = 8; this.btnDrawAny.TabIndex = 8;
this.btnDrawAny.Text = "任意"; this.btnDrawAny.Text = "任意";
this.btnDrawAny.UseVisualStyleBackColor = false; this.btnDrawAny.UseVisualStyleBackColor = false;
@ -815,9 +817,9 @@
// //
this.btnDrawCircle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(56)))), ((int)(((byte)(56)))), ((int)(((byte)(56))))); this.btnDrawCircle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(56)))), ((int)(((byte)(56)))), ((int)(((byte)(56)))));
this.btnDrawCircle.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnDrawCircle.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnDrawCircle.Location = new System.Drawing.Point(128, 20); this.btnDrawCircle.Location = new System.Drawing.Point(87, 20);
this.btnDrawCircle.Name = "btnDrawCircle"; this.btnDrawCircle.Name = "btnDrawCircle";
this.btnDrawCircle.Size = new System.Drawing.Size(75, 23); this.btnDrawCircle.Size = new System.Drawing.Size(55, 23);
this.btnDrawCircle.TabIndex = 8; this.btnDrawCircle.TabIndex = 8;
this.btnDrawCircle.Text = "画圆"; this.btnDrawCircle.Text = "画圆";
this.btnDrawCircle.UseVisualStyleBackColor = false; this.btnDrawCircle.UseVisualStyleBackColor = false;
@ -1035,6 +1037,18 @@
this.btnGrabContinue.UseVisualStyleBackColor = false; this.btnGrabContinue.UseVisualStyleBackColor = false;
this.btnGrabContinue.Click += new System.EventHandler(this.btnGrabContinue_Click); this.btnGrabContinue.Click += new System.EventHandler(this.btnGrabContinue_Click);
// //
// btnDrawBarCode
//
this.btnDrawBarCode.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(56)))), ((int)(((byte)(56)))), ((int)(((byte)(56)))));
this.btnDrawBarCode.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnDrawBarCode.Location = new System.Drawing.Point(237, 20);
this.btnDrawBarCode.Name = "btnDrawBarCode";
this.btnDrawBarCode.Size = new System.Drawing.Size(71, 23);
this.btnDrawBarCode.TabIndex = 8;
this.btnDrawBarCode.Text = "二维码";
this.btnDrawBarCode.UseVisualStyleBackColor = false;
this.btnDrawBarCode.Click += new System.EventHandler(this.btnDrawBarCode_Click);
//
// CameraTemplate // CameraTemplate
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
@ -1151,5 +1165,6 @@
private System.Windows.Forms.Label label15; private System.Windows.Forms.Label label15;
private System.Windows.Forms.ComboBox cboxCamera; private System.Windows.Forms.ComboBox cboxCamera;
private System.Windows.Forms.ComboBox comboBox1; private System.Windows.Forms.ComboBox comboBox1;
private System.Windows.Forms.Button btnDrawBarCode;
} }
} }

@ -21,6 +21,12 @@ using static System.Net.Mime.MediaTypeNames;
namespace Rs.MotionPlat namespace Rs.MotionPlat
{ {
enum ERegionType
{
Roi,
Search,
Barcode
}
public enum ERoiShape public enum ERoiShape
{ {
Rectange, Rectange,
@ -612,12 +618,12 @@ namespace Rs.MotionPlat
private void btnDrawRectangle(object sender, EventArgs e) private void btnDrawRectangle(object sender, EventArgs e)
{ {
DrawRoi(ERoiShape.Rectange); DrawRoi(ERoiShape.Rectange, ERegionType.Roi);
} }
private void btnDrawCircle_Click(object sender, EventArgs e) private void btnDrawCircle_Click(object sender, EventArgs e)
{ {
DrawRoi(ERoiShape.Circle); DrawRoi(ERoiShape.Circle, ERegionType.Roi);
} }
bool bPaint = true; bool bPaint = true;
@ -907,7 +913,7 @@ namespace Rs.MotionPlat
} }
private void btnDrawAny_Click(object sender, EventArgs e) private void btnDrawAny_Click(object sender, EventArgs e)
{ {
DrawRoi(ERoiShape.Any); DrawRoi(ERoiShape.Any, ERegionType.Roi);
} }
#region 加载 #region 加载
@ -988,7 +994,7 @@ namespace Rs.MotionPlat
#endregion #endregion
private void btnDrawSearch_Click(object sender, EventArgs e) private void btnDrawSearch_Click(object sender, EventArgs e)
{ {
DrawRoi(ERoiShape.Rectange, true); DrawRoi(ERoiShape.Rectange, ERegionType.Search);
} }
private void txtExposure_KeyUp(object sender, KeyEventArgs e) private void txtExposure_KeyUp(object sender, KeyEventArgs e)
@ -1050,7 +1056,12 @@ namespace Rs.MotionPlat
} }
private void DrawRoi(ERoiShape roiShape,bool isSearch=false) private void btnDrawBarCode_Click(object sender, EventArgs e)
{
DrawRoi(ERoiShape.Rectange, ERegionType.Barcode);
}
private void DrawRoi(ERoiShape roiShape, ERegionType regionType)
{ {
HImage img = hWindow_Final1.Image; HImage img = hWindow_Final1.Image;
hImage = img.CopyObj(1, 1); hImage = img.CopyObj(1, 1);
@ -1086,18 +1097,22 @@ namespace Rs.MotionPlat
{ {
HOperatorSet.DrawRegion(out roiRegion, winHandle); HOperatorSet.DrawRegion(out roiRegion, winHandle);
} }
switch (regionType)
if(isSearch)
{ {
pm.SearchRegion = roiRegion; case ERegionType.Roi:
hWindow_Final1.DispObj(pm.SearchRegion, "green"); pm.RoiRegion = roiRegion;
} hWindow_Final1.DispObj(pm.RoiRegion, "green");
else break;
{ case ERegionType.Search:
pm.RoiRegion = roiRegion; pm.SearchRegion = roiRegion;
hWindow_Final1.DispObj(pm.RoiRegion, "green"); hWindow_Final1.DispObj(pm.SearchRegion, "green");
break;
case ERegionType.Barcode:
pm.BarCodeRegion = roiRegion;
hWindow_Final1.DispObj(pm.BarCodeRegion, "green");
break;
default:
break;
} }
//pm.RoiRow1 = row1; pm.RoiRow2 = row2; //pm.RoiRow1 = row1; pm.RoiRow2 = row2;
//pm.RoiColumn1 = column1; pm.RoiColumn2 = column2; //pm.RoiColumn1 = column1; pm.RoiColumn2 = column2;

@ -18,6 +18,11 @@ namespace Rs.MotionPlat.Commom
/// </summary> /// </summary>
public HObject SearchRegion { get; set; } public HObject SearchRegion { get; set; }
/// <summary>
/// 二维码搜索区域
/// </summary>
public HObject BarCodeRegion { get; set; }
/// <summary> /// <summary>
/// ROI区域 /// ROI区域
/// </summary> /// </summary>
@ -102,6 +107,12 @@ namespace Rs.MotionPlat.Commom
{ {
HOperatorSet.WriteRegion(SearchRegion, savePath + "\\" + "search.reg"); HOperatorSet.WriteRegion(SearchRegion, savePath + "\\" + "search.reg");
} }
//保存二维码区域
if (BarCodeRegion != null && BarCodeRegion.CountObj() > 0)
{
HOperatorSet.WriteRegion(BarCodeRegion, savePath + "\\" + "barcode.reg");
}
//保存ROI区域 //保存ROI区域
if (RoiRegion!=null && RoiRegion.CountObj()>0) if (RoiRegion!=null && RoiRegion.CountObj()>0)
{ {

Loading…
Cancel
Save