mirror of
https://github.com/eggplantlwj/VisionEdit.git
synced 2026-03-23 16:26:35 +08:00
增加查找线工具
This commit is contained in:
BIN
.vs/VisionEdit/v14/.suo
Normal file
BIN
.vs/VisionEdit/v14/.suo
Normal file
Binary file not shown.
Binary file not shown.
27
CommonMethods/ComGlobalParams.cs
Normal file
27
CommonMethods/ComGlobalParams.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using HalconDotNet;
|
||||
|
||||
namespace CommonMethods
|
||||
{
|
||||
public class ComGlobalParams
|
||||
{
|
||||
|
||||
public static HObject inputImageGlobal
|
||||
{
|
||||
get
|
||||
{
|
||||
HObject inputImage = new HObject();
|
||||
HOperatorSet.ReadImage(out inputImage, @"G:\Outer_HB.bmp");
|
||||
return inputImage;
|
||||
}
|
||||
set
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
63
CommonMethods/CommonHelper.csproj
Normal file
63
CommonMethods/CommonHelper.csproj
Normal file
@@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{1C8D0DDC-2086-48A9-9586-F2B643E2FC54}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>CommonMethods</RootNamespace>
|
||||
<AssemblyName>CommonMethods</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="halcondotnet">
|
||||
<HintPath>C:\Program Files\MVTec\HALCON-19.05-Progress\bin\dotnet20\halcondotnet.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="ComGlobalParams.cs" />
|
||||
<Compile Include="CommonMethods.cs" />
|
||||
<Compile Include="Interface\CommonStruct.cs" />
|
||||
<Compile Include="Interface\IToolInfo.cs" />
|
||||
<Compile Include="Interface\IVisionJobInterface.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
||||
192
CommonMethods/CommonMethods.cs
Normal file
192
CommonMethods/CommonMethods.cs
Normal file
@@ -0,0 +1,192 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using HalconDotNet;
|
||||
|
||||
namespace CommonMethods
|
||||
{
|
||||
public class CommonMethods
|
||||
{
|
||||
/// <summary>
|
||||
/// 延时操作
|
||||
/// </summary>
|
||||
/// <param name="mm"></param>
|
||||
public static void Delay(int mm)
|
||||
{
|
||||
DateTime delay = DateTime.Now.AddMilliseconds((double)mm);
|
||||
while (delay > DateTime.Now)
|
||||
{
|
||||
Application.DoEvents();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Creates an arrow shaped XLD contour.
|
||||
/// </summary>
|
||||
/// <param name="ho_Arrow">生成的箭头</param>
|
||||
/// <param name="hv_Row1">箭头起点Row</param>
|
||||
/// <param name="hv_Column1">箭头起点Column</param>
|
||||
/// <param name="hv_Row2">箭头终点Row</param>
|
||||
/// <param name="hv_Column2">箭头终点Column</param>
|
||||
/// <param name="hv_HeadLength">头长度</param>
|
||||
/// <param name="hv_HeadWidth">头宽度</param>
|
||||
public static void gen_arrow_contour_xld(out HObject ho_Arrow, HTuple hv_Row1, HTuple hv_Column1,
|
||||
HTuple hv_Row2, HTuple hv_Column2, HTuple hv_HeadLength, HTuple hv_HeadWidth)
|
||||
{
|
||||
|
||||
|
||||
|
||||
// Stack for temporary objects
|
||||
HObject[] OTemp = new HObject[20];
|
||||
|
||||
// Local iconic variables
|
||||
|
||||
HObject ho_TempArrow = null;
|
||||
|
||||
// Local control variables
|
||||
|
||||
HTuple hv_Length = new HTuple(), hv_ZeroLengthIndices = new HTuple();
|
||||
HTuple hv_DR = new HTuple(), hv_DC = new HTuple(), hv_HalfHeadWidth = new HTuple();
|
||||
HTuple hv_RowP1 = new HTuple(), hv_ColP1 = new HTuple();
|
||||
HTuple hv_RowP2 = new HTuple(), hv_ColP2 = new HTuple();
|
||||
HTuple hv_Index = new HTuple();
|
||||
// Initialize local and output iconic variables
|
||||
HOperatorSet.GenEmptyObj(out ho_Arrow);
|
||||
HOperatorSet.GenEmptyObj(out ho_TempArrow);
|
||||
//This procedure generates arrow shaped XLD contours,
|
||||
//pointing from (Row1, Column1) to (Row2, Column2).
|
||||
//If starting and end point are identical, a contour consisting
|
||||
//of a single point is returned.
|
||||
//
|
||||
//input parameteres:
|
||||
//Row1, Column1: Coordinates of the arrows' starting points
|
||||
//Row2, Column2: Coordinates of the arrows' end points
|
||||
//HeadLength, HeadWidth: Size of the arrow heads in pixels
|
||||
//
|
||||
//output parameter:
|
||||
//Arrow: The resulting XLD contour
|
||||
//
|
||||
//The input tuples Row1, Column1, Row2, and Column2 have to be of
|
||||
//the same length.
|
||||
//HeadLength and HeadWidth either have to be of the same length as
|
||||
//Row1, Column1, Row2, and Column2 or have to be a single element.
|
||||
//If one of the above restrictions is violated, an error will occur.
|
||||
//
|
||||
//
|
||||
//Init
|
||||
ho_Arrow.Dispose();
|
||||
HOperatorSet.GenEmptyObj(out ho_Arrow);
|
||||
//
|
||||
//Calculate the arrow length
|
||||
hv_Length.Dispose();
|
||||
HOperatorSet.DistancePp(hv_Row1, hv_Column1, hv_Row2, hv_Column2, out hv_Length);
|
||||
//
|
||||
//Mark arrows with identical start and end point
|
||||
//(set Length to -1 to avoid division-by-zero exception)
|
||||
hv_ZeroLengthIndices.Dispose();
|
||||
using (HDevDisposeHelper dh = new HDevDisposeHelper())
|
||||
{
|
||||
hv_ZeroLengthIndices = hv_Length.TupleFind(
|
||||
0);
|
||||
}
|
||||
if ((int)(new HTuple(hv_ZeroLengthIndices.TupleNotEqual(-1))) != 0)
|
||||
{
|
||||
if (hv_Length == null)
|
||||
hv_Length = new HTuple();
|
||||
hv_Length[hv_ZeroLengthIndices] = -1;
|
||||
}
|
||||
//
|
||||
//Calculate auxiliary variables.
|
||||
hv_DR.Dispose();
|
||||
using (HDevDisposeHelper dh = new HDevDisposeHelper())
|
||||
{
|
||||
hv_DR = (1.0 * (hv_Row2 - hv_Row1)) / hv_Length;
|
||||
}
|
||||
hv_DC.Dispose();
|
||||
using (HDevDisposeHelper dh = new HDevDisposeHelper())
|
||||
{
|
||||
hv_DC = (1.0 * (hv_Column2 - hv_Column1)) / hv_Length;
|
||||
}
|
||||
hv_HalfHeadWidth.Dispose();
|
||||
using (HDevDisposeHelper dh = new HDevDisposeHelper())
|
||||
{
|
||||
hv_HalfHeadWidth = hv_HeadWidth / 2.0;
|
||||
}
|
||||
//
|
||||
//Calculate end points of the arrow head.
|
||||
hv_RowP1.Dispose();
|
||||
using (HDevDisposeHelper dh = new HDevDisposeHelper())
|
||||
{
|
||||
hv_RowP1 = (hv_Row1 + ((hv_Length - hv_HeadLength) * hv_DR)) + (hv_HalfHeadWidth * hv_DC);
|
||||
}
|
||||
hv_ColP1.Dispose();
|
||||
using (HDevDisposeHelper dh = new HDevDisposeHelper())
|
||||
{
|
||||
hv_ColP1 = (hv_Column1 + ((hv_Length - hv_HeadLength) * hv_DC)) - (hv_HalfHeadWidth * hv_DR);
|
||||
}
|
||||
hv_RowP2.Dispose();
|
||||
using (HDevDisposeHelper dh = new HDevDisposeHelper())
|
||||
{
|
||||
hv_RowP2 = (hv_Row1 + ((hv_Length - hv_HeadLength) * hv_DR)) - (hv_HalfHeadWidth * hv_DC);
|
||||
}
|
||||
hv_ColP2.Dispose();
|
||||
using (HDevDisposeHelper dh = new HDevDisposeHelper())
|
||||
{
|
||||
hv_ColP2 = (hv_Column1 + ((hv_Length - hv_HeadLength) * hv_DC)) + (hv_HalfHeadWidth * hv_DR);
|
||||
}
|
||||
//
|
||||
//Finally create output XLD contour for each input point pair
|
||||
for (hv_Index = 0; (int)hv_Index <= (int)((new HTuple(hv_Length.TupleLength())) - 1); hv_Index = (int)hv_Index + 1)
|
||||
{
|
||||
if ((int)(new HTuple(((hv_Length.TupleSelect(hv_Index))).TupleEqual(-1))) != 0)
|
||||
{
|
||||
//Create_ single points for arrows with identical start and end point
|
||||
using (HDevDisposeHelper dh = new HDevDisposeHelper())
|
||||
{
|
||||
ho_TempArrow.Dispose();
|
||||
HOperatorSet.GenContourPolygonXld(out ho_TempArrow, hv_Row1.TupleSelect(hv_Index),
|
||||
hv_Column1.TupleSelect(hv_Index));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//Create arrow contour
|
||||
using (HDevDisposeHelper dh = new HDevDisposeHelper())
|
||||
{
|
||||
ho_TempArrow.Dispose();
|
||||
HOperatorSet.GenContourPolygonXld(out ho_TempArrow, ((((((((((hv_Row1.TupleSelect(
|
||||
hv_Index))).TupleConcat(hv_Row2.TupleSelect(hv_Index)))).TupleConcat(
|
||||
hv_RowP1.TupleSelect(hv_Index)))).TupleConcat(hv_Row2.TupleSelect(hv_Index)))).TupleConcat(
|
||||
hv_RowP2.TupleSelect(hv_Index)))).TupleConcat(hv_Row2.TupleSelect(hv_Index)),
|
||||
((((((((((hv_Column1.TupleSelect(hv_Index))).TupleConcat(hv_Column2.TupleSelect(
|
||||
hv_Index)))).TupleConcat(hv_ColP1.TupleSelect(hv_Index)))).TupleConcat(
|
||||
hv_Column2.TupleSelect(hv_Index)))).TupleConcat(hv_ColP2.TupleSelect(
|
||||
hv_Index)))).TupleConcat(hv_Column2.TupleSelect(hv_Index)));
|
||||
}
|
||||
}
|
||||
{
|
||||
HObject ExpTmpOutVar_0;
|
||||
HOperatorSet.ConcatObj(ho_Arrow, ho_TempArrow, out ExpTmpOutVar_0);
|
||||
ho_Arrow.Dispose();
|
||||
ho_Arrow = ExpTmpOutVar_0;
|
||||
}
|
||||
}
|
||||
ho_TempArrow.Dispose();
|
||||
|
||||
hv_Length.Dispose();
|
||||
hv_ZeroLengthIndices.Dispose();
|
||||
hv_DR.Dispose();
|
||||
hv_DC.Dispose();
|
||||
hv_HalfHeadWidth.Dispose();
|
||||
hv_RowP1.Dispose();
|
||||
hv_ColP1.Dispose();
|
||||
hv_RowP2.Dispose();
|
||||
hv_ColP2.Dispose();
|
||||
hv_Index.Dispose();
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
CommonMethods/Interface/CommonStruct.cs
Normal file
BIN
CommonMethods/Interface/CommonStruct.cs
Normal file
Binary file not shown.
@@ -5,7 +5,7 @@ using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace VisionEdit
|
||||
namespace CommonMethods
|
||||
{
|
||||
public class IToolInfo
|
||||
{
|
||||
@@ -26,6 +26,14 @@ namespace VisionEdit
|
||||
/// </summary>
|
||||
public object tool { get; set; }
|
||||
/// <summary>
|
||||
/// 工具窗体
|
||||
/// </summary>
|
||||
public Form FormTool { get; set; }
|
||||
/// <summary>
|
||||
/// 工具窗体名
|
||||
/// </summary>
|
||||
public string FormToolName { get; set; }
|
||||
/// <summary>
|
||||
/// 工具描述信息
|
||||
/// </summary>
|
||||
public string toolTipInfo { get; set; }
|
||||
@@ -41,6 +49,10 @@ namespace VisionEdit
|
||||
/// 工具作用描述
|
||||
/// </summary>
|
||||
public string toolDescription { get; set; }
|
||||
/// <summary>
|
||||
/// 工具运行结果
|
||||
/// </summary>
|
||||
public ToolRunStatu toolRunStatu { get; set; }
|
||||
public IToolInfo()
|
||||
{
|
||||
enable = true;
|
||||
@@ -126,6 +138,4 @@ namespace VisionEdit
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
BIN
CommonMethods/Interface/IVisionJobInterface.cs
Normal file
BIN
CommonMethods/Interface/IVisionJobInterface.cs
Normal file
Binary file not shown.
BIN
CommonMethods/Properties/AssemblyInfo.cs
Normal file
BIN
CommonMethods/Properties/AssemblyInfo.cs
Normal file
Binary file not shown.
BIN
CommonMethods/bin/Debug/CommonMethods.dll
Normal file
BIN
CommonMethods/bin/Debug/CommonMethods.dll
Normal file
Binary file not shown.
BIN
CommonMethods/bin/Debug/CommonMethods.pdb
Normal file
BIN
CommonMethods/bin/Debug/CommonMethods.pdb
Normal file
Binary file not shown.
BIN
CommonMethods/bin/Debug/halcondotnet.dll
Normal file
BIN
CommonMethods/bin/Debug/halcondotnet.dll
Normal file
Binary file not shown.
61480
CommonMethods/bin/Debug/halcondotnet.xml
Normal file
61480
CommonMethods/bin/Debug/halcondotnet.xml
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
F:\VSCode\VisionEditTest\CommonMethods\bin\Debug\CommonMethods.dll
|
||||
F:\VSCode\VisionEditTest\CommonMethods\bin\Debug\CommonMethods.pdb
|
||||
F:\VSCode\VisionEditTest\CommonMethods\bin\Debug\halcondotnet.dll
|
||||
F:\VSCode\VisionEditTest\CommonMethods\bin\Debug\halcondotnet.xml
|
||||
F:\VSCode\VisionEditTest\CommonMethods\obj\Debug\CommonMethods.dll
|
||||
F:\VSCode\VisionEditTest\CommonMethods\obj\Debug\CommonMethods.pdb
|
||||
F:\VSCode\VisionEditTest\CommonMethods\obj\Debug\CommonHelper.csprojResolveAssemblyReference.cache
|
||||
Binary file not shown.
@@ -0,0 +1,4 @@
|
||||
F:\VSCode\VisionEditTest\CommonMethods\bin\Debug\CommonMethods.dll
|
||||
F:\VSCode\VisionEditTest\CommonMethods\bin\Debug\CommonMethods.pdb
|
||||
F:\VSCode\VisionEditTest\CommonMethods\obj\Debug\CommonMethods.dll
|
||||
F:\VSCode\VisionEditTest\CommonMethods\obj\Debug\CommonMethods.pdb
|
||||
BIN
CommonMethods/obj/Debug/CommonMethods.dll
Normal file
BIN
CommonMethods/obj/Debug/CommonMethods.dll
Normal file
Binary file not shown.
BIN
CommonMethods/obj/Debug/CommonMethods.pdb
Normal file
BIN
CommonMethods/obj/Debug/CommonMethods.pdb
Normal file
Binary file not shown.
Binary file not shown.
92
DataStruct/DataStruct.cs
Normal file
92
DataStruct/DataStruct.cs
Normal file
@@ -0,0 +1,92 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using HalconDotNet;
|
||||
|
||||
namespace DataStruct
|
||||
{
|
||||
public class DataStruct
|
||||
{
|
||||
/// <summary>
|
||||
/// XYU结果
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
public class PosXYU
|
||||
{
|
||||
public double X;
|
||||
public double Y;
|
||||
public double U;
|
||||
/// <summary>
|
||||
/// 将XYU类型转化成格式化字符串
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
internal string ToFormatStr()
|
||||
{
|
||||
return (X >= 0 ? "+" + X.ToString("0000.000") : X.ToString("0000.000")) + "," + (Y >= 0 ? "+" + Y.ToString("0000.000") : Y.ToString("0000.000")) + "," + (U >= 0 ? "+" + U.ToString("0000.000") : U.ToString("0000.000"));
|
||||
}
|
||||
internal string ToShowTip()
|
||||
{
|
||||
return X.ToString() + " | " + Y.ToString() + " | " + U.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class Line
|
||||
{
|
||||
public Point StartPoint;
|
||||
public Point EndPoint;
|
||||
internal string ToShowTip()
|
||||
{
|
||||
return StartPoint.Row.ToString() + " | " + StartPoint.Col.ToString() + " | " + EndPoint.Row.ToString() + " | " + EndPoint.Col.ToString();
|
||||
}
|
||||
private HTuple _angle;
|
||||
public double Angle
|
||||
{
|
||||
get
|
||||
{
|
||||
HOperatorSet.AngleLx(StartPoint.Row, StartPoint.Col, EndPoint.Row, EndPoint.Col, out _angle);
|
||||
return _angle;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class Point
|
||||
{
|
||||
public Point() { }
|
||||
public Point(double x, double y)
|
||||
{
|
||||
this.Row = x;
|
||||
this.Col = y;
|
||||
}
|
||||
public double Row;
|
||||
public double Col;
|
||||
/// <summary>
|
||||
/// 重写 -
|
||||
/// </summary>
|
||||
/// <param name="p1">点1</param>
|
||||
/// <param name="p2">点2</param>
|
||||
/// <returns></returns>
|
||||
public static Point operator -(Point p1, Point p2)
|
||||
{
|
||||
return new Point(p1.Row - p2.Row, p1.Col - p2.Col);
|
||||
}
|
||||
/// <summary>
|
||||
/// 获得点矢量长度
|
||||
/// </summary>
|
||||
public double GetDistance
|
||||
{
|
||||
get
|
||||
{
|
||||
return Math.Sqrt(Row * Row + Col * Col);
|
||||
}
|
||||
}
|
||||
public string ToShowTip()
|
||||
{
|
||||
return Row.ToString() + " | " + Col.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
57
DataStruct/DataStruct.csproj
Normal file
57
DataStruct/DataStruct.csproj
Normal file
@@ -0,0 +1,57 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{DF3D4D4C-02DF-4F92-9FD4-0A861F64B0EF}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>DataStruct</RootNamespace>
|
||||
<AssemblyName>DataStruct</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="halcondotnet">
|
||||
<HintPath>C:\Program Files\MVTec\HALCON-19.05-Progress\bin\dotnet20\halcondotnet.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="DataStruct.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
||||
BIN
DataStruct/Properties/AssemblyInfo.cs
Normal file
BIN
DataStruct/Properties/AssemblyInfo.cs
Normal file
Binary file not shown.
BIN
DataStruct/bin/Debug/DataStruct.dll
Normal file
BIN
DataStruct/bin/Debug/DataStruct.dll
Normal file
Binary file not shown.
BIN
DataStruct/bin/Debug/DataStruct.pdb
Normal file
BIN
DataStruct/bin/Debug/DataStruct.pdb
Normal file
Binary file not shown.
BIN
DataStruct/bin/Debug/halcondotnet.dll
Normal file
BIN
DataStruct/bin/Debug/halcondotnet.dll
Normal file
Binary file not shown.
61480
DataStruct/bin/Debug/halcondotnet.xml
Normal file
61480
DataStruct/bin/Debug/halcondotnet.xml
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,6 @@
|
||||
F:\VSCode\VisionEditTest\DataStruct\bin\Debug\DataStruct.dll
|
||||
F:\VSCode\VisionEditTest\DataStruct\bin\Debug\DataStruct.pdb
|
||||
F:\VSCode\VisionEditTest\DataStruct\bin\Debug\halcondotnet.dll
|
||||
F:\VSCode\VisionEditTest\DataStruct\bin\Debug\halcondotnet.xml
|
||||
F:\VSCode\VisionEditTest\DataStruct\obj\Debug\DataStruct.dll
|
||||
F:\VSCode\VisionEditTest\DataStruct\obj\Debug\DataStruct.pdb
|
||||
BIN
DataStruct/obj/Debug/DataStruct.dll
Normal file
BIN
DataStruct/obj/Debug/DataStruct.dll
Normal file
Binary file not shown.
BIN
DataStruct/obj/Debug/DataStruct.pdb
Normal file
BIN
DataStruct/obj/Debug/DataStruct.pdb
Normal file
Binary file not shown.
Binary file not shown.
106
FindCircle/FindCircle.cs
Normal file
106
FindCircle/FindCircle.cs
Normal file
@@ -0,0 +1,106 @@
|
||||
using System;
|
||||
using HalconDotNet;
|
||||
using static DataStruct.DataStruct;
|
||||
|
||||
namespace FindCircle
|
||||
{
|
||||
[Serializable]
|
||||
public class FindClrcle
|
||||
{
|
||||
/// <summary>
|
||||
/// 输入位姿
|
||||
/// </summary>
|
||||
internal PosXYU inputPose = new PosXYU();
|
||||
/// <summary>
|
||||
/// 期望圆圆心行坐标
|
||||
/// </summary>
|
||||
internal HTuple expectCircleRow = 300;
|
||||
/// <summary>
|
||||
/// 期望圆圆心列坐标
|
||||
/// </summary>
|
||||
internal HTuple expectCircleCol = 300;
|
||||
/// <summary>
|
||||
/// 期望圆半径
|
||||
/// </summary>
|
||||
internal HTuple expectCircleRadius = 200;
|
||||
/// <summary>
|
||||
/// 查找到圆的圆心行坐标
|
||||
/// </summary>
|
||||
private double _resultCircleRow = 0;
|
||||
internal double ResultCircleRow
|
||||
{
|
||||
get
|
||||
{
|
||||
return Math.Round(_resultCircleRow, 3);
|
||||
}
|
||||
set { _resultCircleRow = value; }
|
||||
}
|
||||
/// <summary>
|
||||
/// 查找到的圆的圆心列坐标
|
||||
/// </summary>
|
||||
private double _resultCircleCol = 0;
|
||||
internal double ResultCircleCol
|
||||
{
|
||||
get
|
||||
{
|
||||
return Math.Round(_resultCircleCol, 3);
|
||||
}
|
||||
set { _resultCircleCol = value; }
|
||||
}
|
||||
/// <summary>
|
||||
/// 查找到的圆的半径
|
||||
/// </summary>
|
||||
private double resultCircleRadius = 0;
|
||||
internal double ResultCircleRadius
|
||||
{
|
||||
get
|
||||
{
|
||||
return Math.Round(resultCircleRadius, 3);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 起始角度
|
||||
/// </summary>
|
||||
internal double startAngle = 10;
|
||||
/// <summary>
|
||||
/// 结束角度
|
||||
/// </summary>
|
||||
internal double endAngle = 360;
|
||||
/// <summary>
|
||||
/// 运行工具时是否刷新输入图像
|
||||
/// </summary>
|
||||
internal bool updateImage = false;
|
||||
/// <summary>
|
||||
/// 圆环径向长度
|
||||
/// </summary>
|
||||
internal double ringRadiusLength = 80;
|
||||
/// <summary>
|
||||
/// 边阈值
|
||||
/// </summary>
|
||||
internal int threshold = 30;
|
||||
/// <summary>
|
||||
/// 卡尺
|
||||
/// </summary>
|
||||
internal HObject contours;
|
||||
/// <summary>
|
||||
/// 找边极性,从明到暗或从暗到明
|
||||
/// </summary>
|
||||
internal string polarity = "negative";
|
||||
/// <summary>
|
||||
/// 卡尺数量
|
||||
/// </summary>
|
||||
internal int cliperNum = 20;
|
||||
/// <summary>
|
||||
/// 输入图像
|
||||
/// </summary>
|
||||
internal HObject inputImage;
|
||||
/// <summary>
|
||||
/// 新的跟随姿态变化后的预期圆信息
|
||||
/// </summary>
|
||||
HTuple newExpecCircleRow = new HTuple(200), newExpectCircleCol = new HTuple(200), newExpectCircleRadius = new HTuple(200);
|
||||
/// <summary>
|
||||
/// 制作模板时的输入位姿
|
||||
/// </summary>
|
||||
internal PosXYU templatePose = new PosXYU();
|
||||
}
|
||||
}
|
||||
80
FindCircle/FindCircleTool.csproj
Normal file
80
FindCircle/FindCircleTool.csproj
Normal file
@@ -0,0 +1,80 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{3D2739DB-5618-49BF-BF5C-5CCCD6A55C64}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>FindCircleTool</RootNamespace>
|
||||
<AssemblyName>FindCircleTool</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="halcondotnet">
|
||||
<HintPath>C:\Program Files\MVTec\HALCON-19.05-Progress\bin\dotnet20\halcondotnet.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="FindCircle.cs" />
|
||||
<Compile Include="FormFindCircle.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="FormFindCircle.Designer.cs">
|
||||
<DependentUpon>FormFindCircle.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\DataStruct\DataStruct.csproj">
|
||||
<Project>{DF3D4D4C-02DF-4F92-9FD4-0A861F64B0EF}</Project>
|
||||
<Name>DataStruct</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\HalconWindowTest\HalconWindow.csproj">
|
||||
<Project>{4ADC75AE-59C7-4D36-B675-A6CE51B6F5BA}</Project>
|
||||
<Name>HalconWindow</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="FormFindCircle.resx">
|
||||
<DependentUpon>FormFindCircle.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
||||
712
FindCircle/FormFindCircle.Designer.cs
generated
Normal file
712
FindCircle/FormFindCircle.Designer.cs
generated
Normal file
@@ -0,0 +1,712 @@
|
||||
namespace FindCircle
|
||||
{
|
||||
partial class FormFindCircle
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.tbx_threshold = new System.Windows.Forms.TextBox();
|
||||
this.label12 = new System.Windows.Forms.Label();
|
||||
this.btn_subThreshold = new System.Windows.Forms.Button();
|
||||
this.tbx_thresholdSpan = new System.Windows.Forms.TextBox();
|
||||
this.btn_addThreshold = new System.Windows.Forms.Button();
|
||||
this.cbx_polarity = new System.Windows.Forms.ComboBox();
|
||||
this.btn_switchPolarity = new System.Windows.Forms.Button();
|
||||
this.tbx_cliperNum = new System.Windows.Forms.TextBox();
|
||||
this.label8 = new System.Windows.Forms.Label();
|
||||
this.btn_subCliperNum = new System.Windows.Forms.Button();
|
||||
this.label11 = new System.Windows.Forms.Label();
|
||||
this.tbx_cliperNumSpan = new System.Windows.Forms.TextBox();
|
||||
this.btn_addCliperNum = new System.Windows.Forms.Button();
|
||||
this.tbx_ringRadiusLength = new System.Windows.Forms.TextBox();
|
||||
this.tbx_endAngle = new System.Windows.Forms.TextBox();
|
||||
this.tbx_expectCircelRow = new System.Windows.Forms.TextBox();
|
||||
this.tbx_expectCircleCol = new System.Windows.Forms.TextBox();
|
||||
this.tbx_expectCircleradius = new System.Windows.Forms.TextBox();
|
||||
this.tbx_startAngle = new System.Windows.Forms.TextBox();
|
||||
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
||||
this.tbx_resultCircleRow = new System.Windows.Forms.TextBox();
|
||||
this.tbx_resultCircleCol = new System.Windows.Forms.TextBox();
|
||||
this.tbx_resultCircleRadius = new System.Windows.Forms.TextBox();
|
||||
this.label7 = new System.Windows.Forms.Label();
|
||||
this.label10 = new System.Windows.Forms.Label();
|
||||
this.label9 = new System.Windows.Forms.Label();
|
||||
this.btn_subExpectCircleEndAngle = new System.Windows.Forms.Button();
|
||||
this.tbx_endAngleSpan = new System.Windows.Forms.TextBox();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.btn_addExpectCircleEndAngle = new System.Windows.Forms.Button();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.label6 = new System.Windows.Forms.Label();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.btn_subExpectCircleStartAngle = new System.Windows.Forms.Button();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.tbx_startAngleSpan = new System.Windows.Forms.TextBox();
|
||||
this.btn_addExpectCircleStartAngle = new System.Windows.Forms.Button();
|
||||
this.btn_runFindCircleTool = new System.Windows.Forms.Button();
|
||||
this.btn_subExpectRingRadiusLength = new System.Windows.Forms.Button();
|
||||
this.tbx_ringRadiusLengthSpan = new System.Windows.Forms.TextBox();
|
||||
this.btn_moveCliperRegion = new System.Windows.Forms.Button();
|
||||
this.btn_addExpectCircleRingRadiusLength = new System.Windows.Forms.Button();
|
||||
this.btn_subExpectCircleRadius = new System.Windows.Forms.Button();
|
||||
this.tbx_expectCircleRadiusSapn = new System.Windows.Forms.TextBox();
|
||||
this.btn_addExpectCirlceRadius = new System.Windows.Forms.Button();
|
||||
this.btn_addExpectCircleRow = new System.Windows.Forms.Button();
|
||||
this.btn_subExpectCircleCol = new System.Windows.Forms.Button();
|
||||
this.tbx_expectCircelRowSpan = new System.Windows.Forms.TextBox();
|
||||
this.tbx_expectCircleColSpan = new System.Windows.Forms.TextBox();
|
||||
this.btn_subExpectCircleRow = new System.Windows.Forms.Button();
|
||||
this.btn_addExpectCircleCol = new System.Windows.Forms.Button();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.groupBox2.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// tbx_threshold
|
||||
//
|
||||
this.tbx_threshold.Location = new System.Drawing.Point(545, 195);
|
||||
this.tbx_threshold.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.tbx_threshold.Name = "tbx_threshold";
|
||||
this.tbx_threshold.Size = new System.Drawing.Size(71, 21);
|
||||
this.tbx_threshold.TabIndex = 213;
|
||||
//
|
||||
// label12
|
||||
//
|
||||
this.label12.AutoSize = true;
|
||||
this.label12.Location = new System.Drawing.Point(484, 198);
|
||||
this.label12.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.label12.Name = "label12";
|
||||
this.label12.Size = new System.Drawing.Size(41, 12);
|
||||
this.label12.TabIndex = 214;
|
||||
this.label12.Text = "阈值:";
|
||||
//
|
||||
// btn_subThreshold
|
||||
//
|
||||
this.btn_subThreshold.Location = new System.Drawing.Point(649, 194);
|
||||
this.btn_subThreshold.Margin = new System.Windows.Forms.Padding(2, 3, 2, 3);
|
||||
this.btn_subThreshold.Name = "btn_subThreshold";
|
||||
this.btn_subThreshold.Size = new System.Drawing.Size(29, 25);
|
||||
this.btn_subThreshold.TabIndex = 217;
|
||||
this.btn_subThreshold.Text = "-";
|
||||
this.btn_subThreshold.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// tbx_thresholdSpan
|
||||
//
|
||||
this.tbx_thresholdSpan.Location = new System.Drawing.Point(681, 195);
|
||||
this.tbx_thresholdSpan.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.tbx_thresholdSpan.Name = "tbx_thresholdSpan";
|
||||
this.tbx_thresholdSpan.Size = new System.Drawing.Size(35, 21);
|
||||
this.tbx_thresholdSpan.TabIndex = 216;
|
||||
this.tbx_thresholdSpan.Text = "10";
|
||||
//
|
||||
// btn_addThreshold
|
||||
//
|
||||
this.btn_addThreshold.Location = new System.Drawing.Point(719, 194);
|
||||
this.btn_addThreshold.Margin = new System.Windows.Forms.Padding(2, 3, 2, 3);
|
||||
this.btn_addThreshold.Name = "btn_addThreshold";
|
||||
this.btn_addThreshold.Size = new System.Drawing.Size(29, 25);
|
||||
this.btn_addThreshold.TabIndex = 215;
|
||||
this.btn_addThreshold.Text = "+";
|
||||
this.btn_addThreshold.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// cbx_polarity
|
||||
//
|
||||
this.cbx_polarity.FormattingEnabled = true;
|
||||
this.cbx_polarity.Items.AddRange(new object[] {
|
||||
"从明到暗",
|
||||
"从暗到明"});
|
||||
this.cbx_polarity.Location = new System.Drawing.Point(545, 287);
|
||||
this.cbx_polarity.Name = "cbx_polarity";
|
||||
this.cbx_polarity.Size = new System.Drawing.Size(71, 20);
|
||||
this.cbx_polarity.TabIndex = 212;
|
||||
this.cbx_polarity.Text = "从明到暗";
|
||||
//
|
||||
// btn_switchPolarity
|
||||
//
|
||||
this.btn_switchPolarity.Location = new System.Drawing.Point(649, 287);
|
||||
this.btn_switchPolarity.Margin = new System.Windows.Forms.Padding(2, 3, 2, 3);
|
||||
this.btn_switchPolarity.Name = "btn_switchPolarity";
|
||||
this.btn_switchPolarity.Size = new System.Drawing.Size(99, 25);
|
||||
this.btn_switchPolarity.TabIndex = 211;
|
||||
this.btn_switchPolarity.Text = "切换";
|
||||
this.btn_switchPolarity.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// tbx_cliperNum
|
||||
//
|
||||
this.tbx_cliperNum.Location = new System.Drawing.Point(545, 257);
|
||||
this.tbx_cliperNum.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.tbx_cliperNum.Name = "tbx_cliperNum";
|
||||
this.tbx_cliperNum.Size = new System.Drawing.Size(71, 21);
|
||||
this.tbx_cliperNum.TabIndex = 205;
|
||||
//
|
||||
// label8
|
||||
//
|
||||
this.label8.AutoSize = true;
|
||||
this.label8.Location = new System.Drawing.Point(484, 291);
|
||||
this.label8.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.label8.Name = "label8";
|
||||
this.label8.Size = new System.Drawing.Size(41, 12);
|
||||
this.label8.TabIndex = 210;
|
||||
this.label8.Text = "极性:";
|
||||
//
|
||||
// btn_subCliperNum
|
||||
//
|
||||
this.btn_subCliperNum.Location = new System.Drawing.Point(649, 256);
|
||||
this.btn_subCliperNum.Margin = new System.Windows.Forms.Padding(2, 3, 2, 3);
|
||||
this.btn_subCliperNum.Name = "btn_subCliperNum";
|
||||
this.btn_subCliperNum.Size = new System.Drawing.Size(29, 25);
|
||||
this.btn_subCliperNum.TabIndex = 209;
|
||||
this.btn_subCliperNum.Text = "-";
|
||||
this.btn_subCliperNum.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// label11
|
||||
//
|
||||
this.label11.AutoSize = true;
|
||||
this.label11.Location = new System.Drawing.Point(484, 259);
|
||||
this.label11.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.label11.Name = "label11";
|
||||
this.label11.Size = new System.Drawing.Size(65, 12);
|
||||
this.label11.TabIndex = 206;
|
||||
this.label11.Text = "卡尺数量:";
|
||||
//
|
||||
// tbx_cliperNumSpan
|
||||
//
|
||||
this.tbx_cliperNumSpan.Location = new System.Drawing.Point(681, 257);
|
||||
this.tbx_cliperNumSpan.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.tbx_cliperNumSpan.Name = "tbx_cliperNumSpan";
|
||||
this.tbx_cliperNumSpan.Size = new System.Drawing.Size(35, 21);
|
||||
this.tbx_cliperNumSpan.TabIndex = 208;
|
||||
this.tbx_cliperNumSpan.Text = "10";
|
||||
//
|
||||
// btn_addCliperNum
|
||||
//
|
||||
this.btn_addCliperNum.Location = new System.Drawing.Point(719, 256);
|
||||
this.btn_addCliperNum.Margin = new System.Windows.Forms.Padding(2, 3, 2, 3);
|
||||
this.btn_addCliperNum.Name = "btn_addCliperNum";
|
||||
this.btn_addCliperNum.Size = new System.Drawing.Size(29, 25);
|
||||
this.btn_addCliperNum.TabIndex = 207;
|
||||
this.btn_addCliperNum.Text = "+";
|
||||
this.btn_addCliperNum.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// tbx_ringRadiusLength
|
||||
//
|
||||
this.tbx_ringRadiusLength.Location = new System.Drawing.Point(545, 226);
|
||||
this.tbx_ringRadiusLength.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.tbx_ringRadiusLength.Name = "tbx_ringRadiusLength";
|
||||
this.tbx_ringRadiusLength.Size = new System.Drawing.Size(71, 21);
|
||||
this.tbx_ringRadiusLength.TabIndex = 180;
|
||||
//
|
||||
// tbx_endAngle
|
||||
//
|
||||
this.tbx_endAngle.Location = new System.Drawing.Point(545, 153);
|
||||
this.tbx_endAngle.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.tbx_endAngle.Name = "tbx_endAngle";
|
||||
this.tbx_endAngle.Size = new System.Drawing.Size(71, 21);
|
||||
this.tbx_endAngle.TabIndex = 199;
|
||||
//
|
||||
// tbx_expectCircelRow
|
||||
//
|
||||
this.tbx_expectCircelRow.Location = new System.Drawing.Point(545, 23);
|
||||
this.tbx_expectCircelRow.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.tbx_expectCircelRow.Name = "tbx_expectCircelRow";
|
||||
this.tbx_expectCircelRow.Size = new System.Drawing.Size(71, 21);
|
||||
this.tbx_expectCircelRow.TabIndex = 174;
|
||||
//
|
||||
// tbx_expectCircleCol
|
||||
//
|
||||
this.tbx_expectCircleCol.Location = new System.Drawing.Point(545, 56);
|
||||
this.tbx_expectCircleCol.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.tbx_expectCircleCol.Name = "tbx_expectCircleCol";
|
||||
this.tbx_expectCircleCol.Size = new System.Drawing.Size(71, 21);
|
||||
this.tbx_expectCircleCol.TabIndex = 176;
|
||||
//
|
||||
// tbx_expectCircleradius
|
||||
//
|
||||
this.tbx_expectCircleradius.Location = new System.Drawing.Point(545, 88);
|
||||
this.tbx_expectCircleradius.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.tbx_expectCircleradius.Name = "tbx_expectCircleradius";
|
||||
this.tbx_expectCircleradius.Size = new System.Drawing.Size(71, 21);
|
||||
this.tbx_expectCircleradius.TabIndex = 178;
|
||||
//
|
||||
// tbx_startAngle
|
||||
//
|
||||
this.tbx_startAngle.Location = new System.Drawing.Point(545, 121);
|
||||
this.tbx_startAngle.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.tbx_startAngle.Name = "tbx_startAngle";
|
||||
this.tbx_startAngle.Size = new System.Drawing.Size(71, 21);
|
||||
this.tbx_startAngle.TabIndex = 182;
|
||||
//
|
||||
// groupBox2
|
||||
//
|
||||
this.groupBox2.Controls.Add(this.tbx_resultCircleRow);
|
||||
this.groupBox2.Controls.Add(this.tbx_resultCircleCol);
|
||||
this.groupBox2.Controls.Add(this.tbx_resultCircleRadius);
|
||||
this.groupBox2.Controls.Add(this.label7);
|
||||
this.groupBox2.Controls.Add(this.label10);
|
||||
this.groupBox2.Controls.Add(this.label9);
|
||||
this.groupBox2.Location = new System.Drawing.Point(774, 22);
|
||||
this.groupBox2.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.groupBox2.Name = "groupBox2";
|
||||
this.groupBox2.Padding = new System.Windows.Forms.Padding(2);
|
||||
this.groupBox2.Size = new System.Drawing.Size(201, 135);
|
||||
this.groupBox2.TabIndex = 204;
|
||||
this.groupBox2.TabStop = false;
|
||||
this.groupBox2.Text = "结果圆";
|
||||
//
|
||||
// tbx_resultCircleRow
|
||||
//
|
||||
this.tbx_resultCircleRow.Location = new System.Drawing.Point(91, 28);
|
||||
this.tbx_resultCircleRow.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.tbx_resultCircleRow.Name = "tbx_resultCircleRow";
|
||||
this.tbx_resultCircleRow.Size = new System.Drawing.Size(71, 21);
|
||||
this.tbx_resultCircleRow.TabIndex = 102;
|
||||
//
|
||||
// tbx_resultCircleCol
|
||||
//
|
||||
this.tbx_resultCircleCol.Location = new System.Drawing.Point(91, 61);
|
||||
this.tbx_resultCircleCol.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.tbx_resultCircleCol.Name = "tbx_resultCircleCol";
|
||||
this.tbx_resultCircleCol.Size = new System.Drawing.Size(71, 21);
|
||||
this.tbx_resultCircleCol.TabIndex = 104;
|
||||
//
|
||||
// tbx_resultCircleRadius
|
||||
//
|
||||
this.tbx_resultCircleRadius.Location = new System.Drawing.Point(91, 93);
|
||||
this.tbx_resultCircleRadius.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.tbx_resultCircleRadius.Name = "tbx_resultCircleRadius";
|
||||
this.tbx_resultCircleRadius.Size = new System.Drawing.Size(71, 21);
|
||||
this.tbx_resultCircleRadius.TabIndex = 106;
|
||||
//
|
||||
// label7
|
||||
//
|
||||
this.label7.AutoSize = true;
|
||||
this.label7.Location = new System.Drawing.Point(39, 31);
|
||||
this.label7.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.label7.Name = "label7";
|
||||
this.label7.Size = new System.Drawing.Size(53, 12);
|
||||
this.label7.TabIndex = 103;
|
||||
this.label7.Text = "行坐标:";
|
||||
//
|
||||
// label10
|
||||
//
|
||||
this.label10.AutoSize = true;
|
||||
this.label10.Location = new System.Drawing.Point(39, 95);
|
||||
this.label10.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.label10.Name = "label10";
|
||||
this.label10.Size = new System.Drawing.Size(41, 12);
|
||||
this.label10.TabIndex = 107;
|
||||
this.label10.Text = "半径:";
|
||||
//
|
||||
// label9
|
||||
//
|
||||
this.label9.AutoSize = true;
|
||||
this.label9.Location = new System.Drawing.Point(39, 63);
|
||||
this.label9.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.label9.Name = "label9";
|
||||
this.label9.Size = new System.Drawing.Size(53, 12);
|
||||
this.label9.TabIndex = 105;
|
||||
this.label9.Text = "列坐标:";
|
||||
//
|
||||
// btn_subExpectCircleEndAngle
|
||||
//
|
||||
this.btn_subExpectCircleEndAngle.Location = new System.Drawing.Point(649, 152);
|
||||
this.btn_subExpectCircleEndAngle.Margin = new System.Windows.Forms.Padding(2, 3, 2, 3);
|
||||
this.btn_subExpectCircleEndAngle.Name = "btn_subExpectCircleEndAngle";
|
||||
this.btn_subExpectCircleEndAngle.Size = new System.Drawing.Size(29, 25);
|
||||
this.btn_subExpectCircleEndAngle.TabIndex = 203;
|
||||
this.btn_subExpectCircleEndAngle.Text = "-";
|
||||
this.btn_subExpectCircleEndAngle.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// tbx_endAngleSpan
|
||||
//
|
||||
this.tbx_endAngleSpan.Location = new System.Drawing.Point(681, 153);
|
||||
this.tbx_endAngleSpan.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.tbx_endAngleSpan.Name = "tbx_endAngleSpan";
|
||||
this.tbx_endAngleSpan.Size = new System.Drawing.Size(35, 21);
|
||||
this.tbx_endAngleSpan.TabIndex = 202;
|
||||
this.tbx_endAngleSpan.Text = "10";
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(484, 90);
|
||||
this.label3.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(41, 12);
|
||||
this.label3.TabIndex = 179;
|
||||
this.label3.Text = "半径:";
|
||||
//
|
||||
// btn_addExpectCircleEndAngle
|
||||
//
|
||||
this.btn_addExpectCircleEndAngle.Location = new System.Drawing.Point(719, 152);
|
||||
this.btn_addExpectCircleEndAngle.Margin = new System.Windows.Forms.Padding(2, 3, 2, 3);
|
||||
this.btn_addExpectCircleEndAngle.Name = "btn_addExpectCircleEndAngle";
|
||||
this.btn_addExpectCircleEndAngle.Size = new System.Drawing.Size(29, 25);
|
||||
this.btn_addExpectCircleEndAngle.TabIndex = 201;
|
||||
this.btn_addExpectCircleEndAngle.Text = "+";
|
||||
this.btn_addExpectCircleEndAngle.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(484, 58);
|
||||
this.label2.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(53, 12);
|
||||
this.label2.TabIndex = 177;
|
||||
this.label2.Text = "列坐标:";
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(484, 229);
|
||||
this.label4.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(65, 12);
|
||||
this.label4.TabIndex = 181;
|
||||
this.label4.Text = "圆环径长:";
|
||||
//
|
||||
// label6
|
||||
//
|
||||
this.label6.AutoSize = true;
|
||||
this.label6.Location = new System.Drawing.Point(484, 155);
|
||||
this.label6.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(65, 12);
|
||||
this.label6.TabIndex = 200;
|
||||
this.label6.Text = "结束角度:";
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(484, 26);
|
||||
this.label1.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(53, 12);
|
||||
this.label1.TabIndex = 175;
|
||||
this.label1.Text = "行坐标:";
|
||||
//
|
||||
// btn_subExpectCircleStartAngle
|
||||
//
|
||||
this.btn_subExpectCircleStartAngle.Location = new System.Drawing.Point(649, 120);
|
||||
this.btn_subExpectCircleStartAngle.Margin = new System.Windows.Forms.Padding(2, 3, 2, 3);
|
||||
this.btn_subExpectCircleStartAngle.Name = "btn_subExpectCircleStartAngle";
|
||||
this.btn_subExpectCircleStartAngle.Size = new System.Drawing.Size(29, 25);
|
||||
this.btn_subExpectCircleStartAngle.TabIndex = 198;
|
||||
this.btn_subExpectCircleStartAngle.Text = "-";
|
||||
this.btn_subExpectCircleStartAngle.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// label5
|
||||
//
|
||||
this.label5.AutoSize = true;
|
||||
this.label5.Location = new System.Drawing.Point(484, 123);
|
||||
this.label5.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(65, 12);
|
||||
this.label5.TabIndex = 183;
|
||||
this.label5.Text = "起始角度:";
|
||||
//
|
||||
// tbx_startAngleSpan
|
||||
//
|
||||
this.tbx_startAngleSpan.Location = new System.Drawing.Point(681, 121);
|
||||
this.tbx_startAngleSpan.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.tbx_startAngleSpan.Name = "tbx_startAngleSpan";
|
||||
this.tbx_startAngleSpan.Size = new System.Drawing.Size(35, 21);
|
||||
this.tbx_startAngleSpan.TabIndex = 197;
|
||||
this.tbx_startAngleSpan.Text = "10";
|
||||
//
|
||||
// btn_addExpectCircleStartAngle
|
||||
//
|
||||
this.btn_addExpectCircleStartAngle.Location = new System.Drawing.Point(719, 120);
|
||||
this.btn_addExpectCircleStartAngle.Margin = new System.Windows.Forms.Padding(2, 3, 2, 3);
|
||||
this.btn_addExpectCircleStartAngle.Name = "btn_addExpectCircleStartAngle";
|
||||
this.btn_addExpectCircleStartAngle.Size = new System.Drawing.Size(29, 25);
|
||||
this.btn_addExpectCircleStartAngle.TabIndex = 196;
|
||||
this.btn_addExpectCircleStartAngle.Text = "+";
|
||||
this.btn_addExpectCircleStartAngle.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// btn_runFindCircleTool
|
||||
//
|
||||
this.btn_runFindCircleTool.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btn_runFindCircleTool.Location = new System.Drawing.Point(877, 321);
|
||||
this.btn_runFindCircleTool.Margin = new System.Windows.Forms.Padding(2, 3, 2, 3);
|
||||
this.btn_runFindCircleTool.Name = "btn_runFindCircleTool";
|
||||
this.btn_runFindCircleTool.Size = new System.Drawing.Size(98, 45);
|
||||
this.btn_runFindCircleTool.TabIndex = 173;
|
||||
this.btn_runFindCircleTool.Text = "运行";
|
||||
this.btn_runFindCircleTool.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// btn_subExpectRingRadiusLength
|
||||
//
|
||||
this.btn_subExpectRingRadiusLength.Location = new System.Drawing.Point(649, 225);
|
||||
this.btn_subExpectRingRadiusLength.Margin = new System.Windows.Forms.Padding(2, 3, 2, 3);
|
||||
this.btn_subExpectRingRadiusLength.Name = "btn_subExpectRingRadiusLength";
|
||||
this.btn_subExpectRingRadiusLength.Size = new System.Drawing.Size(29, 25);
|
||||
this.btn_subExpectRingRadiusLength.TabIndex = 195;
|
||||
this.btn_subExpectRingRadiusLength.Text = "-";
|
||||
this.btn_subExpectRingRadiusLength.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// tbx_ringRadiusLengthSpan
|
||||
//
|
||||
this.tbx_ringRadiusLengthSpan.Location = new System.Drawing.Point(681, 226);
|
||||
this.tbx_ringRadiusLengthSpan.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.tbx_ringRadiusLengthSpan.Name = "tbx_ringRadiusLengthSpan";
|
||||
this.tbx_ringRadiusLengthSpan.Size = new System.Drawing.Size(35, 21);
|
||||
this.tbx_ringRadiusLengthSpan.TabIndex = 194;
|
||||
this.tbx_ringRadiusLengthSpan.Text = "10";
|
||||
//
|
||||
// btn_moveCliperRegion
|
||||
//
|
||||
this.btn_moveCliperRegion.Location = new System.Drawing.Point(672, 321);
|
||||
this.btn_moveCliperRegion.Margin = new System.Windows.Forms.Padding(2, 3, 2, 3);
|
||||
this.btn_moveCliperRegion.Name = "btn_moveCliperRegion";
|
||||
this.btn_moveCliperRegion.Size = new System.Drawing.Size(76, 26);
|
||||
this.btn_moveCliperRegion.TabIndex = 172;
|
||||
this.btn_moveCliperRegion.Text = "编辑卡尺";
|
||||
this.btn_moveCliperRegion.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// btn_addExpectCircleRingRadiusLength
|
||||
//
|
||||
this.btn_addExpectCircleRingRadiusLength.Location = new System.Drawing.Point(719, 225);
|
||||
this.btn_addExpectCircleRingRadiusLength.Margin = new System.Windows.Forms.Padding(2, 3, 2, 3);
|
||||
this.btn_addExpectCircleRingRadiusLength.Name = "btn_addExpectCircleRingRadiusLength";
|
||||
this.btn_addExpectCircleRingRadiusLength.Size = new System.Drawing.Size(29, 25);
|
||||
this.btn_addExpectCircleRingRadiusLength.TabIndex = 193;
|
||||
this.btn_addExpectCircleRingRadiusLength.Text = "+";
|
||||
this.btn_addExpectCircleRingRadiusLength.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// btn_subExpectCircleRadius
|
||||
//
|
||||
this.btn_subExpectCircleRadius.Location = new System.Drawing.Point(649, 87);
|
||||
this.btn_subExpectCircleRadius.Margin = new System.Windows.Forms.Padding(2, 3, 2, 3);
|
||||
this.btn_subExpectCircleRadius.Name = "btn_subExpectCircleRadius";
|
||||
this.btn_subExpectCircleRadius.Size = new System.Drawing.Size(29, 25);
|
||||
this.btn_subExpectCircleRadius.TabIndex = 192;
|
||||
this.btn_subExpectCircleRadius.Text = "-";
|
||||
this.btn_subExpectCircleRadius.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// tbx_expectCircleRadiusSapn
|
||||
//
|
||||
this.tbx_expectCircleRadiusSapn.Location = new System.Drawing.Point(681, 88);
|
||||
this.tbx_expectCircleRadiusSapn.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.tbx_expectCircleRadiusSapn.Name = "tbx_expectCircleRadiusSapn";
|
||||
this.tbx_expectCircleRadiusSapn.Size = new System.Drawing.Size(35, 21);
|
||||
this.tbx_expectCircleRadiusSapn.TabIndex = 191;
|
||||
this.tbx_expectCircleRadiusSapn.Text = "10";
|
||||
//
|
||||
// btn_addExpectCirlceRadius
|
||||
//
|
||||
this.btn_addExpectCirlceRadius.Location = new System.Drawing.Point(719, 87);
|
||||
this.btn_addExpectCirlceRadius.Margin = new System.Windows.Forms.Padding(2, 3, 2, 3);
|
||||
this.btn_addExpectCirlceRadius.Name = "btn_addExpectCirlceRadius";
|
||||
this.btn_addExpectCirlceRadius.Size = new System.Drawing.Size(29, 25);
|
||||
this.btn_addExpectCirlceRadius.TabIndex = 190;
|
||||
this.btn_addExpectCirlceRadius.Text = "+";
|
||||
this.btn_addExpectCirlceRadius.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// btn_addExpectCircleRow
|
||||
//
|
||||
this.btn_addExpectCircleRow.Location = new System.Drawing.Point(719, 22);
|
||||
this.btn_addExpectCircleRow.Margin = new System.Windows.Forms.Padding(2, 3, 2, 3);
|
||||
this.btn_addExpectCircleRow.Name = "btn_addExpectCircleRow";
|
||||
this.btn_addExpectCircleRow.Size = new System.Drawing.Size(29, 25);
|
||||
this.btn_addExpectCircleRow.TabIndex = 184;
|
||||
this.btn_addExpectCircleRow.Text = "+";
|
||||
this.btn_addExpectCircleRow.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// btn_subExpectCircleCol
|
||||
//
|
||||
this.btn_subExpectCircleCol.Location = new System.Drawing.Point(649, 55);
|
||||
this.btn_subExpectCircleCol.Margin = new System.Windows.Forms.Padding(2, 3, 2, 3);
|
||||
this.btn_subExpectCircleCol.Name = "btn_subExpectCircleCol";
|
||||
this.btn_subExpectCircleCol.Size = new System.Drawing.Size(29, 25);
|
||||
this.btn_subExpectCircleCol.TabIndex = 189;
|
||||
this.btn_subExpectCircleCol.Text = "-";
|
||||
this.btn_subExpectCircleCol.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// tbx_expectCircelRowSpan
|
||||
//
|
||||
this.tbx_expectCircelRowSpan.Location = new System.Drawing.Point(681, 23);
|
||||
this.tbx_expectCircelRowSpan.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.tbx_expectCircelRowSpan.Name = "tbx_expectCircelRowSpan";
|
||||
this.tbx_expectCircelRowSpan.Size = new System.Drawing.Size(35, 21);
|
||||
this.tbx_expectCircelRowSpan.TabIndex = 185;
|
||||
this.tbx_expectCircelRowSpan.Text = "10";
|
||||
//
|
||||
// tbx_expectCircleColSpan
|
||||
//
|
||||
this.tbx_expectCircleColSpan.Location = new System.Drawing.Point(681, 56);
|
||||
this.tbx_expectCircleColSpan.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.tbx_expectCircleColSpan.Name = "tbx_expectCircleColSpan";
|
||||
this.tbx_expectCircleColSpan.Size = new System.Drawing.Size(35, 21);
|
||||
this.tbx_expectCircleColSpan.TabIndex = 188;
|
||||
this.tbx_expectCircleColSpan.Text = "10";
|
||||
//
|
||||
// btn_subExpectCircleRow
|
||||
//
|
||||
this.btn_subExpectCircleRow.Location = new System.Drawing.Point(649, 22);
|
||||
this.btn_subExpectCircleRow.Margin = new System.Windows.Forms.Padding(2, 3, 2, 3);
|
||||
this.btn_subExpectCircleRow.Name = "btn_subExpectCircleRow";
|
||||
this.btn_subExpectCircleRow.Size = new System.Drawing.Size(29, 25);
|
||||
this.btn_subExpectCircleRow.TabIndex = 186;
|
||||
this.btn_subExpectCircleRow.Text = "-";
|
||||
this.btn_subExpectCircleRow.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// btn_addExpectCircleCol
|
||||
//
|
||||
this.btn_addExpectCircleCol.Location = new System.Drawing.Point(719, 55);
|
||||
this.btn_addExpectCircleCol.Margin = new System.Windows.Forms.Padding(2, 3, 2, 3);
|
||||
this.btn_addExpectCircleCol.Name = "btn_addExpectCircleCol";
|
||||
this.btn_addExpectCircleCol.Size = new System.Drawing.Size(29, 25);
|
||||
this.btn_addExpectCircleCol.TabIndex = 187;
|
||||
this.btn_addExpectCircleCol.Text = "+";
|
||||
this.btn_addExpectCircleCol.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.Location = new System.Drawing.Point(12, 12);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Size = new System.Drawing.Size(453, 405);
|
||||
this.panel1.TabIndex = 218;
|
||||
//
|
||||
// FormFindCircle
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(1042, 429);
|
||||
this.Controls.Add(this.panel1);
|
||||
this.Controls.Add(this.tbx_threshold);
|
||||
this.Controls.Add(this.label12);
|
||||
this.Controls.Add(this.btn_subThreshold);
|
||||
this.Controls.Add(this.tbx_thresholdSpan);
|
||||
this.Controls.Add(this.btn_addThreshold);
|
||||
this.Controls.Add(this.cbx_polarity);
|
||||
this.Controls.Add(this.btn_switchPolarity);
|
||||
this.Controls.Add(this.tbx_cliperNum);
|
||||
this.Controls.Add(this.label8);
|
||||
this.Controls.Add(this.btn_subCliperNum);
|
||||
this.Controls.Add(this.label11);
|
||||
this.Controls.Add(this.tbx_cliperNumSpan);
|
||||
this.Controls.Add(this.btn_addCliperNum);
|
||||
this.Controls.Add(this.tbx_ringRadiusLength);
|
||||
this.Controls.Add(this.tbx_endAngle);
|
||||
this.Controls.Add(this.tbx_expectCircelRow);
|
||||
this.Controls.Add(this.tbx_expectCircleCol);
|
||||
this.Controls.Add(this.tbx_expectCircleradius);
|
||||
this.Controls.Add(this.tbx_startAngle);
|
||||
this.Controls.Add(this.groupBox2);
|
||||
this.Controls.Add(this.btn_subExpectCircleEndAngle);
|
||||
this.Controls.Add(this.tbx_endAngleSpan);
|
||||
this.Controls.Add(this.label3);
|
||||
this.Controls.Add(this.btn_addExpectCircleEndAngle);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.label4);
|
||||
this.Controls.Add(this.label6);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.btn_subExpectCircleStartAngle);
|
||||
this.Controls.Add(this.label5);
|
||||
this.Controls.Add(this.tbx_startAngleSpan);
|
||||
this.Controls.Add(this.btn_addExpectCircleStartAngle);
|
||||
this.Controls.Add(this.btn_runFindCircleTool);
|
||||
this.Controls.Add(this.btn_subExpectRingRadiusLength);
|
||||
this.Controls.Add(this.tbx_ringRadiusLengthSpan);
|
||||
this.Controls.Add(this.btn_moveCliperRegion);
|
||||
this.Controls.Add(this.btn_addExpectCircleRingRadiusLength);
|
||||
this.Controls.Add(this.btn_subExpectCircleRadius);
|
||||
this.Controls.Add(this.tbx_expectCircleRadiusSapn);
|
||||
this.Controls.Add(this.btn_addExpectCirlceRadius);
|
||||
this.Controls.Add(this.btn_addExpectCircleRow);
|
||||
this.Controls.Add(this.btn_subExpectCircleCol);
|
||||
this.Controls.Add(this.tbx_expectCircelRowSpan);
|
||||
this.Controls.Add(this.tbx_expectCircleColSpan);
|
||||
this.Controls.Add(this.btn_subExpectCircleRow);
|
||||
this.Controls.Add(this.btn_addExpectCircleCol);
|
||||
this.Name = "FormFindCircle";
|
||||
this.Text = "FormFindCircle";
|
||||
this.Load += new System.EventHandler(this.FormFindCircle_Load);
|
||||
this.groupBox2.ResumeLayout(false);
|
||||
this.groupBox2.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public System.Windows.Forms.TextBox tbx_threshold;
|
||||
private System.Windows.Forms.Label label12;
|
||||
private System.Windows.Forms.Button btn_subThreshold;
|
||||
private System.Windows.Forms.TextBox tbx_thresholdSpan;
|
||||
private System.Windows.Forms.Button btn_addThreshold;
|
||||
public System.Windows.Forms.ComboBox cbx_polarity;
|
||||
private System.Windows.Forms.Button btn_switchPolarity;
|
||||
public System.Windows.Forms.TextBox tbx_cliperNum;
|
||||
private System.Windows.Forms.Label label8;
|
||||
private System.Windows.Forms.Button btn_subCliperNum;
|
||||
private System.Windows.Forms.Label label11;
|
||||
private System.Windows.Forms.TextBox tbx_cliperNumSpan;
|
||||
private System.Windows.Forms.Button btn_addCliperNum;
|
||||
public System.Windows.Forms.TextBox tbx_ringRadiusLength;
|
||||
public System.Windows.Forms.TextBox tbx_endAngle;
|
||||
public System.Windows.Forms.TextBox tbx_expectCircelRow;
|
||||
public System.Windows.Forms.TextBox tbx_expectCircleCol;
|
||||
public System.Windows.Forms.TextBox tbx_expectCircleradius;
|
||||
public System.Windows.Forms.TextBox tbx_startAngle;
|
||||
private System.Windows.Forms.GroupBox groupBox2;
|
||||
public System.Windows.Forms.TextBox tbx_resultCircleRow;
|
||||
public System.Windows.Forms.TextBox tbx_resultCircleCol;
|
||||
public System.Windows.Forms.TextBox tbx_resultCircleRadius;
|
||||
private System.Windows.Forms.Label label7;
|
||||
private System.Windows.Forms.Label label10;
|
||||
private System.Windows.Forms.Label label9;
|
||||
private System.Windows.Forms.Button btn_subExpectCircleEndAngle;
|
||||
private System.Windows.Forms.TextBox tbx_endAngleSpan;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.Button btn_addExpectCircleEndAngle;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.Label label6;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Button btn_subExpectCircleStartAngle;
|
||||
private System.Windows.Forms.Label label5;
|
||||
private System.Windows.Forms.TextBox tbx_startAngleSpan;
|
||||
private System.Windows.Forms.Button btn_addExpectCircleStartAngle;
|
||||
public System.Windows.Forms.Button btn_runFindCircleTool;
|
||||
private System.Windows.Forms.Button btn_subExpectRingRadiusLength;
|
||||
private System.Windows.Forms.TextBox tbx_ringRadiusLengthSpan;
|
||||
private System.Windows.Forms.Button btn_moveCliperRegion;
|
||||
private System.Windows.Forms.Button btn_addExpectCircleRingRadiusLength;
|
||||
private System.Windows.Forms.Button btn_subExpectCircleRadius;
|
||||
private System.Windows.Forms.TextBox tbx_expectCircleRadiusSapn;
|
||||
private System.Windows.Forms.Button btn_addExpectCirlceRadius;
|
||||
private System.Windows.Forms.Button btn_addExpectCircleRow;
|
||||
private System.Windows.Forms.Button btn_subExpectCircleCol;
|
||||
private System.Windows.Forms.TextBox tbx_expectCircelRowSpan;
|
||||
private System.Windows.Forms.TextBox tbx_expectCircleColSpan;
|
||||
private System.Windows.Forms.Button btn_subExpectCircleRow;
|
||||
private System.Windows.Forms.Button btn_addExpectCircleCol;
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
}
|
||||
}
|
||||
22
FindCircle/FormFindCircle.cs
Normal file
22
FindCircle/FormFindCircle.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
using HalconWindow.HalconWindow;
|
||||
|
||||
namespace FindCircle
|
||||
{
|
||||
public partial class FormFindCircle : Form
|
||||
{
|
||||
FindClrcle myFindCircle = null;
|
||||
public FormFindCircle(object findCircleClass)
|
||||
{
|
||||
InitializeComponent();
|
||||
myFindCircle = (FindClrcle)findCircleClass;
|
||||
}
|
||||
|
||||
private void FormFindCircle_Load(object sender, EventArgs e)
|
||||
{
|
||||
HWindow_Final myWindow = new HWindow_Final();
|
||||
this.panel1.Controls.Add(myWindow);
|
||||
}
|
||||
}
|
||||
}
|
||||
120
FindCircle/FormFindCircle.resx
Normal file
120
FindCircle/FormFindCircle.resx
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
BIN
FindCircle/Properties/AssemblyInfo.cs
Normal file
BIN
FindCircle/Properties/AssemblyInfo.cs
Normal file
Binary file not shown.
BIN
FindCircle/bin/Debug/DataStruct.dll
Normal file
BIN
FindCircle/bin/Debug/DataStruct.dll
Normal file
Binary file not shown.
BIN
FindCircle/bin/Debug/DataStruct.pdb
Normal file
BIN
FindCircle/bin/Debug/DataStruct.pdb
Normal file
Binary file not shown.
BIN
FindCircle/bin/Debug/FindCircleTool.dll
Normal file
BIN
FindCircle/bin/Debug/FindCircleTool.dll
Normal file
Binary file not shown.
BIN
FindCircle/bin/Debug/FindCircleTool.pdb
Normal file
BIN
FindCircle/bin/Debug/FindCircleTool.pdb
Normal file
Binary file not shown.
BIN
FindCircle/bin/Debug/HalconWindow.exe
Normal file
BIN
FindCircle/bin/Debug/HalconWindow.exe
Normal file
Binary file not shown.
BIN
FindCircle/bin/Debug/HalconWindow.pdb
Normal file
BIN
FindCircle/bin/Debug/HalconWindow.pdb
Normal file
Binary file not shown.
BIN
FindCircle/bin/Debug/halcondotnet.dll
Normal file
BIN
FindCircle/bin/Debug/halcondotnet.dll
Normal file
Binary file not shown.
61480
FindCircle/bin/Debug/halcondotnet.xml
Normal file
61480
FindCircle/bin/Debug/halcondotnet.xml
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
BIN
FindCircle/obj/Debug/FindCircle.FormFindCircle.resources
Normal file
BIN
FindCircle/obj/Debug/FindCircle.FormFindCircle.resources
Normal file
Binary file not shown.
13
FindCircle/obj/Debug/FindCircle.csproj.FileListAbsolute.txt
Normal file
13
FindCircle/obj/Debug/FindCircle.csproj.FileListAbsolute.txt
Normal file
@@ -0,0 +1,13 @@
|
||||
F:\VSCode\VisionEditTest\FindCircle\bin\Debug\halcondotnet.dll
|
||||
F:\VSCode\VisionEditTest\FindCircle\bin\Debug\HalconWindow.exe
|
||||
F:\VSCode\VisionEditTest\FindCircle\bin\Debug\HalconWindow.pdb
|
||||
F:\VSCode\VisionEditTest\FindCircle\bin\Debug\halcondotnet.xml
|
||||
F:\VSCode\VisionEditTest\FindCircle\obj\Debug\FindCircle.csprojResolveAssemblyReference.cache
|
||||
F:\VSCode\VisionEditTest\FindCircle\obj\Debug\FindCircle.FormFindCircle.resources
|
||||
F:\VSCode\VisionEditTest\FindCircle\obj\Debug\FindCircle.csproj.GenerateResource.Cache
|
||||
F:\VSCode\VisionEditTest\FindCircle\bin\Debug\FindCircleTool.dll
|
||||
F:\VSCode\VisionEditTest\FindCircle\bin\Debug\FindCircleTool.pdb
|
||||
F:\VSCode\VisionEditTest\FindCircle\bin\Debug\DataStruct.dll
|
||||
F:\VSCode\VisionEditTest\FindCircle\bin\Debug\DataStruct.pdb
|
||||
F:\VSCode\VisionEditTest\FindCircle\obj\Debug\FindCircleTool.dll
|
||||
F:\VSCode\VisionEditTest\FindCircle\obj\Debug\FindCircleTool.pdb
|
||||
BIN
FindCircle/obj/Debug/FindCircle.csproj.GenerateResource.Cache
Normal file
BIN
FindCircle/obj/Debug/FindCircle.csproj.GenerateResource.Cache
Normal file
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,13 @@
|
||||
F:\VSCode\VisionEditTest\FindCircle\bin\Debug\FindCircleTool.dll
|
||||
F:\VSCode\VisionEditTest\FindCircle\bin\Debug\FindCircleTool.pdb
|
||||
F:\VSCode\VisionEditTest\FindCircle\bin\Debug\DataStruct.dll
|
||||
F:\VSCode\VisionEditTest\FindCircle\bin\Debug\halcondotnet.dll
|
||||
F:\VSCode\VisionEditTest\FindCircle\bin\Debug\HalconWindow.exe
|
||||
F:\VSCode\VisionEditTest\FindCircle\bin\Debug\DataStruct.pdb
|
||||
F:\VSCode\VisionEditTest\FindCircle\bin\Debug\HalconWindow.pdb
|
||||
F:\VSCode\VisionEditTest\FindCircle\bin\Debug\halcondotnet.xml
|
||||
F:\VSCode\VisionEditTest\FindCircle\obj\Debug\FindCircleTool.csprojResolveAssemblyReference.cache
|
||||
F:\VSCode\VisionEditTest\FindCircle\obj\Debug\FindCircle.FormFindCircle.resources
|
||||
F:\VSCode\VisionEditTest\FindCircle\obj\Debug\FindCircleTool.csproj.GenerateResource.Cache
|
||||
F:\VSCode\VisionEditTest\FindCircle\obj\Debug\FindCircleTool.dll
|
||||
F:\VSCode\VisionEditTest\FindCircle\obj\Debug\FindCircleTool.pdb
|
||||
Binary file not shown.
Binary file not shown.
BIN
FindCircle/obj/Debug/FindCircleTool.dll
Normal file
BIN
FindCircle/obj/Debug/FindCircleTool.dll
Normal file
Binary file not shown.
BIN
FindCircle/obj/Debug/FindCircleTool.pdb
Normal file
BIN
FindCircle/obj/Debug/FindCircleTool.pdb
Normal file
Binary file not shown.
368
FindLine/FindLine.cs
Normal file
368
FindLine/FindLine.cs
Normal file
@@ -0,0 +1,368 @@
|
||||
using System;
|
||||
using HalconDotNet;
|
||||
using DataStruct;
|
||||
using static DataStruct.DataStruct;
|
||||
using ToolBase;
|
||||
using HalconWindow.HalconWindow;
|
||||
using CommonMethods;
|
||||
|
||||
namespace FindLineTool
|
||||
{
|
||||
[Serializable]
|
||||
public class FindLine:IToolBase
|
||||
{
|
||||
internal bool toolEnable = true;
|
||||
/// <summary>
|
||||
/// 输入姿态
|
||||
/// </summary>
|
||||
internal PosXYU inputPose = new PosXYU();
|
||||
/// <summary>
|
||||
/// 制作模板时的输入位姿
|
||||
/// </summary>
|
||||
internal PosXYU templatePose = new PosXYU();
|
||||
/// <summary>
|
||||
/// 期望线起点行坐标
|
||||
/// </summary>
|
||||
internal HTuple expectLineStartRow = 200;
|
||||
/// <summary>
|
||||
/// 卡尺
|
||||
/// </summary>
|
||||
internal HObject contours;
|
||||
/// <summary>
|
||||
/// 期望线起点列坐标
|
||||
/// </summary>
|
||||
internal HTuple expectLineStartCol = 200;
|
||||
/// <summary>
|
||||
/// 期望线终点行坐标
|
||||
/// </summary>
|
||||
internal HTuple expectLineEndRow = 200;
|
||||
/// <summary>
|
||||
/// 期望线终点列坐标
|
||||
/// </summary>
|
||||
internal HTuple expectLineEndCol = 600;
|
||||
/// <summary>
|
||||
/// 找边极性,从明到暗或从暗到明
|
||||
/// </summary>
|
||||
internal string polarity = "negative";
|
||||
/// <summary>
|
||||
/// 卡尺数量
|
||||
/// </summary>
|
||||
internal int cliperNum = 20;
|
||||
/// <summary>
|
||||
/// 卡尺高
|
||||
/// </summary>
|
||||
internal int length = 80;
|
||||
/// <summary>
|
||||
/// 卡尺宽
|
||||
/// </summary>
|
||||
internal int weidth = 5;
|
||||
/// <summary>
|
||||
/// 边阈值
|
||||
/// </summary>
|
||||
internal int threshold = 30;
|
||||
/// <summary>
|
||||
/// 边Sigma
|
||||
/// </summary>
|
||||
internal double sigma = 1.0;
|
||||
/// <summary>
|
||||
/// 选择所查找到的边
|
||||
/// </summary>
|
||||
internal string edgeSelect = "all";
|
||||
/// <summary>
|
||||
/// 分数阈值
|
||||
/// </summary>
|
||||
internal double _minScore = 0.5;
|
||||
internal double minScore
|
||||
{
|
||||
get
|
||||
{
|
||||
return _minScore;
|
||||
}
|
||||
set
|
||||
{
|
||||
if(minScore >= 1)
|
||||
{
|
||||
_minScore = 1;
|
||||
}
|
||||
else if(minScore <= 0)
|
||||
{
|
||||
_minScore = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
_minScore = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 找到的线段
|
||||
/// </summary>
|
||||
internal Line resultLine = new Line();
|
||||
/// <summary>
|
||||
/// 新的跟随姿态变化后的预期线信息
|
||||
/// </summary>
|
||||
HTuple newExpectLineStartRow = new HTuple(200), newExpectLineStartCol = new HTuple(200), newExpectLineEndRow = new HTuple(200), newExpectLineEndCol = new HTuple(600);
|
||||
/// <summary>
|
||||
/// 查找到的线的起点行坐标
|
||||
/// </summary>
|
||||
private HTuple _resultLineStartRow = 0;
|
||||
internal HTuple ResultLineStartRow
|
||||
{
|
||||
get
|
||||
{
|
||||
_resultLineStartRow = Math.Round((double)_resultLineStartRow, 3);
|
||||
return _resultLineStartRow;
|
||||
}
|
||||
set { _resultLineStartRow = value; }
|
||||
}
|
||||
/// <summary>
|
||||
/// 查找到的线的起点列坐标
|
||||
/// </summary>
|
||||
private HTuple _resultLineStartCol = 0;
|
||||
internal HTuple ResultLineStartCol
|
||||
{
|
||||
get
|
||||
{
|
||||
_resultLineStartCol = Math.Round((double)_resultLineStartCol, 3);
|
||||
return _resultLineStartCol;
|
||||
}
|
||||
set { _resultLineStartCol = value; }
|
||||
}
|
||||
/// <summary>
|
||||
/// 查找到的线的终点行坐标
|
||||
/// </summary>
|
||||
private HTuple _resultLineEndRow = 0;
|
||||
internal HTuple ResultLineEndRow
|
||||
{
|
||||
get
|
||||
{
|
||||
_resultLineEndRow = Math.Round((double)_resultLineEndRow, 3);
|
||||
return _resultLineEndRow;
|
||||
}
|
||||
set { _resultLineEndRow = value; }
|
||||
}
|
||||
/// <summary>
|
||||
/// 查找到的线的终点列坐标
|
||||
/// </summary>
|
||||
private HTuple _resultLineEndCol = 0;
|
||||
internal HTuple ResultLineEndCol
|
||||
{
|
||||
get
|
||||
{
|
||||
_resultLineEndCol = Math.Round((double)_resultLineEndCol, 3);
|
||||
return _resultLineEndCol;
|
||||
}
|
||||
set { _resultLineEndCol = value; }
|
||||
}
|
||||
/// <summary>
|
||||
/// 查找到线的方向
|
||||
/// </summary>
|
||||
private HTuple _angle = 0;
|
||||
internal HTuple Angle
|
||||
{
|
||||
get
|
||||
{
|
||||
_angle = Math.Round((double)_angle, 3);
|
||||
return _angle;
|
||||
}
|
||||
set { _angle = value; }
|
||||
}
|
||||
|
||||
public HObject inputImage { get; set; }
|
||||
|
||||
public ToolRunStatu toolRunStatu { get; set; }
|
||||
public void DispImage()
|
||||
{
|
||||
FormFindLine.Instance.myHwindow.HobjectToHimage(inputImage);
|
||||
}
|
||||
|
||||
public void UpdateImage()
|
||||
{
|
||||
FormFindLine.Instance.myHwindow.ClearWindow();
|
||||
DispImage();
|
||||
}
|
||||
|
||||
public void Run()
|
||||
{
|
||||
if(inputImage == null)
|
||||
{
|
||||
FormFindLine.Instance.TextBoxMessageDisp("图像为空", System.Drawing.Color.Red);
|
||||
toolRunStatu = ToolRunStatu.Not_Input_Image;
|
||||
return;
|
||||
}
|
||||
try
|
||||
{
|
||||
UpdateImage();
|
||||
if (inputPose != null)
|
||||
{
|
||||
HTuple Row = inputPose.X - templatePose.X;
|
||||
HTuple Col = inputPose.Y - templatePose.Y;
|
||||
HTuple angle = inputPose.U - templatePose.U;
|
||||
|
||||
HTuple _homMat2D;
|
||||
HOperatorSet.HomMat2dIdentity(out _homMat2D);
|
||||
HOperatorSet.HomMat2dRotate(_homMat2D, (HTuple)(angle), (HTuple)templatePose.X, (HTuple)templatePose.Y, out _homMat2D);
|
||||
HOperatorSet.HomMat2dTranslate(_homMat2D, (HTuple)(Row), (HTuple)(Col), out _homMat2D);
|
||||
|
||||
//对预期线的起始点做放射变换
|
||||
HOperatorSet.AffineTransPixel(_homMat2D, (HTuple)expectLineStartRow, (HTuple)expectLineStartCol, out newExpectLineStartRow, out newExpectLineStartCol);
|
||||
HOperatorSet.AffineTransPixel(_homMat2D, (HTuple)expectLineEndRow, (HTuple)expectLineEndCol, out newExpectLineEndRow, out newExpectLineEndCol);
|
||||
}
|
||||
else
|
||||
{
|
||||
newExpectLineStartRow = expectLineStartRow;
|
||||
newExpectLineStartCol = expectLineStartCol;
|
||||
newExpectLineEndRow = expectLineEndRow;
|
||||
newExpectLineEndCol = expectLineEndCol;
|
||||
}
|
||||
|
||||
HTuple handleID;
|
||||
HOperatorSet.CreateMetrologyModel(out handleID);
|
||||
HTuple width, height;
|
||||
HOperatorSet.GetImageSize(inputImage, out width, out height);
|
||||
HOperatorSet.SetMetrologyModelImageSize(handleID, width[0], height[0]);
|
||||
HTuple index;
|
||||
HOperatorSet.AddMetrologyObjectLineMeasure(handleID, newExpectLineStartRow, newExpectLineStartCol, newExpectLineEndRow, newExpectLineEndCol, new HTuple(50), new HTuple(20), new HTuple(1), new HTuple(30), new HTuple(), new HTuple(), out index);
|
||||
|
||||
//参数在这里设置
|
||||
HOperatorSet.SetMetrologyObjectParam(handleID, new HTuple("all"), new HTuple("measure_transition"), new HTuple(polarity));
|
||||
HOperatorSet.SetMetrologyObjectParam(handleID, new HTuple("all"), new HTuple("num_measures"), new HTuple(cliperNum));
|
||||
HOperatorSet.SetMetrologyObjectParam(handleID, new HTuple("all"), new HTuple("measure_length1"), new HTuple(length));
|
||||
HOperatorSet.SetMetrologyObjectParam(handleID, new HTuple("all"), new HTuple("measure_length2"), new HTuple(weidth));
|
||||
HOperatorSet.SetMetrologyObjectParam(handleID, new HTuple("all"), new HTuple("measure_threshold"), new HTuple(threshold));
|
||||
HOperatorSet.SetMetrologyObjectParam(handleID, new HTuple("all"), new HTuple("measure_select"), new HTuple(edgeSelect));
|
||||
HOperatorSet.SetMetrologyObjectParam(handleID, new HTuple("all"), new HTuple("measure_sigma"), new HTuple(sigma));
|
||||
HOperatorSet.SetMetrologyObjectParam(handleID, new HTuple("all"), new HTuple("min_score"), new HTuple(minScore));
|
||||
HOperatorSet.ApplyMetrologyModel(inputImage, handleID);
|
||||
|
||||
//显示所有卡尺
|
||||
HTuple pointRow, pointCol;
|
||||
HOperatorSet.GetMetrologyObjectMeasures(out contours, handleID, new HTuple("all"), new HTuple("all"), out pointRow, out pointCol);
|
||||
HOperatorSet.SetColor(FormFindLine.Instance.myHwindow.hWindowControl.HalconWindow, new HTuple("blue"));
|
||||
HOperatorSet.DispObj(contours, FormFindLine.Instance.myHwindow.hWindowControl.HalconWindow);
|
||||
FormFindLine.Instance.myHwindow.DispObj(contours, "blue");
|
||||
|
||||
//显示指示找线方向的箭头
|
||||
HTuple arrowAngle;
|
||||
HOperatorSet.AngleLx(newExpectLineStartRow, newExpectLineStartCol, newExpectLineEndRow, newExpectLineEndCol, out arrowAngle);
|
||||
#region 测试箭头
|
||||
|
||||
|
||||
#endregion
|
||||
arrowAngle = arrowAngle + Math.PI / 2;
|
||||
arrowAngle = arrowAngle.TupleDeg();
|
||||
HTuple row = (newExpectLineStartRow + newExpectLineEndRow) / 2;
|
||||
HTuple column = (newExpectLineStartCol + newExpectLineEndCol) / 2;
|
||||
double drow, dcolumn;
|
||||
double arrowLength = length + 100;
|
||||
if (0 <= arrowAngle && arrowAngle <= 90)
|
||||
{
|
||||
drow = Math.Abs(arrowLength * Math.Sin(((HTuple)arrowAngle).TupleRad()));
|
||||
dcolumn = Math.Abs(arrowLength * Math.Cos(((HTuple)arrowAngle).TupleRad()));
|
||||
HOperatorSet.DispArrow(FormFindLine.Instance.myHwindow.hWindowControl.HalconWindow, row, column, row - drow, column + dcolumn, 5.0);
|
||||
}
|
||||
else if (arrowAngle > 90 && arrowAngle <= 180)
|
||||
{
|
||||
drow = arrowLength * Math.Sin(((HTuple)(180 - arrowAngle)).TupleRad());
|
||||
dcolumn = arrowLength * Math.Cos(((HTuple)(180 - arrowAngle)).TupleRad());
|
||||
HOperatorSet.DispArrow(FormFindLine.Instance.myHwindow.hWindowControl.HalconWindow, row, column, row - drow, column - dcolumn, 5.0);
|
||||
}
|
||||
else if (arrowAngle < 0 && arrowAngle >= -90)
|
||||
{
|
||||
drow = arrowLength * Math.Sin(((HTuple)arrowAngle * -1).TupleRad());
|
||||
dcolumn = arrowLength * Math.Cos(((HTuple)arrowAngle * -1).TupleRad());
|
||||
HOperatorSet.DispArrow(FormFindLine.Instance.myHwindow.hWindowControl.HalconWindow, row, column, row + drow, column + dcolumn, 5.0);
|
||||
}
|
||||
else if (arrowAngle < -90 && arrowAngle >= -180)
|
||||
{
|
||||
drow = Math.Abs(arrowLength * Math.Sin(((HTuple)arrowAngle + 180).TupleRad()));
|
||||
dcolumn = Math.Abs(arrowLength * Math.Cos(((HTuple)arrowAngle + 180).TupleRad()));
|
||||
HOperatorSet.DispArrow(FormFindLine.Instance.myHwindow.hWindowControl.HalconWindow, row, column, row + drow, column - dcolumn, 5.0);
|
||||
}
|
||||
|
||||
//把点显示出来
|
||||
HObject cross;
|
||||
HOperatorSet.GenCrossContourXld(out cross, pointRow, pointCol, new HTuple(12), new HTuple(0));
|
||||
HOperatorSet.SetColor(FormFindLine.Instance.myHwindow.hWindowControl.HalconWindow, new HTuple("orange"));
|
||||
HOperatorSet.DispObj(cross, FormFindLine.Instance.myHwindow.hWindowControl.HalconWindow);
|
||||
FormFindLine.Instance.myHwindow.DispObj(cross, "orange");
|
||||
|
||||
//得到所找到的线
|
||||
HTuple parameter;
|
||||
HObject line;
|
||||
HOperatorSet.GetMetrologyObjectResult(handleID, new HTuple("all"), new HTuple("all"), new HTuple("result_type"), new HTuple("all_param"), out parameter);
|
||||
HOperatorSet.GetMetrologyObjectResultContour(out line, handleID, new HTuple("all"), new HTuple("all"), new HTuple(1.5));
|
||||
|
||||
if (parameter.Length >= 4)
|
||||
{
|
||||
ResultLineStartRow = parameter[0];
|
||||
ResultLineStartCol = parameter[1];
|
||||
ResultLineEndRow = parameter[2];
|
||||
ResultLineEndCol = parameter[3];
|
||||
Point start = new Point() { Row = ResultLineStartRow, Col = ResultLineStartCol };
|
||||
Point end = new Point() { Row = ResultLineEndRow, Col = ResultLineEndCol };
|
||||
resultLine = new Line() { StartPoint = start, EndPoint = end };
|
||||
|
||||
//显示找到的线
|
||||
HOperatorSet.SetColor(FormFindLine.Instance.myHwindow.hWindowControl.HalconWindow, new HTuple("green"));
|
||||
// HOperatorSet.DispObj(line, GetWindowHandle(jobName));
|
||||
FormFindLine.Instance.myHwindow.hWindowControl.HalconWindow.SetLineWidth(2);
|
||||
FormFindLine.Instance.myHwindow.DispObj(line, "green");
|
||||
}
|
||||
HOperatorSet.AngleLx(ResultLineStartRow, ResultLineStartCol, ResultLineEndRow, ResultLineEndCol, out _angle);
|
||||
HOperatorSet.ClearMetrologyModel(handleID);
|
||||
|
||||
FormFindLine.Instance.tbx_resultStartRow.Text = ResultLineStartRow.ToString();
|
||||
FormFindLine.Instance.tbx_resultStartCol.Text = ResultLineEndCol.ToString();
|
||||
FormFindLine.Instance.tbx_resultEndRow.Text = ResultLineEndRow.ToString();
|
||||
FormFindLine.Instance.tbx_resultEndCol.Text = ResultLineEndCol.ToString();
|
||||
FormFindLine.Instance.TextBoxMessageDisp("运行成功", System.Drawing.Color.Green);
|
||||
toolRunStatu = ToolRunStatu.Succeed;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
FormFindLine.Instance.TextBoxMessageDisp("工具运行异常" + ex.Message, System.Drawing.Color.Red);
|
||||
}
|
||||
}
|
||||
|
||||
internal void DrawExpectLine(HWindow_Final myHwindow)
|
||||
{
|
||||
if(inputImage != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
myHwindow.DrawModel = true;
|
||||
myHwindow.Focus();
|
||||
HOperatorSet.SetColor(myHwindow.hWindowControl.HalconWindow, new HTuple("green"));
|
||||
HOperatorSet.DrawLineMod(myHwindow.hWindowControl.HalconWindow, newExpectLineStartRow, newExpectLineStartCol, newExpectLineEndRow, newExpectLineEndCol, out expectLineStartRow, out expectLineStartCol, out expectLineEndRow, out expectLineEndCol);
|
||||
|
||||
if (inputPose != null)
|
||||
{
|
||||
templatePose.X = inputPose.X;
|
||||
templatePose.Y = inputPose.Y;
|
||||
templatePose.U = inputPose.U;
|
||||
}
|
||||
|
||||
FormFindLine.Instance.tbx_expectLineStartRow.Text = expectLineStartRow.TupleString("10.3f");
|
||||
FormFindLine.Instance.tbx_expectLineStartCol.Text = expectLineStartCol.TupleString("10.3f");
|
||||
FormFindLine.Instance.tbx_expectLineEndRow.Text = expectLineEndRow.TupleString("10.3f");
|
||||
FormFindLine.Instance.tbx_expectLineEndCol.Text = expectLineEndCol.TupleString("10.3f");
|
||||
myHwindow.DrawModel = false;
|
||||
|
||||
Run();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
FormFindLine.Instance.TextBoxMessageDisp(ex.Message, System.Drawing.Color.Red);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
FormFindLine.Instance.TextBoxMessageDisp("图像为空", System.Drawing.Color.Red);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
88
FindLine/FindLineTool.csproj
Normal file
88
FindLine/FindLineTool.csproj
Normal file
@@ -0,0 +1,88 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{C3BB2B1C-ED0C-4879-A6D3-D86342C5086E}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>FindLineTool</RootNamespace>
|
||||
<AssemblyName>FindLineTool</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="halcondotnet">
|
||||
<HintPath>C:\Program Files\MVTec\HALCON-19.05-Progress\bin\dotnet20\halcondotnet.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="FindLine.cs" />
|
||||
<Compile Include="FormFindLine.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="FormFindLine.Designer.cs">
|
||||
<DependentUpon>FormFindLine.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="FormFindLine.resx">
|
||||
<DependentUpon>FormFindLine.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\CommonMethods\CommonHelper.csproj">
|
||||
<Project>{1C8D0DDC-2086-48A9-9586-F2B643E2FC54}</Project>
|
||||
<Name>CommonHelper</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\DataStruct\DataStruct.csproj">
|
||||
<Project>{DF3D4D4C-02DF-4F92-9FD4-0A861F64B0EF}</Project>
|
||||
<Name>DataStruct</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\HalconWindowTest\HalconWindow.csproj">
|
||||
<Project>{4ADC75AE-59C7-4D36-B675-A6CE51B6F5BA}</Project>
|
||||
<Name>HalconWindow</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\ToolBase\ToolBase.csproj">
|
||||
<Project>{7CD50B44-BF56-4E8E-8FA1-05F6968C1835}</Project>
|
||||
<Name>ToolBase</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
||||
619
FindLine/FormFindLine.Designer.cs
generated
Normal file
619
FindLine/FormFindLine.Designer.cs
generated
Normal file
@@ -0,0 +1,619 @@
|
||||
namespace FindLineTool
|
||||
{
|
||||
partial class FormFindLine
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormFindLine));
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.tbx_expectLineEndRow = new System.Windows.Forms.TextBox();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.tbx_expectLineStartCol = new System.Windows.Forms.TextBox();
|
||||
this.tbx_expectLineEndCol = new System.Windows.Forms.TextBox();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.tbx_expectLineStartRow = new System.Windows.Forms.TextBox();
|
||||
this.label6 = new System.Windows.Forms.Label();
|
||||
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
||||
this.tbx_resultEndCol = new System.Windows.Forms.TextBox();
|
||||
this.label8 = new System.Windows.Forms.Label();
|
||||
this.tbx_resultStartRow = new System.Windows.Forms.TextBox();
|
||||
this.tbx_resultStartCol = new System.Windows.Forms.TextBox();
|
||||
this.tbx_resultEndRow = new System.Windows.Forms.TextBox();
|
||||
this.label7 = new System.Windows.Forms.Label();
|
||||
this.label10 = new System.Windows.Forms.Label();
|
||||
this.label9 = new System.Windows.Forms.Label();
|
||||
this.tbx_minScore = new System.Windows.Forms.TextBox();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.label14 = new System.Windows.Forms.Label();
|
||||
this.label13 = new System.Windows.Forms.Label();
|
||||
this.label12 = new System.Windows.Forms.Label();
|
||||
this.label11 = new System.Windows.Forms.Label();
|
||||
this.tbx_caliperLength = new System.Windows.Forms.TextBox();
|
||||
this.tbx_threshold = new System.Windows.Forms.TextBox();
|
||||
this.tbx_caliperNum = new System.Windows.Forms.TextBox();
|
||||
this.cbx_polarity = new System.Windows.Forms.ComboBox();
|
||||
this.btn_runFindLineTool = new System.Windows.Forms.Button();
|
||||
this.btn_moveCliperRegion = new System.Windows.Forms.Button();
|
||||
this.cbx_edgeSelect = new System.Windows.Forms.ComboBox();
|
||||
this.txbLog = new System.Windows.Forms.TextBox();
|
||||
this.tbx_Sigma = new System.Windows.Forms.TextBox();
|
||||
this.label15 = new System.Windows.Forms.Label();
|
||||
this.groupBox3 = new System.Windows.Forms.GroupBox();
|
||||
this.checkBox1 = new System.Windows.Forms.CheckBox();
|
||||
this.checkBox2 = new System.Windows.Forms.CheckBox();
|
||||
this.tbx_caliperLength2 = new System.Windows.Forms.TextBox();
|
||||
this.label16 = new System.Windows.Forms.Label();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
this.splitContainer1.SuspendLayout();
|
||||
this.groupBox1.SuspendLayout();
|
||||
this.groupBox2.SuspendLayout();
|
||||
this.groupBox3.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// splitContainer1
|
||||
//
|
||||
this.splitContainer1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.splitContainer1.Location = new System.Drawing.Point(0, 2);
|
||||
this.splitContainer1.Name = "splitContainer1";
|
||||
//
|
||||
// splitContainer1.Panel1
|
||||
//
|
||||
this.splitContainer1.Panel1.Controls.Add(this.panel1);
|
||||
//
|
||||
// splitContainer1.Panel2
|
||||
//
|
||||
this.splitContainer1.Panel2.BackColor = System.Drawing.Color.White;
|
||||
this.splitContainer1.Panel2.Controls.Add(this.groupBox3);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.groupBox1);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.label6);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.groupBox2);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.tbx_minScore);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.label5);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.label16);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.label14);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.label15);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.label13);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.label12);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.label11);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.tbx_caliperLength2);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.tbx_Sigma);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.tbx_caliperLength);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.tbx_threshold);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.tbx_caliperNum);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.cbx_polarity);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.btn_runFindLineTool);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.btn_moveCliperRegion);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.cbx_edgeSelect);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(1129, 479);
|
||||
this.splitContainer1.SplitterDistance = 563;
|
||||
this.splitContainer1.TabIndex = 0;
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Size = new System.Drawing.Size(563, 479);
|
||||
this.panel1.TabIndex = 272;
|
||||
//
|
||||
// groupBox1
|
||||
//
|
||||
this.groupBox1.Controls.Add(this.label3);
|
||||
this.groupBox1.Controls.Add(this.label1);
|
||||
this.groupBox1.Controls.Add(this.tbx_expectLineEndRow);
|
||||
this.groupBox1.Controls.Add(this.label4);
|
||||
this.groupBox1.Controls.Add(this.tbx_expectLineStartCol);
|
||||
this.groupBox1.Controls.Add(this.tbx_expectLineEndCol);
|
||||
this.groupBox1.Controls.Add(this.label2);
|
||||
this.groupBox1.Controls.Add(this.tbx_expectLineStartRow);
|
||||
this.groupBox1.Location = new System.Drawing.Point(14, 19);
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.Size = new System.Drawing.Size(224, 150);
|
||||
this.groupBox1.TabIndex = 318;
|
||||
this.groupBox1.TabStop = false;
|
||||
this.groupBox1.Text = "输入坐标";
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(22, 89);
|
||||
this.label3.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(77, 12);
|
||||
this.label3.TabIndex = 276;
|
||||
this.label3.Text = "终点行坐标:";
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(22, 31);
|
||||
this.label1.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(77, 12);
|
||||
this.label1.TabIndex = 272;
|
||||
this.label1.Text = "起点行坐标:";
|
||||
//
|
||||
// tbx_expectLineEndRow
|
||||
//
|
||||
this.tbx_expectLineEndRow.Location = new System.Drawing.Point(110, 87);
|
||||
this.tbx_expectLineEndRow.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.tbx_expectLineEndRow.Name = "tbx_expectLineEndRow";
|
||||
this.tbx_expectLineEndRow.Size = new System.Drawing.Size(71, 21);
|
||||
this.tbx_expectLineEndRow.TabIndex = 275;
|
||||
this.tbx_expectLineEndRow.TextChanged += new System.EventHandler(this.tbx_expectLineEndRow_TextChanged);
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(22, 119);
|
||||
this.label4.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(77, 12);
|
||||
this.label4.TabIndex = 278;
|
||||
this.label4.Text = "终点列坐标:";
|
||||
//
|
||||
// tbx_expectLineStartCol
|
||||
//
|
||||
this.tbx_expectLineStartCol.Location = new System.Drawing.Point(110, 58);
|
||||
this.tbx_expectLineStartCol.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.tbx_expectLineStartCol.Name = "tbx_expectLineStartCol";
|
||||
this.tbx_expectLineStartCol.Size = new System.Drawing.Size(71, 21);
|
||||
this.tbx_expectLineStartCol.TabIndex = 273;
|
||||
this.tbx_expectLineStartCol.TextChanged += new System.EventHandler(this.tbx_expectLineStartCol_TextChanged);
|
||||
//
|
||||
// tbx_expectLineEndCol
|
||||
//
|
||||
this.tbx_expectLineEndCol.Location = new System.Drawing.Point(110, 116);
|
||||
this.tbx_expectLineEndCol.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.tbx_expectLineEndCol.Name = "tbx_expectLineEndCol";
|
||||
this.tbx_expectLineEndCol.Size = new System.Drawing.Size(71, 21);
|
||||
this.tbx_expectLineEndCol.TabIndex = 277;
|
||||
this.tbx_expectLineEndCol.TextChanged += new System.EventHandler(this.tbx_expectLineEndCol_TextChanged);
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(22, 60);
|
||||
this.label2.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(77, 12);
|
||||
this.label2.TabIndex = 274;
|
||||
this.label2.Text = "起点列坐标:";
|
||||
//
|
||||
// tbx_expectLineStartRow
|
||||
//
|
||||
this.tbx_expectLineStartRow.Location = new System.Drawing.Point(110, 28);
|
||||
this.tbx_expectLineStartRow.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.tbx_expectLineStartRow.Name = "tbx_expectLineStartRow";
|
||||
this.tbx_expectLineStartRow.Size = new System.Drawing.Size(71, 21);
|
||||
this.tbx_expectLineStartRow.TabIndex = 271;
|
||||
this.tbx_expectLineStartRow.TextChanged += new System.EventHandler(this.tbx_expectLineStartRow_TextChanged);
|
||||
//
|
||||
// label6
|
||||
//
|
||||
this.label6.AutoSize = true;
|
||||
this.label6.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.label6.Location = new System.Drawing.Point(34, 187);
|
||||
this.label6.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(79, 20);
|
||||
this.label6.TabIndex = 293;
|
||||
this.label6.Text = "最小分数:";
|
||||
//
|
||||
// groupBox2
|
||||
//
|
||||
this.groupBox2.Controls.Add(this.tbx_resultEndCol);
|
||||
this.groupBox2.Controls.Add(this.label8);
|
||||
this.groupBox2.Controls.Add(this.tbx_resultStartRow);
|
||||
this.groupBox2.Controls.Add(this.tbx_resultStartCol);
|
||||
this.groupBox2.Controls.Add(this.tbx_resultEndRow);
|
||||
this.groupBox2.Controls.Add(this.label7);
|
||||
this.groupBox2.Controls.Add(this.label10);
|
||||
this.groupBox2.Controls.Add(this.label9);
|
||||
this.groupBox2.Location = new System.Drawing.Point(296, 19);
|
||||
this.groupBox2.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.groupBox2.Name = "groupBox2";
|
||||
this.groupBox2.Padding = new System.Windows.Forms.Padding(2);
|
||||
this.groupBox2.Size = new System.Drawing.Size(201, 150);
|
||||
this.groupBox2.TabIndex = 297;
|
||||
this.groupBox2.TabStop = false;
|
||||
this.groupBox2.Text = "结果线";
|
||||
//
|
||||
// tbx_resultEndCol
|
||||
//
|
||||
this.tbx_resultEndCol.Location = new System.Drawing.Point(103, 123);
|
||||
this.tbx_resultEndCol.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.tbx_resultEndCol.Name = "tbx_resultEndCol";
|
||||
this.tbx_resultEndCol.Size = new System.Drawing.Size(71, 21);
|
||||
this.tbx_resultEndCol.TabIndex = 108;
|
||||
//
|
||||
// label8
|
||||
//
|
||||
this.label8.AutoSize = true;
|
||||
this.label8.Location = new System.Drawing.Point(27, 126);
|
||||
this.label8.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.label8.Name = "label8";
|
||||
this.label8.Size = new System.Drawing.Size(77, 12);
|
||||
this.label8.TabIndex = 109;
|
||||
this.label8.Text = "终点列坐标:";
|
||||
//
|
||||
// tbx_resultStartRow
|
||||
//
|
||||
this.tbx_resultStartRow.Location = new System.Drawing.Point(103, 24);
|
||||
this.tbx_resultStartRow.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.tbx_resultStartRow.Name = "tbx_resultStartRow";
|
||||
this.tbx_resultStartRow.Size = new System.Drawing.Size(71, 21);
|
||||
this.tbx_resultStartRow.TabIndex = 102;
|
||||
//
|
||||
// tbx_resultStartCol
|
||||
//
|
||||
this.tbx_resultStartCol.Location = new System.Drawing.Point(103, 57);
|
||||
this.tbx_resultStartCol.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.tbx_resultStartCol.Name = "tbx_resultStartCol";
|
||||
this.tbx_resultStartCol.Size = new System.Drawing.Size(71, 21);
|
||||
this.tbx_resultStartCol.TabIndex = 104;
|
||||
//
|
||||
// tbx_resultEndRow
|
||||
//
|
||||
this.tbx_resultEndRow.Location = new System.Drawing.Point(103, 90);
|
||||
this.tbx_resultEndRow.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.tbx_resultEndRow.Name = "tbx_resultEndRow";
|
||||
this.tbx_resultEndRow.Size = new System.Drawing.Size(71, 21);
|
||||
this.tbx_resultEndRow.TabIndex = 106;
|
||||
//
|
||||
// label7
|
||||
//
|
||||
this.label7.AutoSize = true;
|
||||
this.label7.Location = new System.Drawing.Point(27, 27);
|
||||
this.label7.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.label7.Name = "label7";
|
||||
this.label7.Size = new System.Drawing.Size(77, 12);
|
||||
this.label7.TabIndex = 103;
|
||||
this.label7.Text = "起点行坐标:";
|
||||
//
|
||||
// label10
|
||||
//
|
||||
this.label10.AutoSize = true;
|
||||
this.label10.Location = new System.Drawing.Point(27, 93);
|
||||
this.label10.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.label10.Name = "label10";
|
||||
this.label10.Size = new System.Drawing.Size(77, 12);
|
||||
this.label10.TabIndex = 107;
|
||||
this.label10.Text = "终点行坐标:";
|
||||
//
|
||||
// label9
|
||||
//
|
||||
this.label9.AutoSize = true;
|
||||
this.label9.Location = new System.Drawing.Point(27, 60);
|
||||
this.label9.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.label9.Name = "label9";
|
||||
this.label9.Size = new System.Drawing.Size(77, 12);
|
||||
this.label9.TabIndex = 105;
|
||||
this.label9.Text = "起点列坐标:";
|
||||
//
|
||||
// tbx_minScore
|
||||
//
|
||||
this.tbx_minScore.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.tbx_minScore.Location = new System.Drawing.Point(124, 184);
|
||||
this.tbx_minScore.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.tbx_minScore.Name = "tbx_minScore";
|
||||
this.tbx_minScore.Size = new System.Drawing.Size(92, 26);
|
||||
this.tbx_minScore.TabIndex = 292;
|
||||
//
|
||||
// label5
|
||||
//
|
||||
this.label5.AutoSize = true;
|
||||
this.label5.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.label5.Location = new System.Drawing.Point(34, 410);
|
||||
this.label5.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(79, 20);
|
||||
this.label5.TabIndex = 279;
|
||||
this.label5.Text = "结果选择:";
|
||||
//
|
||||
// label14
|
||||
//
|
||||
this.label14.AutoSize = true;
|
||||
this.label14.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.label14.Location = new System.Drawing.Point(34, 247);
|
||||
this.label14.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.label14.Name = "label14";
|
||||
this.label14.Size = new System.Drawing.Size(65, 20);
|
||||
this.label14.TabIndex = 302;
|
||||
this.label14.Text = "卡尺长:";
|
||||
//
|
||||
// label13
|
||||
//
|
||||
this.label13.AutoSize = true;
|
||||
this.label13.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.label13.Location = new System.Drawing.Point(34, 314);
|
||||
this.label13.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.label13.Name = "label13";
|
||||
this.label13.Size = new System.Drawing.Size(51, 20);
|
||||
this.label13.TabIndex = 310;
|
||||
this.label13.Text = "阈值:";
|
||||
//
|
||||
// label12
|
||||
//
|
||||
this.label12.AutoSize = true;
|
||||
this.label12.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.label12.Location = new System.Drawing.Point(34, 217);
|
||||
this.label12.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.label12.Name = "label12";
|
||||
this.label12.Size = new System.Drawing.Size(65, 20);
|
||||
this.label12.TabIndex = 300;
|
||||
this.label12.Text = "卡尺数:";
|
||||
//
|
||||
// label11
|
||||
//
|
||||
this.label11.AutoSize = true;
|
||||
this.label11.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.label11.Location = new System.Drawing.Point(34, 380);
|
||||
this.label11.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.label11.Name = "label11";
|
||||
this.label11.Size = new System.Drawing.Size(51, 20);
|
||||
this.label11.TabIndex = 298;
|
||||
this.label11.Text = "极性:";
|
||||
//
|
||||
// tbx_caliperLength
|
||||
//
|
||||
this.tbx_caliperLength.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.tbx_caliperLength.Location = new System.Drawing.Point(124, 244);
|
||||
this.tbx_caliperLength.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.tbx_caliperLength.Name = "tbx_caliperLength";
|
||||
this.tbx_caliperLength.Size = new System.Drawing.Size(92, 26);
|
||||
this.tbx_caliperLength.TabIndex = 301;
|
||||
//
|
||||
// tbx_threshold
|
||||
//
|
||||
this.tbx_threshold.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.tbx_threshold.Location = new System.Drawing.Point(124, 311);
|
||||
this.tbx_threshold.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.tbx_threshold.Name = "tbx_threshold";
|
||||
this.tbx_threshold.Size = new System.Drawing.Size(92, 26);
|
||||
this.tbx_threshold.TabIndex = 309;
|
||||
//
|
||||
// tbx_caliperNum
|
||||
//
|
||||
this.tbx_caliperNum.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.tbx_caliperNum.Location = new System.Drawing.Point(124, 214);
|
||||
this.tbx_caliperNum.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.tbx_caliperNum.Name = "tbx_caliperNum";
|
||||
this.tbx_caliperNum.Size = new System.Drawing.Size(92, 26);
|
||||
this.tbx_caliperNum.TabIndex = 299;
|
||||
//
|
||||
// cbx_polarity
|
||||
//
|
||||
this.cbx_polarity.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.cbx_polarity.FormattingEnabled = true;
|
||||
this.cbx_polarity.Items.AddRange(new object[] {
|
||||
"从明到暗",
|
||||
"从暗到明"});
|
||||
this.cbx_polarity.Location = new System.Drawing.Point(124, 377);
|
||||
this.cbx_polarity.Name = "cbx_polarity";
|
||||
this.cbx_polarity.Size = new System.Drawing.Size(92, 28);
|
||||
this.cbx_polarity.TabIndex = 314;
|
||||
this.cbx_polarity.Text = "从明到暗";
|
||||
//
|
||||
// btn_runFindLineTool
|
||||
//
|
||||
this.btn_runFindLineTool.Location = new System.Drawing.Point(440, 400);
|
||||
this.btn_runFindLineTool.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
|
||||
this.btn_runFindLineTool.Name = "btn_runFindLineTool";
|
||||
this.btn_runFindLineTool.Size = new System.Drawing.Size(90, 48);
|
||||
this.btn_runFindLineTool.TabIndex = 270;
|
||||
this.btn_runFindLineTool.Text = "运行";
|
||||
this.btn_runFindLineTool.UseVisualStyleBackColor = true;
|
||||
this.btn_runFindLineTool.Click += new System.EventHandler(this.btn_runFindLineTool_Click);
|
||||
//
|
||||
// btn_moveCliperRegion
|
||||
//
|
||||
this.btn_moveCliperRegion.Location = new System.Drawing.Point(296, 400);
|
||||
this.btn_moveCliperRegion.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
|
||||
this.btn_moveCliperRegion.Name = "btn_moveCliperRegion";
|
||||
this.btn_moveCliperRegion.Size = new System.Drawing.Size(90, 48);
|
||||
this.btn_moveCliperRegion.TabIndex = 269;
|
||||
this.btn_moveCliperRegion.Text = "编辑卡尺";
|
||||
this.btn_moveCliperRegion.UseVisualStyleBackColor = true;
|
||||
this.btn_moveCliperRegion.Click += new System.EventHandler(this.btn_moveCliperRegion_Click);
|
||||
//
|
||||
// cbx_edgeSelect
|
||||
//
|
||||
this.cbx_edgeSelect.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.cbx_edgeSelect.FormattingEnabled = true;
|
||||
this.cbx_edgeSelect.Items.AddRange(new object[] {
|
||||
"all",
|
||||
"first",
|
||||
"last"});
|
||||
this.cbx_edgeSelect.Location = new System.Drawing.Point(124, 408);
|
||||
this.cbx_edgeSelect.Name = "cbx_edgeSelect";
|
||||
this.cbx_edgeSelect.Size = new System.Drawing.Size(92, 28);
|
||||
this.cbx_edgeSelect.TabIndex = 317;
|
||||
this.cbx_edgeSelect.Text = "all";
|
||||
//
|
||||
// txbLog
|
||||
//
|
||||
this.txbLog.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txbLog.Location = new System.Drawing.Point(0, 487);
|
||||
this.txbLog.Name = "txbLog";
|
||||
this.txbLog.ReadOnly = true;
|
||||
this.txbLog.Size = new System.Drawing.Size(1129, 21);
|
||||
this.txbLog.TabIndex = 274;
|
||||
//
|
||||
// tbx_Sigma
|
||||
//
|
||||
this.tbx_Sigma.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.tbx_Sigma.Location = new System.Drawing.Point(126, 344);
|
||||
this.tbx_Sigma.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.tbx_Sigma.Name = "tbx_Sigma";
|
||||
this.tbx_Sigma.Size = new System.Drawing.Size(92, 26);
|
||||
this.tbx_Sigma.TabIndex = 309;
|
||||
//
|
||||
// label15
|
||||
//
|
||||
this.label15.AutoSize = true;
|
||||
this.label15.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.label15.Location = new System.Drawing.Point(36, 347);
|
||||
this.label15.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.label15.Name = "label15";
|
||||
this.label15.Size = new System.Drawing.Size(54, 20);
|
||||
this.label15.TabIndex = 310;
|
||||
this.label15.Text = "Sigma:";
|
||||
//
|
||||
// groupBox3
|
||||
//
|
||||
this.groupBox3.Controls.Add(this.checkBox2);
|
||||
this.groupBox3.Controls.Add(this.checkBox1);
|
||||
this.groupBox3.Location = new System.Drawing.Point(296, 200);
|
||||
this.groupBox3.Name = "groupBox3";
|
||||
this.groupBox3.Size = new System.Drawing.Size(213, 96);
|
||||
this.groupBox3.TabIndex = 319;
|
||||
this.groupBox3.TabStop = false;
|
||||
this.groupBox3.Text = "显示";
|
||||
//
|
||||
// checkBox1
|
||||
//
|
||||
this.checkBox1.AutoSize = true;
|
||||
this.checkBox1.Location = new System.Drawing.Point(29, 29);
|
||||
this.checkBox1.Name = "checkBox1";
|
||||
this.checkBox1.Size = new System.Drawing.Size(108, 16);
|
||||
this.checkBox1.TabIndex = 0;
|
||||
this.checkBox1.Text = "结果显示矩形框";
|
||||
this.checkBox1.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// checkBox2
|
||||
//
|
||||
this.checkBox2.AutoSize = true;
|
||||
this.checkBox2.Location = new System.Drawing.Point(29, 60);
|
||||
this.checkBox2.Name = "checkBox2";
|
||||
this.checkBox2.Size = new System.Drawing.Size(96, 16);
|
||||
this.checkBox2.TabIndex = 0;
|
||||
this.checkBox2.Text = "结果显示交点";
|
||||
this.checkBox2.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// tbx_caliperLength2
|
||||
//
|
||||
this.tbx_caliperLength2.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.tbx_caliperLength2.Location = new System.Drawing.Point(124, 277);
|
||||
this.tbx_caliperLength2.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.tbx_caliperLength2.Name = "tbx_caliperLength2";
|
||||
this.tbx_caliperLength2.Size = new System.Drawing.Size(92, 26);
|
||||
this.tbx_caliperLength2.TabIndex = 301;
|
||||
//
|
||||
// label16
|
||||
//
|
||||
this.label16.AutoSize = true;
|
||||
this.label16.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.label16.Location = new System.Drawing.Point(34, 280);
|
||||
this.label16.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.label16.Name = "label16";
|
||||
this.label16.Size = new System.Drawing.Size(65, 20);
|
||||
this.label16.TabIndex = 302;
|
||||
this.label16.Text = "卡尺宽:";
|
||||
//
|
||||
// FormFindLine
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(1127, 508);
|
||||
this.Controls.Add(this.txbLog);
|
||||
this.Controls.Add(this.splitContainer1);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "FormFindLine";
|
||||
this.Text = "找线工具";
|
||||
this.Load += new System.EventHandler(this.FormFindLine_Load);
|
||||
this.splitContainer1.Panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel2.ResumeLayout(false);
|
||||
this.splitContainer1.Panel2.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
|
||||
this.splitContainer1.ResumeLayout(false);
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.groupBox1.PerformLayout();
|
||||
this.groupBox2.ResumeLayout(false);
|
||||
this.groupBox2.PerformLayout();
|
||||
this.groupBox3.ResumeLayout(false);
|
||||
this.groupBox3.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
private System.Windows.Forms.Label label6;
|
||||
public System.Windows.Forms.TextBox tbx_expectLineEndRow;
|
||||
public System.Windows.Forms.TextBox tbx_expectLineStartCol;
|
||||
private System.Windows.Forms.GroupBox groupBox2;
|
||||
public System.Windows.Forms.TextBox tbx_resultEndCol;
|
||||
private System.Windows.Forms.Label label8;
|
||||
public System.Windows.Forms.TextBox tbx_resultStartRow;
|
||||
public System.Windows.Forms.TextBox tbx_resultStartCol;
|
||||
public System.Windows.Forms.TextBox tbx_resultEndRow;
|
||||
private System.Windows.Forms.Label label7;
|
||||
private System.Windows.Forms.Label label10;
|
||||
private System.Windows.Forms.Label label9;
|
||||
private System.Windows.Forms.Label label3;
|
||||
public System.Windows.Forms.TextBox tbx_expectLineStartRow;
|
||||
public System.Windows.Forms.TextBox tbx_minScore;
|
||||
private System.Windows.Forms.Label label2;
|
||||
public System.Windows.Forms.TextBox tbx_expectLineEndCol;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Label label5;
|
||||
private System.Windows.Forms.Label label14;
|
||||
private System.Windows.Forms.Label label13;
|
||||
private System.Windows.Forms.Label label12;
|
||||
private System.Windows.Forms.Label label11;
|
||||
public System.Windows.Forms.TextBox tbx_caliperLength;
|
||||
public System.Windows.Forms.TextBox tbx_threshold;
|
||||
public System.Windows.Forms.TextBox tbx_caliperNum;
|
||||
public System.Windows.Forms.ComboBox cbx_polarity;
|
||||
public System.Windows.Forms.Button btn_runFindLineTool;
|
||||
private System.Windows.Forms.Button btn_moveCliperRegion;
|
||||
public System.Windows.Forms.ComboBox cbx_edgeSelect;
|
||||
public System.Windows.Forms.TextBox txbLog;
|
||||
private System.Windows.Forms.GroupBox groupBox1;
|
||||
private System.Windows.Forms.Label label15;
|
||||
public System.Windows.Forms.TextBox tbx_Sigma;
|
||||
private System.Windows.Forms.GroupBox groupBox3;
|
||||
private System.Windows.Forms.CheckBox checkBox2;
|
||||
private System.Windows.Forms.CheckBox checkBox1;
|
||||
private System.Windows.Forms.Label label16;
|
||||
public System.Windows.Forms.TextBox tbx_caliperLength2;
|
||||
}
|
||||
}
|
||||
170
FindLine/FormFindLine.cs
Normal file
170
FindLine/FormFindLine.cs
Normal file
@@ -0,0 +1,170 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using CommonMethods;
|
||||
using HalconDotNet;
|
||||
using HalconWindow.HalconWindow;
|
||||
|
||||
namespace FindLineTool
|
||||
{
|
||||
public partial class FormFindLine : Form
|
||||
{
|
||||
public FindLine myFindLine = null;
|
||||
public IToolInfo myToolInfo = null;
|
||||
public HWindow_Final myHwindow = new HWindow_Final();
|
||||
/// <summary>
|
||||
/// 窗体对象实例
|
||||
/// </summary>
|
||||
private static FormFindLine _instance;
|
||||
public static FormFindLine Instance
|
||||
{
|
||||
get
|
||||
{
|
||||
lock (_instance)
|
||||
{
|
||||
if (_instance == null)
|
||||
{
|
||||
object line = new object();
|
||||
_instance = new FormFindLine(ref line);
|
||||
}
|
||||
return _instance;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public FormFindLine(ref object findLine)
|
||||
{
|
||||
InitializeComponent();
|
||||
_instance = this;
|
||||
myToolInfo = (IToolInfo)findLine;
|
||||
myFindLine = (FindLine)myToolInfo.tool;
|
||||
myFindLine.inputImage = ComGlobalParams.inputImageGlobal; // 暂时直接将图像传递给该工具
|
||||
myFindLine.DispImage();
|
||||
|
||||
}
|
||||
|
||||
private void FormFindLine_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.panel1.Controls.Add(myHwindow);
|
||||
myHwindow.Dock = DockStyle.Fill;
|
||||
InitTool();
|
||||
}
|
||||
|
||||
private void btn_moveCliperRegion_Click(object sender, EventArgs e)
|
||||
{
|
||||
myFindLine.DrawExpectLine(myHwindow);
|
||||
}
|
||||
|
||||
public void TextBoxMessageDisp(string mes, Color setColor)
|
||||
{
|
||||
txbLog.BackColor = setColor;
|
||||
txbLog.Text = mes;
|
||||
txbLog.Font = new Font("微软雅黑", 10, FontStyle.Bold);
|
||||
CommonMethods.CommonMethods.Delay(2000);
|
||||
txbLog.BackColor = Color.White;
|
||||
}
|
||||
|
||||
private void btn_runFindLineTool_Click(object sender, EventArgs e)
|
||||
{
|
||||
// 更改界面中参数,实时更新类中参数
|
||||
myFindLine.expectLineStartRow = Convert.ToDouble(tbx_expectLineStartRow.Text.Trim());
|
||||
myFindLine.expectLineStartCol = Convert.ToDouble(tbx_expectLineStartCol.Text.Trim());
|
||||
myFindLine.expectLineEndRow = Convert.ToDouble(tbx_expectLineEndRow.Text.Trim());
|
||||
myFindLine.expectLineEndCol = Convert.ToDouble(tbx_expectLineEndCol.Text.Trim());
|
||||
// 运行参数
|
||||
myFindLine.minScore = Convert.ToDouble(tbx_minScore.Text.Trim());
|
||||
myFindLine.cliperNum = Convert.ToInt16(tbx_caliperNum.Text.Trim());
|
||||
myFindLine.threshold = Convert.ToInt16(tbx_threshold.Text.Trim());
|
||||
myFindLine.length = Convert.ToInt16(tbx_caliperLength.Text.Trim());
|
||||
myFindLine.weidth = Convert.ToInt16(tbx_caliperLength2.Text.Trim());
|
||||
myFindLine.polarity = cbx_polarity.SelectedItem.ToString() == "由明到暗" ? "negative":"positive";
|
||||
myFindLine.edgeSelect = cbx_edgeSelect.SelectedItem.ToString();
|
||||
myFindLine.sigma = Convert.ToDouble(tbx_Sigma.Text.Trim());
|
||||
// Run
|
||||
myFindLine.Run();
|
||||
}
|
||||
|
||||
public void InitTool()
|
||||
{
|
||||
this.Text = myToolInfo.toolName;
|
||||
btn_runFindLineTool.Focus();
|
||||
Application.DoEvents();
|
||||
|
||||
//myFindLine.Run(); //运行一下,使卡尺显示出来
|
||||
|
||||
tbx_expectLineStartRow.Text = myFindLine.expectLineStartRow.ToString();
|
||||
tbx_expectLineStartCol.Text = myFindLine.expectLineStartCol.ToString();
|
||||
tbx_expectLineEndRow.Text = myFindLine.expectLineEndRow.ToString();
|
||||
tbx_expectLineEndCol.Text = myFindLine.expectLineEndCol.ToString();
|
||||
cbx_edgeSelect.Text = myFindLine.edgeSelect;
|
||||
tbx_minScore.Text = myFindLine.minScore.ToString();
|
||||
cbx_polarity.Text = myFindLine.polarity == "positive" ? "由暗到明" : "由明到暗";
|
||||
tbx_caliperNum.Text = myFindLine.cliperNum.ToString();
|
||||
tbx_caliperLength.Text = myFindLine.length.ToString();
|
||||
tbx_threshold.Text = myFindLine.threshold.ToString();
|
||||
tbx_Sigma.Text = myFindLine.sigma.ToString();
|
||||
tbx_caliperLength2.Text = myFindLine.weidth.ToString();
|
||||
}
|
||||
|
||||
#region 输入检查
|
||||
private void tbx_expectLineStartRow_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
myFindLine.expectLineStartRow = Convert.ToDouble(tbx_expectLineStartRow.Text.Trim());
|
||||
}
|
||||
catch
|
||||
{
|
||||
TextBoxMessageDisp("输入了非法字符,已自动替换为默认值:200", Color.Red);
|
||||
tbx_expectLineStartRow.Text = "200";
|
||||
}
|
||||
}
|
||||
|
||||
private void tbx_expectLineStartCol_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
myFindLine.expectLineStartCol = Convert.ToDouble(tbx_expectLineStartCol.Text.Trim());
|
||||
}
|
||||
catch
|
||||
{
|
||||
TextBoxMessageDisp("输入了非法字符,已自动替换为默认值:200", Color.Red);
|
||||
tbx_expectLineStartCol.Text = "200";
|
||||
}
|
||||
}
|
||||
|
||||
private void tbx_expectLineEndRow_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
myFindLine.expectLineEndRow = Convert.ToDouble(tbx_expectLineEndRow.Text.Trim());
|
||||
}
|
||||
catch
|
||||
{
|
||||
TextBoxMessageDisp("输入了非法字符,已自动替换为默认值:200", Color.Red);
|
||||
tbx_expectLineEndRow.Text = "200";
|
||||
}
|
||||
}
|
||||
|
||||
private void tbx_expectLineEndCol_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
myFindLine.expectLineEndCol = Convert.ToDouble(tbx_expectLineEndCol.Text.Trim());
|
||||
}
|
||||
catch
|
||||
{
|
||||
TextBoxMessageDisp("输入了非法字符,已自动替换为默认值:600", Color.Red);
|
||||
tbx_expectLineEndCol.Text = "600";
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
205
FindLine/FormFindLine.resx
Normal file
205
FindLine/FormFindLine.resx
Normal file
@@ -0,0 +1,205 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAIyAAAAEAIACoEgAAFgAAACgAAAAjAAAAQAAAAAEAIAAAAAAAgBEAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAGyU0ZFdeafFscnz/bHJ8/2xyfP9scnz/bHJ8/2xyfP9scnz/bHJ8/2xyfP9scnz/bHJ8/2xy
|
||||
fP9scnz/bHJ8/2xyfP9scnz/bHJ8/2xyfP9scnz/bHJ8/2xyfP9scnz/bHJ8/2xyfP9scnz/bHJ8/2xy
|
||||
fP9scnz/bHJ8/1dfavUcJjRsAAAAABkjMgZbYWnz+fHY//nv0f/579H/+e/R//nv0f/579H/+e/R//nv
|
||||
0f/579H/+e/R//nv0f/579H/+e/R//nv0f/579H/+e/R//nv0f/579H/+e/R//nv0f/579H/+e/R//nv
|
||||
0f/579H/+e/R//nv0f/579H/+e/R//nv0f/579H/+vHX/19lbPcZIzIIGSQzCnBvZP/p2qj/QH6T/y6H
|
||||
q/8th6v/Loer/2aLjv/15K7/9eSu//Tkrf/15K7/9eSu//Xjrf/15K7/9eSu//Xjrv/15K7/9eSt//Tj
|
||||
rf/1463/9OSu//Tkrv/15K7/9OOt//Tjrf/15K7/9eSu//Tkrv/1467/9eSu//Tkrf/0467/cnJl/xki
|
||||
Mg4ZJDMKcG9j/+fYp/9aiJb/Wpqy/1qasv9amrL/dpGQ//Xkrv/1467/9eSt//Xjrv/15K7/9eSt//Xk
|
||||
rv/05K7/9eSt//Xkrv/1463/9OOt//Xkrv/05K3/9OOt//Xkrv/0463/9eOt//Xkrv/15K7/9OSu//Xj
|
||||
rf/15K7/9OOt//Pjrf9xcGT/GSIyDhkkMwpwb2P/9OOt//Xkrv/15K7/9OOt//Tkrv/1467/9eSu//Xk
|
||||
rv/05K3/9eSu//Tkrv/1463/9eSu//Tkrv/0463/9eSu//Tjrf/05K7/9eOu//Tkrf/0467/9eSu//Tj
|
||||
rf/15K7/9eSu//Xjrf/05K7/9eSu//Xkrv/0463/cnJk/3FwZP8ZIjIOGSQzCnBvY//1463/9OSu//Xk
|
||||
rv/15K3/9OSt//Tkrv/15K7/9eSu//Xkrf/15K7/9eSu//Xkrf/1467/9eSt//Xkrv/15K3/9eOt//Tk
|
||||
rf/15K7/9OSt//Tkrv/15K7/9OOt//Tjrf/15K7/9eOu//Tkrv/1463/9eSu//Tjrf9qamD/cXBk/xki
|
||||
Mg4ZJDMKcG9j//Tjrf/15K7/9eOu//Tjrf/05K3/9eSu//Xkrv/15K7/9OSt//Xkrv/15K7/9eOt//Xk
|
||||
rv/15K7/9eOu//Xkrv/15K3/9OOt//Xjrf/05K7/9OSu//Xkrv/0463/9OOt//Xkrv/15K7/9OSu//Xj
|
||||
rv/15K7/9OSt/2pqYP9xcGT/GSIyDhkkMwpwb2P/9OOt//Xkrv/15K7/9eSt//Tjrf/15K7/9eSu//Xj
|
||||
rv/15K3/9eOu//Xkrv/15K3/9eSu//Tkrv/15K3/9eSu//Xjrf/0463/9eSu//Tkrf/0463/9eSu//Tj
|
||||
rf/1463/9eSu//Xkrv/05K7/9eOt//Xkrv/0463/vbOP/3FwZP8ZIjIOGSQzCnBvY//0463/9eSu//Xk
|
||||
rv/0463/9OSu//Xjrv/15K7/9eSu//Tkrf/15K7/9OSu//Xjrf/15K7/9OSu//Tjrf/15K7/9OOt//Tk
|
||||
rv/1467/9OSt//Tjrv/15K7/9OOt//Xkrv/15K7/9eOt//Tkrv/15K7/9eSu//Tjrf92dGb/cXBk/xki
|
||||
Mg4ZJDMKcG9j//Xjrf/05K7/9eSu//Xkrf/05K3/9OSu//Xkrv/15K7/9eSt//Xkrv/15K7/9eSt//Xj
|
||||
rv/15K3/9eSu//Xkrf/1463/9OSt//Xkrv/05K3/9OSu//Xkrv/0463/9OOt//Xkrv/1467/9OSu//Xj
|
||||
rf/15K7/9OOt/8/CmP9xcGT/GSIyDhkkMwpwb2P/9OOt//Xkrv/1467/9OOt//Tkrf/15K7/9eSu//Xk
|
||||
rv/05K3/9eSu//Xkrv/1463/8+Ks/5CMdf90c2b/dHNm/3RzZv+Gg3D/796q//Tkrv/05K7/9eSu//Tj
|
||||
rf/0463/9eSu//Xkrv/05K7/9eOu//Xkrv/05K3/9OOu/3FwZP8ZIjIOGSQzCnBvY//0463/9eSu//Xk
|
||||
rv/15K3/9OOt//Xkrv/15K7/9eOu//Xkrf/1467/9eSu//Xkrf/VyJz/S0KD/4lp6P+Jaej/iWno/1hL
|
||||
mf/EuZL/9OSt//Tjrf/15K7/9OOt//Xjrf/15K7/9eSu//Tkrv/1463/9eSu//Tjrf/05K7/cXBk/xki
|
||||
Mg4ZJDMKcG9j//Tjrf/15K7/9eSu//Tjrf/05K7/9eOu//Xkrv/15K7/9OSt//Xkrv/05K7/9eOt/9DE
|
||||
mf9TSpD/lnn+/5R3+/+WeP7/Y1Wq/8K3kf/05K3/9OOu//Xkrv/0463/9eSu//Xkrv/1463/9OSu//Xk
|
||||
rv/15K7/9OOt//Tkrv9xcGT/GSIyDhkkMwpwb2L/9OOs//TjrP/046z/9OOs//TjrP/046z/9OOs//Tj
|
||||
rP/046z/9OOs//TjrP/046z/0MOX/1NKkP+Xef//Mk16/4tx7P9jVar/wreQ//TjrP/046z/9OOs//Tj
|
||||
rP/046z/9OOs//TjrP/046z/9OOs//TjrP/046z/9OOs/3FwY/8ZIjIOGSMyPlVVQ/+woVv/sKFb/7Ch
|
||||
W/+woVv/sKFb/7ChW/+woVv/sKFb/7ChW/+woVv/sKFb/7ChW/+XjFT/U0qQ/5d5/v8oVHv/h27m/2NV
|
||||
qv+NhFL/sKFb/7ChW/+woVv/sKFb/7ChW/+woVv/sKFb/7ChW/+woVv/sKFb/7ChW/+woVv/WVlE/xkj
|
||||
MkJCRTz/iH9N/4h/Tf+If03/iH9N/4h/Tf+If03/iH9N/4h/Tf+If03/iH9N/4h/Tf+If03/iH9N/3Vw
|
||||
Sf9TSpD/cGbK/x6Drv9iY7z/Y1Wq/25qR/+If03/iH9N/4h/Tf+If03/iH9N/4h/Tf+If03/iH9N/4h/
|
||||
Tf+If03/iH9N/4h/Tf+If03/REc9/2dnWf/ZyY//wLOC/8K1g//u3Jv/w7aD/8u9h//w3p3/8N6d//De
|
||||
nf/w3p3/8N6d//Denf/w3p3/zL+L/1NKkP9Uc6//K8X3/05/tf9jVar/v7OE//Denf/w3p3/8N6d//De
|
||||
nf/w3p3/8N6d//Denf/w3p3/8N6d//Denf/w3p3/8N6d//Denf9paFn/aGhf/8W6k/+blXv/npd9/+7e
|
||||
qv+el33/rKSF//Tkrv/15K7/9eSu//Xkrf/15K7/9eSu//Xkrf/QxJn/U0qQ/4Jr2v+Hf7j/gWzW/2NV
|
||||
qv/Ct5H/9OSt//Tkrv/15K7/9OOt//Tjrf/15K7/9eOu//Tkrv/1463/9eSu//Tjrf/15K7/9OOt/2lp
|
||||
X/9oaF//9eSu//Tjrf/15K7/9eOu//Tjrf/05K3/9eSu//Xkrv/15K7/9OSt//Xkrv/15K7/9eOt/9DE
|
||||
mf9VTZH/mHv+/5h7//+Ye///ZVir/8K3kf/05K7/9OSu//Xkrv/0463/9OOt//Xkrv/15K7/9OSu//Xj
|
||||
rv/15K7/9OSt//Tjrv/15K7/aWlf/2hoX//15K7/9OOt//Xkrv/15K7/9eSt//Tjrf/15K7/9eSu//Xj
|
||||
rv/15K3/9eOu//Xkrv/15K3/6Nmn/1RZX/9pbnz/aW58/2lufP9SWGH/282f//Tkrf/0463/9eSu//Tj
|
||||
rf/1463/9eSu//Xkrv/05K7/9eOt//Xkrv/0463/9OSu//Tjrv9paV//aGhf//Xkrv/0463/9eSu//Xk
|
||||
rv/0463/9OSu//Xjrv/15K7/9eSu//Tkrf/15K7/9OSu//Xjrf/15K7/9OSu//Tjrf/15K7/9OOt//Tk
|
||||
rv/1467/9OSt//Tjrv/15K7/9OOt//Xkrv/15K7/9eOt//Tkrv/15K7/9eSu//Tjrf/05K7/9OSu/2lp
|
||||
X/9oaF//9OSu//Xjrf/05K7/9eSu//Xkrf/05K3/9OSu//Xkrv/15K7/9eSt//Xkrv/15K7/9eSt//Xj
|
||||
rv/15K3/9eSu//Xkrf/1463/9OSt//Xkrv/05K3/9OSu//Xkrv/0463/9OOt//Xkrv/1467/9OSu//Xj
|
||||
rf/15K7/9OOt//Xkrv/0463/aWlf/2lqYv/15K7/9OOt//Xkrv/1467/9OOt//Tkrf/15K7/9eSu//Xk
|
||||
rv/05K3/9eSu//Xkrv/1463/9eSu//Xkrv/1467/9eSu//Xkrf/0463/9eOt//Tkrv/05K7/9eSu//Tj
|
||||
rf/0463/9eSu//Xkrv/05K7/9eOu//Xkrv/05K3/9OOu//Xkrv9rbGT/Q0tX4fDs3v/79eH/+/Xh//v1
|
||||
4f/79eH/+/Xh//v14f/79eH/+/Xh//v14f/79eH/+/Xh//v14f/79eH/+/Xh//v14f/79eH/+/Xh//v1
|
||||
4f/79eH/+/Xh//v14f/79eH/+/Xh//v14f/79eH/+/Xh//v14f/79eH/+/Xh//v14f/79eH/8+7g/0hP
|
||||
W+UZIzM0KjNBtz9IVMk/SFTJP0hUyT9IVMk/SFTJP0hUyTlFU/M3WXL/OkNQ6T9HVMs/R1TLP0dUyz9H
|
||||
VMs/R1TLP0dUyz9HVMs/R1TLP0dUyz9HVMs/R1TLP0dUyz9HVMs6Q0/pN1lx/zhFVPU/SFTJP0hUyT9I
|
||||
VMk/SFTJP0hUyT9IVMkqM0G5GSMzNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGjRIyRu3
|
||||
7f8aJDOZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoj
|
||||
M5cbseb/Gj1TzQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAaNEjJG7nu/xokM5kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAGSQzlxuz5v8aPVPNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABo0R8kbue7/GiQzmwAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaJDOXG7Xo/xo7UM0AAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGig4rR25
|
||||
7P8aOU7XGiQzBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGSMyBho2
|
||||
Ss8duu7/Gio7swAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAZJDNcOo+v/xuTwP8ZMUbBGSMyhRokM4MZIzKDGiMzgxokM4MaJDODGiQzgxoj
|
||||
M4MZIzODGSQzgxkjMoUZMEW/G5C7/zyUtf8aJDNiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkjMgQtN0W7cbHI/0zC7v8xqNj/MKbX/zCm
|
||||
1/8wptf/MKbX/zCm1/8wptf/MKbX/zCm1/8wptf/MafX/0vB7v9xs8v/LzpHvxkjMgYAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkk
|
||||
MgoeKDeHUlll5Wlxe/1qcnz/anJ8/2pyfP9qcnz/anJ8/2pyfP9qcnz/anJ8/2pyfP9qcXv9U1pm5x8o
|
||||
N4kZIzIKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAGAAAACAAAAAIAAAAIAA
|
||||
AAAgAAAAgAAAACAAAACAAAAAIAAAAIAAAAAgAAAAgAAAACAAAACAAAAAIAAAAIAAAAAgAAAAgAAAACAA
|
||||
AACAAAAAIAAAAIAAAAAgAAAAgAAAACAAAACAAAAAIAAAAIAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAACAA
|
||||
AAD/H/8f4AAAAP8f/x/gAAAA/x//H+AAAAD/H/8f4AAAAP+AAD/gAAAA/4AAP+AAAAD/wAB/4AAAAA==
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
BIN
FindLine/Properties/AssemblyInfo.cs
Normal file
BIN
FindLine/Properties/AssemblyInfo.cs
Normal file
Binary file not shown.
BIN
FindLine/bin/Debug/CommonMethods.dll
Normal file
BIN
FindLine/bin/Debug/CommonMethods.dll
Normal file
Binary file not shown.
BIN
FindLine/bin/Debug/CommonMethods.pdb
Normal file
BIN
FindLine/bin/Debug/CommonMethods.pdb
Normal file
Binary file not shown.
BIN
FindLine/bin/Debug/DataStruct.dll
Normal file
BIN
FindLine/bin/Debug/DataStruct.dll
Normal file
Binary file not shown.
BIN
FindLine/bin/Debug/DataStruct.pdb
Normal file
BIN
FindLine/bin/Debug/DataStruct.pdb
Normal file
Binary file not shown.
BIN
FindLine/bin/Debug/FindLineTool.dll
Normal file
BIN
FindLine/bin/Debug/FindLineTool.dll
Normal file
Binary file not shown.
BIN
FindLine/bin/Debug/FindLineTool.pdb
Normal file
BIN
FindLine/bin/Debug/FindLineTool.pdb
Normal file
Binary file not shown.
BIN
FindLine/bin/Debug/HalconWindow.exe
Normal file
BIN
FindLine/bin/Debug/HalconWindow.exe
Normal file
Binary file not shown.
BIN
FindLine/bin/Debug/HalconWindow.pdb
Normal file
BIN
FindLine/bin/Debug/HalconWindow.pdb
Normal file
Binary file not shown.
BIN
FindLine/bin/Debug/ToolBase.dll
Normal file
BIN
FindLine/bin/Debug/ToolBase.dll
Normal file
Binary file not shown.
BIN
FindLine/bin/Debug/ToolBase.pdb
Normal file
BIN
FindLine/bin/Debug/ToolBase.pdb
Normal file
Binary file not shown.
BIN
FindLine/bin/Debug/halcondotnet.dll
Normal file
BIN
FindLine/bin/Debug/halcondotnet.dll
Normal file
Binary file not shown.
61480
FindLine/bin/Debug/halcondotnet.xml
Normal file
61480
FindLine/bin/Debug/halcondotnet.xml
Normal file
File diff suppressed because it is too large
Load Diff
BIN
FindLine/obj/Debug/DesignTimeResolveAssemblyReferences.cache
Normal file
BIN
FindLine/obj/Debug/DesignTimeResolveAssemblyReferences.cache
Normal file
Binary file not shown.
Binary file not shown.
13
FindLine/obj/Debug/FindLine.csproj.FileListAbsolute.txt
Normal file
13
FindLine/obj/Debug/FindLine.csproj.FileListAbsolute.txt
Normal file
@@ -0,0 +1,13 @@
|
||||
F:\VSCode\VisionEditTest\FindLine\bin\Debug\FindLineTool.dll
|
||||
F:\VSCode\VisionEditTest\FindLine\bin\Debug\FindLineTool.pdb
|
||||
F:\VSCode\VisionEditTest\FindLine\bin\Debug\DataStruct.dll
|
||||
F:\VSCode\VisionEditTest\FindLine\bin\Debug\halcondotnet.dll
|
||||
F:\VSCode\VisionEditTest\FindLine\bin\Debug\HalconWindow.exe
|
||||
F:\VSCode\VisionEditTest\FindLine\bin\Debug\DataStruct.pdb
|
||||
F:\VSCode\VisionEditTest\FindLine\bin\Debug\HalconWindow.pdb
|
||||
F:\VSCode\VisionEditTest\FindLine\bin\Debug\halcondotnet.xml
|
||||
F:\VSCode\VisionEditTest\FindLine\obj\Debug\FindLine.csprojResolveAssemblyReference.cache
|
||||
F:\VSCode\VisionEditTest\FindLine\obj\Debug\FindLine.FormFindLine.resources
|
||||
F:\VSCode\VisionEditTest\FindLine\obj\Debug\FindLine.csproj.GenerateResource.Cache
|
||||
F:\VSCode\VisionEditTest\FindLine\obj\Debug\FindLineTool.dll
|
||||
F:\VSCode\VisionEditTest\FindLine\obj\Debug\FindLineTool.pdb
|
||||
BIN
FindLine/obj/Debug/FindLine.csproj.GenerateResource.Cache
Normal file
BIN
FindLine/obj/Debug/FindLine.csproj.GenerateResource.Cache
Normal file
Binary file not shown.
BIN
FindLine/obj/Debug/FindLine.csprojResolveAssemblyReference.cache
Normal file
BIN
FindLine/obj/Debug/FindLine.csprojResolveAssemblyReference.cache
Normal file
Binary file not shown.
BIN
FindLine/obj/Debug/FindLineTool.FormFindLine.resources
Normal file
BIN
FindLine/obj/Debug/FindLineTool.FormFindLine.resources
Normal file
Binary file not shown.
17
FindLine/obj/Debug/FindLineTool.csproj.FileListAbsolute.txt
Normal file
17
FindLine/obj/Debug/FindLineTool.csproj.FileListAbsolute.txt
Normal file
@@ -0,0 +1,17 @@
|
||||
F:\VSCode\VisionEditTest\FindLine\bin\Debug\FindLineTool.dll
|
||||
F:\VSCode\VisionEditTest\FindLine\bin\Debug\FindLineTool.pdb
|
||||
F:\VSCode\VisionEditTest\FindLine\bin\Debug\CommonMethods.dll
|
||||
F:\VSCode\VisionEditTest\FindLine\bin\Debug\DataStruct.dll
|
||||
F:\VSCode\VisionEditTest\FindLine\bin\Debug\halcondotnet.dll
|
||||
F:\VSCode\VisionEditTest\FindLine\bin\Debug\HalconWindow.exe
|
||||
F:\VSCode\VisionEditTest\FindLine\bin\Debug\ToolBase.dll
|
||||
F:\VSCode\VisionEditTest\FindLine\bin\Debug\CommonMethods.pdb
|
||||
F:\VSCode\VisionEditTest\FindLine\bin\Debug\DataStruct.pdb
|
||||
F:\VSCode\VisionEditTest\FindLine\bin\Debug\HalconWindow.pdb
|
||||
F:\VSCode\VisionEditTest\FindLine\bin\Debug\ToolBase.pdb
|
||||
F:\VSCode\VisionEditTest\FindLine\bin\Debug\halcondotnet.xml
|
||||
F:\VSCode\VisionEditTest\FindLine\obj\Debug\FindLineTool.csprojResolveAssemblyReference.cache
|
||||
F:\VSCode\VisionEditTest\FindLine\obj\Debug\FindLineTool.FormFindLine.resources
|
||||
F:\VSCode\VisionEditTest\FindLine\obj\Debug\FindLineTool.csproj.GenerateResource.Cache
|
||||
F:\VSCode\VisionEditTest\FindLine\obj\Debug\FindLineTool.dll
|
||||
F:\VSCode\VisionEditTest\FindLine\obj\Debug\FindLineTool.pdb
|
||||
BIN
FindLine/obj/Debug/FindLineTool.csproj.GenerateResource.Cache
Normal file
BIN
FindLine/obj/Debug/FindLineTool.csproj.GenerateResource.Cache
Normal file
Binary file not shown.
Binary file not shown.
BIN
FindLine/obj/Debug/FindLineTool.dll
Normal file
BIN
FindLine/obj/Debug/FindLineTool.dll
Normal file
Binary file not shown.
BIN
FindLine/obj/Debug/FindLineTool.pdb
Normal file
BIN
FindLine/obj/Debug/FindLineTool.pdb
Normal file
Binary file not shown.
46
HalconTool/FormHalconTool.Designer.cs
generated
Normal file
46
HalconTool/FormHalconTool.Designer.cs
generated
Normal file
@@ -0,0 +1,46 @@
|
||||
namespace HalconTool
|
||||
{
|
||||
partial class FormHalconTool
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// FormHalconTool
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(816, 438);
|
||||
this.Name = "FormHalconTool";
|
||||
this.Text = "FormHalconTool";
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
20
HalconTool/FormHalconTool.cs
Normal file
20
HalconTool/FormHalconTool.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace HalconTool
|
||||
{
|
||||
public partial class FormHalconTool : Form
|
||||
{
|
||||
public FormHalconTool()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
120
HalconTool/FormHalconTool.resx
Normal file
120
HalconTool/FormHalconTool.resx
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
@@ -6,7 +6,7 @@ using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using HalconDotNet;
|
||||
|
||||
namespace VisionEdit.ToolLib
|
||||
namespace HalconTool
|
||||
{
|
||||
public class HalconTool
|
||||
{
|
||||
70
HalconTool/HalconTool.csproj
Normal file
70
HalconTool/HalconTool.csproj
Normal file
@@ -0,0 +1,70 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{F5669FB7-77EC-44B9-898B-6D575B7D26EA}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>HalconTool</RootNamespace>
|
||||
<AssemblyName>HalconTool</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="halcondotnet">
|
||||
<HintPath>C:\Program Files\MVTec\HALCON-19.05-Progress\bin\dotnet20\halcondotnet.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="FormHalconTool.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="FormHalconTool.Designer.cs">
|
||||
<DependentUpon>FormHalconTool.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="HalconTool.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="FormHalconTool.resx">
|
||||
<DependentUpon>FormHalconTool.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user