Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
RC1250-AssemblyLine
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit c8b734a6
由
LN
编写于
2023-01-31 13:28:37 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1.短皮带线4mask修改。2.料盘视频参数改为可配置。
1 个父辈
e14fa838
显示空白字符变更
内嵌
并排
正在显示
12 个修改的文件
包含
229 行增加
和
61 行删除
source/AssemblyLineClient/FrmDischargeLine.cs
source/AssemblyLineClient/记录.txt
source/DeviceLibrary/DeviceLibrary.csproj
source/DeviceLibrary/LineConfig/Config_DischargeLine_1.csv
source/DeviceLibrary/LineConfig/Config_DischargeLine_2.csv
source/DeviceLibrary/assemblyLine/DischargeLine.cs
source/DeviceLibrary/assemblyLine/OutTrayLineBean.cs
source/DeviceLibrary/deviceLibrary/halcon/CodeManager.cs
source/DeviceLibrary/deviceLibrary/reelCheck/ReelCheckParam.cs
source/DeviceLibrary/deviceLibrary/reelCheck/ReelCheckUtil.cs
source/DeviceLibrary/mask.png
source/LoadCVSLibrary/storeConfig/config/DischargeLine_Config.cs
source/AssemblyLineClient/FrmDischargeLine.cs
查看文件 @
c8b734a
...
@@ -481,22 +481,22 @@ namespace OnlineStore.AssemblyLine
...
@@ -481,22 +481,22 @@ namespace OnlineStore.AssemblyLine
private
void
btnLine1Check_Click
(
object
sender
,
EventArgs
e
)
private
void
btnLine1Check_Click
(
object
sender
,
EventArgs
e
)
{
{
ReelCheck
(
btnLine1Check
.
Text
,
equipBean
.
Config
.
CameraName_1
);
ReelCheck
(
btnLine1Check
.
Text
,
equipBean
.
Config
.
CameraName_1
,
equipBean
.
TrayLine1
.
Id
,
equipBean
.
TrayLine1
.
reelParam
);
}
}
private
void
btnLine2Check_Click
(
object
sender
,
EventArgs
e
)
private
void
btnLine2Check_Click
(
object
sender
,
EventArgs
e
)
{
{
ReelCheck
(
btnLine2Check
.
Text
,
equipBean
.
Config
.
CameraName_2
);
ReelCheck
(
btnLine2Check
.
Text
,
equipBean
.
Config
.
CameraName_2
,
equipBean
.
TrayLine2
.
Id
,
equipBean
.
TrayLine2
.
reelParam
);
}
}
private
void
ReelCheck
(
string
text
,
string
cameraName
)
private
void
ReelCheck
(
string
text
,
string
cameraName
,
int
id
,
ReelCheckParam
param
)
{
{
if
(
String
.
IsNullOrEmpty
(
cameraName
))
if
(
String
.
IsNullOrEmpty
(
cameraName
))
{
{
return
;
return
;
}
}
string
imgName
=
""
;
string
imgName
=
""
;
int
[]
result
=
ReelCheckUtil
.
ReelCheck
(
equipBase
.
DeviceID
,
cameraName
,
out
imgName
);
int
[]
result
=
ReelCheckUtil
.
ReelCheck
(
id
,
cameraName
,
param
,
out
imgName
);
if
(
result
!=
null
&&
result
.
Length
==
2
)
if
(
result
!=
null
&&
result
.
Length
==
2
)
{
{
MessageBox
.
Show
(
"相机["
+
cameraName
+
"]检测料盘结果:["
+
result
[
0
]
+
"]["
+
result
[
1
]
+
"],图片:"
+
imgName
,
text
+
"结果"
,
MessageBoxButtons
.
OK
,
MessageBoxIcon
.
Information
);
MessageBox
.
Show
(
"相机["
+
cameraName
+
"]检测料盘结果:["
+
result
[
0
]
+
"]["
+
result
[
1
]
+
"],图片:"
+
imgName
,
text
+
"结果"
,
MessageBoxButtons
.
OK
,
MessageBoxIcon
.
Information
);
...
...
source/AssemblyLineClient/记录.txt
查看文件 @
c8b734a
...
@@ -633,3 +633,19 @@ PRO,0,短皮带线2监控相机,CameraName_2,r_camera_2,,,,,
...
@@ -633,3 +633,19 @@ PRO,0,短皮带线2监控相机,CameraName_2,r_camera_2,,,,,
1.清空入库任务时清空托盘。
1.清空入库任务时清空托盘。
2.入料夹爪抓料后如果伺服检测信号亮,从服务器获取库位成功继续入库,未取到尺寸直接NG.
2.入料夹爪抓料后如果伺服检测信号亮,从服务器获取库位成功继续入库,未取到尺寸直接NG.
3.皮带线视觉识别图片保存功能。
3.皮带线视觉识别图片保存功能。
Config_DischargeLine_1.csv 需要增加配置:
PRO,0,短皮带线2监控提取上限[HSV],Camera_2_RangeL,57;15;0,,,,,
PRO,0,短皮带线2监控提取上限[HSV],Camera_2_RangeU,93;255;255,,,,,
PRO,0,短皮带线2监控区域1,Camera_2_Rect1,1120;737;296;282,,,,,
PRO,0,短皮带线2监控区域2,Camera_2_Rect2,1405;611;236;202,,,,,
Config_DischargeLine_2.csv 需要增加配置:
PRO,0,短皮带线1监控提取上限[HSV],Camera_1_RangeL,70;10;10,,,,,
PRO,0,短皮带线1监控提取上限[HSV],Camera_1_RangeU,95;255;255,,,,,
PRO,0,短皮带线1监控区域1,Camera_1_Rect1,1161;1079;432;395,,,,,
PRO,0,短皮带线1监控区域2,Camera_1_Rect2,1693;1078;302;233,,,,,
source/DeviceLibrary/DeviceLibrary.csproj
查看文件 @
c8b734a
...
@@ -92,6 +92,7 @@
...
@@ -92,6 +92,7 @@
<Compile Include="baan\WaitUtil.cs" />
<Compile Include="baan\WaitUtil.cs" />
<Compile Include="deviceLibrary\halcon\EyemManager.cs" />
<Compile Include="deviceLibrary\halcon\EyemManager.cs" />
<Compile Include="deviceLibrary\reelCheck\MyCamera.cs" />
<Compile Include="deviceLibrary\reelCheck\MyCamera.cs" />
<Compile Include="deviceLibrary\reelCheck\ReelCheckParam.cs" />
<Compile Include="deviceLibrary\reelCheck\ReelCheckUtil.cs" />
<Compile Include="deviceLibrary\reelCheck\ReelCheckUtil.cs" />
<Compile Include="deviceLibrary\halcon\CodeManager.cs" />
<Compile Include="deviceLibrary\halcon\CodeManager.cs" />
<Compile Include="deviceLibrary\halcon\RemoteDecodeHelper.cs" />
<Compile Include="deviceLibrary\halcon\RemoteDecodeHelper.cs" />
...
...
source/DeviceLibrary/LineConfig/Config_DischargeLine_1.csv
查看文件 @
c8b734a
...
@@ -2,6 +2,10 @@
...
@@ -2,6 +2,10 @@
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,,,,
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,,,,
PRO,0,扫码的相机名称(多个用#分隔),CameraNameList,GigE:MV-CE200-10GC (00D76546944),,,,,
PRO,0,扫码的相机名称(多个用#分隔),CameraNameList,GigE:MV-CE200-10GC (00D76546944),,,,,
PRO,0,短皮带线2监控相机,CameraName_2,r_camera_2,,,,,
PRO,0,短皮带线2监控相机,CameraName_2,r_camera_2,,,,,
PRO,0,短皮带线2监控提取上限[HSV],Camera_2_RangeL,57;15;0,,,,,
PRO,0,短皮带线2监控提取上限[HSV],Camera_2_RangeU,93;255;255,,,,,
PRO,0,短皮带线2监控区域1,Camera_2_Rect1,1120;737;296;282,,,,,
PRO,0,短皮带线2监控区域2,Camera_2_Rect2,1405;611;236;202,,,,,
,,,,,,,,,
,,,,,,,,,
DI,0,出料皮带线体1急停,DLine_SuddenStop,0,PRO_AOI_IP_2,0,出料皮带线体1急停,X021,X021
DI,0,出料皮带线体1急停,DLine_SuddenStop,0,PRO_AOI_IP_2,0,出料皮带线体1急停,X021,X021
DI,0,出料皮带线体1复位,DLine_Reset,1,PRO_AOI_IP_2,0,出料皮带线体1复位,X022,X022
DI,0,出料皮带线体1复位,DLine_Reset,1,PRO_AOI_IP_2,0,出料皮带线体1复位,X022,X022
...
...
source/DeviceLibrary/LineConfig/Config_DischargeLine_2.csv
查看文件 @
c8b734a
...
@@ -2,6 +2,10 @@
...
@@ -2,6 +2,10 @@
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,,,,
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,,,,
PRO,0,扫码的相机名称(多个用#分隔),CameraNameList,GigE:MV-CE200-10GC (00D76546876),,,,,
PRO,0,扫码的相机名称(多个用#分隔),CameraNameList,GigE:MV-CE200-10GC (00D76546876),,,,,
PRO,0,短皮带线1监控相机,CameraName_1,r_camera_1,,,,,
PRO,0,短皮带线1监控相机,CameraName_1,r_camera_1,,,,,
PRO,0,短皮带线1监控提取上限[HSV],Camera_1_RangeL,70;10;10,,,,,
PRO,0,短皮带线1监控提取上限[HSV],Camera_1_RangeU,95;255;255,,,,,
PRO,0,短皮带线1监控区域1,Camera_1_Rect1,1161;1079;432;395,,,,,
PRO,0,短皮带线1监控区域2,Camera_1_Rect2,1693;1078;302;233,,,,,
,,,,,,,,,
,,,,,,,,,
DI,0,出料皮带线体2急停,DLine_SuddenStop,0,PRO_AOI_IP_3,0,出料皮带线体2急停,X041,X041
DI,0,出料皮带线体2急停,DLine_SuddenStop,0,PRO_AOI_IP_3,0,出料皮带线体2急停,X041,X041
DI,0,出料皮带线体2复位,DLine_Reset,1,PRO_AOI_IP_3,0,出料皮带线体2复位,X042,X042
DI,0,出料皮带线体2复位,DLine_Reset,1,PRO_AOI_IP_3,0,出料皮带线体2复位,X042,X042
...
...
source/DeviceLibrary/assemblyLine/DischargeLine.cs
查看文件 @
c8b734a
...
@@ -56,6 +56,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -56,6 +56,10 @@ namespace OnlineStore.DeviceLibrary
TrayLine1
=
new
OutTrayLineBean
(
330
+
((
id
-
1
)
*
3
+
1
),
"皮带线"
+
"_"
+
((
id
-
1
)
*
3
+
1
)
+
" "
,
IO_Type
.
ExitLocation_Check1
,
IO_Type
.
ExitTray_Check1
,
IO_Type
.
DLine_Run1
,
IO_Type
.
MiddleTray_Check3
,
this
.
DeviceID
,
IO_Type
.
DLine_Brush1
,
Config
.
CameraName_1
);
TrayLine1
=
new
OutTrayLineBean
(
330
+
((
id
-
1
)
*
3
+
1
),
"皮带线"
+
"_"
+
((
id
-
1
)
*
3
+
1
)
+
" "
,
IO_Type
.
ExitLocation_Check1
,
IO_Type
.
ExitTray_Check1
,
IO_Type
.
DLine_Run1
,
IO_Type
.
MiddleTray_Check3
,
this
.
DeviceID
,
IO_Type
.
DLine_Brush1
,
Config
.
CameraName_1
);
TrayLine2
=
new
OutTrayLineBean
(
330
+
((
id
-
1
)
*
3
+
2
),
"皮带线"
+
"_"
+
((
id
-
1
)
*
3
+
2
)
+
" "
,
IO_Type
.
ExitLocation_Check2
,
IO_Type
.
ExitTray_Check2
,
IO_Type
.
DLine_Run2
,
IO_Type
.
EntryTray_Check3
,
this
.
DeviceID
,
IO_Type
.
DLine_Brush2
,
Config
.
CameraName_2
);
TrayLine2
=
new
OutTrayLineBean
(
330
+
((
id
-
1
)
*
3
+
2
),
"皮带线"
+
"_"
+
((
id
-
1
)
*
3
+
2
)
+
" "
,
IO_Type
.
ExitLocation_Check2
,
IO_Type
.
ExitTray_Check2
,
IO_Type
.
DLine_Run2
,
IO_Type
.
EntryTray_Check3
,
this
.
DeviceID
,
IO_Type
.
DLine_Brush2
,
Config
.
CameraName_2
);
}
}
TrayLine1
.
reelParam
=
ReelCheckParam
.
getParam
(
TrayLine1
.
Id
,
config
.
CameraName_1
,
config
.
Camera_1_RangeL
,
config
.
Camera_1_RangeU
,
config
.
Camera_1_Rect1
,
config
.
Camera_1_Rect2
);
TrayLine2
.
reelParam
=
ReelCheckParam
.
getParam
(
TrayLine2
.
Id
,
config
.
CameraName_2
,
config
.
Camera_2_RangeL
,
config
.
Camera_2_RangeU
,
config
.
Camera_2_Rect1
,
config
.
Camera_2_Rect2
);
Line3Turn
=
new
LineTurnBean
(
DeviceID
,
IO_Type
.
DLine_Run3
,
IO_Type
.
Location_Check3
);
Line3Turn
=
new
LineTurnBean
(
DeviceID
,
IO_Type
.
DLine_Run3
,
IO_Type
.
Location_Check3
);
if
((
DeviceID
%
100
).
Equals
(
1
))
if
((
DeviceID
%
100
).
Equals
(
1
))
{
{
...
...
source/DeviceLibrary/assemblyLine/OutTrayLineBean.cs
查看文件 @
c8b734a
...
@@ -32,13 +32,14 @@ namespace OnlineStore.DeviceLibrary
...
@@ -32,13 +32,14 @@ namespace OnlineStore.DeviceLibrary
private
string
Name
=
""
;
private
string
Name
=
""
;
private
LineTurnBean
lineRun
=
null
;
private
LineTurnBean
lineRun
=
null
;
private
string
cameraName
=
""
;
private
string
cameraName
=
""
;
public
ReelCheckParam
reelParam
=
null
;
internal
LineMoveInfo
MoveInfo
=
null
;
internal
LineMoveInfo
MoveInfo
=
null
;
public
DischargeLine
equipBean
public
DischargeLine
equipBean
{
{
get
{
return
LineManager
.
Line
.
DisLineMap
[
equipBeanId
];
}
get
{
return
LineManager
.
Line
.
DisLineMap
[
equipBeanId
];
}
}
}
internal
bool
Line3CanRun
=
true
;
internal
bool
Line3CanRun
=
true
;
p
rivate
int
Id
=
0
;
p
ublic
int
Id
=
0
;
public
OutTrayLineBean
(
int
id
,
string
name
,
string
exitLocationS
,
string
exittrayS
,
string
lineRundo
,
string
line3checkDi
,
int
dId
,
string
brushDo
,
string
cName
)
public
OutTrayLineBean
(
int
id
,
string
name
,
string
exitLocationS
,
string
exittrayS
,
string
lineRundo
,
string
line3checkDi
,
int
dId
,
string
brushDo
,
string
cName
)
{
{
this
.
Id
=
id
;
this
.
Id
=
id
;
...
@@ -336,7 +337,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -336,7 +337,7 @@ namespace OnlineStore.DeviceLibrary
//如果有监控相机
//如果有监控相机
if
(!
cameraName
.
Equals
(
""
))
if
(!
cameraName
.
Equals
(
""
))
{
{
int
[]
results
=
ReelCheckUtil
.
ReelCheck
(
equipBean
.
DeviceID
,
cameraName
,
out
imgName
);
int
[]
results
=
ReelCheckUtil
.
ReelCheck
(
equipBean
.
DeviceID
,
cameraName
,
reelParam
,
out
imgName
);
if
(
results
!=
null
&&
results
.
Length
==
2
)
if
(
results
!=
null
&&
results
.
Length
==
2
)
{
{
exitHasTray
=
(
results
[
0
]
==
1
);
exitHasTray
=
(
results
[
0
]
==
1
);
...
...
source/DeviceLibrary/deviceLibrary/halcon/CodeManager.cs
查看文件 @
c8b734a
...
@@ -598,7 +598,6 @@ namespace OnlineStore.DeviceLibrary
...
@@ -598,7 +598,6 @@ namespace OnlineStore.DeviceLibrary
bool
findRightCode
=
false
;
bool
findRightCode
=
false
;
try
try
{
{
LogUtil
.
info
(
deviceName
+
" 【"
+
cameraName
+
"】视觉识别有料【"
+
FormUtil
.
GetSpanStr
(
DateTime
.
Now
-
startTime
)
+
"】,开始扫码"
);
ho_Image
=
Camera
.
_cam
.
CaptureOnImage
(
cameraName
,
out
bmp
);
ho_Image
=
Camera
.
_cam
.
CaptureOnImage
(
cameraName
,
out
bmp
);
if
(
ho_Image
==
null
)
if
(
ho_Image
==
null
)
...
@@ -619,6 +618,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -619,6 +618,7 @@ namespace OnlineStore.DeviceLibrary
{
{
return
(
false
,
codeList
);
return
(
false
,
codeList
);
}
}
LogUtil
.
info
(
deviceName
+
" 【"
+
cameraName
+
"】视觉识别有料【"
+
FormUtil
.
GetSpanStr
(
DateTime
.
Now
-
startTime
)
+
"】,开始扫码"
);
string
r
=
""
;
string
r
=
""
;
...
...
source/DeviceLibrary/deviceLibrary/reelCheck/ReelCheckParam.cs
0 → 100644
查看文件 @
c8b734a
using
OnlineStore.Common
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
OnlineStore.DeviceLibrary
{
public
class
ReelCheckParam
{
public
static
ReelCheckParam
getParam
(
int
deviceID
,
string
cameraName
,
string
rangeL
,
string
rangeU
,
string
rect1
,
string
rect2
)
{
ReelCheckParam
param
=
new
ReelCheckParam
();
param
.
cameraName
=
cameraName
;
param
.
deviceId
=
deviceID
;
//短皮带线三 默认参数
param
.
dpRangeL
=
new
List
<
double
>
{
70
,
10
,
10
};
param
.
dpRangeU
=
new
List
<
double
>
{
95
,
255
,
255
};
param
.
rect1
=
new
List
<
int
>
{
1161
,
1079
,
432
,
395
};
param
.
rect2
=
new
List
<
int
>
{
1693
,
1078
,
302
,
233
};
if
(
deviceID
.
Equals
(
332
))
{
//短皮带线2默认参数
param
.
dpRangeL
=
new
List
<
double
>
{
57
,
15
,
0
};
param
.
dpRangeU
=
new
List
<
double
>
{
93
,
255
,
255
};
param
.
rect1
=
new
List
<
int
>
{
1120
,
737
,
296
,
282
};
param
.
rect2
=
new
List
<
int
>
{
1405
,
611
,
236
,
202
};
}
List
<
double
>
dpRangeL
=
param
.
toDoubleArray
(
rangeL
);
List
<
double
>
dpRangeU
=
param
.
toDoubleArray
(
rangeU
);
List
<
int
>
rect1List
=
param
.
toIntArray
(
rect1
);
List
<
int
>
rect2List
=
param
.
toIntArray
(
rect2
);
if
(
dpRangeL
.
Count
>=
3
)
{
param
.
dpRangeL
=
new
List
<
double
>
{
dpRangeL
[
0
],
dpRangeL
[
1
],
dpRangeL
[
2
]
};
}
if
(
dpRangeU
.
Count
>=
3
)
{
param
.
dpRangeU
=
new
List
<
double
>
{
dpRangeU
[
0
],
dpRangeU
[
1
],
dpRangeU
[
2
]
};
}
if
(
rect1List
.
Count
>=
4
)
{
param
.
rect1
=
new
List
<
int
>
{
rect1List
[
0
],
rect1List
[
1
],
rect1List
[
2
],
rect1List
[
3
]
};
}
if
(
rect2List
.
Count
>=
4
)
{
param
.
rect2
=
new
List
<
int
>
{
rect2List
[
0
],
rect2List
[
1
],
rect2List
[
2
],
rect2List
[
3
]
};
}
LogUtil
.
info
(
$
"ReelCheckParam 皮带线ID {deviceID},{cameraName}"
+
$
",dpRangeL: {String.Join("
,
",param.dpRangeL.ToArray())}"
+
$
", dpRangeU: {String.Join("
,
", param.dpRangeU.ToArray())}"
+
$
", rect1: {String.Join("
,
", param.rect1.ToArray())}"
+
$
", rect2 {String.Join("
,
", param.rect2.ToArray())}"
);
return
param
;
}
public
List
<
double
>
toDoubleArray
(
String
str
)
{
List
<
double
>
result
=
new
List
<
double
>();
try
{
string
[]
array
=
str
.
Split
(
';'
);
if
(
array
.
Length
>
0
)
{
foreach
(
string
a
in
array
)
{
double
v
=
Convert
.
ToDouble
(
a
);
result
.
Add
(
v
);
}
}
}
catch
(
Exception
ex
)
{
}
return
result
;
}
public
List
<
int
>
toIntArray
(
String
str
)
{
List
<
int
>
result
=
new
List
<
int
>();
try
{
string
[]
array
=
str
.
Split
(
';'
);
if
(
array
.
Length
>
0
)
{
foreach
(
string
a
in
array
)
{
int
v
=
Convert
.
ToInt32
(
a
);
result
.
Add
(
v
);
}
}
}
catch
(
Exception
ex
)
{
}
return
result
;
}
public
string
cameraName
;
public
int
deviceId
;
// 提取下限
public
List
<
double
>
dpRangeL
;
//提取上限[H S V]
public
List
<
double
>
dpRangeU
;
//范围1
public
List
<
int
>
rect1
;
//范围2
public
List
<
int
>
rect2
;
}
}
source/DeviceLibrary/deviceLibrary/reelCheck/ReelCheckUtil.cs
查看文件 @
c8b734a
...
@@ -71,7 +71,7 @@ dMinorStep 步进,默认1.0。
...
@@ -71,7 +71,7 @@ dMinorStep 步进,默认1.0。
///////////////////使用///////////////////
///////////////////使用///////////////////
public
static
int
[]
ReelCheck
(
int
deviceID
,
string
cameraName
,
out
string
imgName
)
public
static
int
[]
ReelCheck
(
int
deviceID
,
string
cameraName
,
ReelCheckParam
param
,
out
string
imgName
)
{
{
imgName
=
""
;
imgName
=
""
;
if
(
String
.
IsNullOrEmpty
(
cameraName
))
if
(
String
.
IsNullOrEmpty
(
cameraName
))
...
@@ -109,19 +109,23 @@ dMinorStep 步进,默认1.0。
...
@@ -109,19 +109,23 @@ dMinorStep 步进,默认1.0。
EyemImage
image
=
eyemCvtToEyemImage
(
bitmap
);
EyemImage
image
=
eyemCvtToEyemImage
(
bitmap
);
//绿色分割模型
//绿色分割模型
EyemHSVModel
tpHsvModel
=
new
EyemHSVModel
();
EyemHSVModel
tpHsvModel
=
new
EyemHSVModel
();
tpHsvModel
.
dpRangeLExt
=
new
double
[]
{
0
,
0
,
0
};
tpHsvModel
.
dpRangeUExt
=
new
double
[]
{
0
,
0
,
0
};
tpHsvModel
.
dpRangeL
=
new
double
[]
{
param
.
dpRangeL
[
0
],
param
.
dpRangeL
[
1
],
param
.
dpRangeL
[
2
]
};
tpHsvModel
.
dpRangeU
=
new
double
[]
{
param
.
dpRangeU
[
0
],
param
.
dpRangeU
[
1
],
param
.
dpRangeU
[
2
]
};
//tpHsvModel.dpRangeL = new double[] { 55, 10, 35 }; tpHsvModel.dpRangeU = new double[] { 100, 255, 255 };
//tpHsvModel.dpRangeL = new double[] { 55, 10, 35 }; tpHsvModel.dpRangeU = new double[] { 100, 255, 255 };
//tpHsvModel.dpRangeLExt = new double[] { 0, 0, 0 }; tpHsvModel.dpRangeUExt = new double[] { 0, 0, 0 };
//tpHsvModel.dpRangeLExt = new double[] { 0, 0, 0 }; tpHsvModel.dpRangeUExt = new double[] { 0, 0, 0 };
//短皮带线三
//
//
短皮带线三
tpHsvModel
.
dpRangeL
=
new
double
[]
{
78
,
10
,
60
};
tpHsvModel
.
dpRangeU
=
new
double
[]
{
100
,
255
,
255
};
//tpHsvModel.dpRangeL = new double[] { 70, 10, 10 }; tpHsvModel.dpRangeU = new double[] { 95
, 255, 255 };
tpHsvModel
.
dpRangeLExt
=
new
double
[]
{
0
,
0
,
0
};
tpHsvModel
.
dpRangeUExt
=
new
double
[]
{
0
,
0
,
0
};
//
tpHsvModel.dpRangeLExt = new double[] { 0, 0, 0 }; tpHsvModel.dpRangeUExt = new double[] { 0, 0, 0 };
if
(
deviceID
.
Equals
(
301
))
//
if (deviceID.Equals(301))
{
//
{
//短皮带线二
//
//短皮带线二
tpHsvModel
.
dpRangeL
=
new
double
[]
{
57
,
15
,
0
};
tpHsvModel
.
dpRangeU
=
new
double
[]
{
93
,
255
,
255
};
//
tpHsvModel.dpRangeL = new double[] { 57, 15, 0 }; tpHsvModel.dpRangeU = new double[] { 93, 255, 255 };
tpHsvModel
.
dpRangeLExt
=
new
double
[]
{
0
,
0
,
0
};
tpHsvModel
.
dpRangeUExt
=
new
double
[]
{
0
,
0
,
0
};
//
tpHsvModel.dpRangeLExt = new double[] { 0, 0, 0 }; tpHsvModel.dpRangeUExt = new double[] { 0, 0, 0 };
}
//
}
//裁剪区域
//裁剪区域
EyemRect
tpRoi
=
new
EyemRect
();
EyemRect
tpRoi
=
new
EyemRect
();
...
@@ -131,22 +135,22 @@ dMinorStep 步进,默认1.0。
...
@@ -131,22 +135,22 @@ dMinorStep 步进,默认1.0。
//添加需要监控的位置信息
//添加需要监控的位置信息
List
<
EyemRect
>
tpRois
=
new
List
<
EyemRect
>();
List
<
EyemRect
>
tpRois
=
new
List
<
EyemRect
>();
//EyemRect roi1 = new EyemRect();
//roi1.iXs = 533; roi1.iYs = 187; roi1.iWidth = 345; roi1.iHeight = 310;
//EyemRect roi2 = new EyemRect();
//roi2.iXs = 900; roi2.iYs = 137; roi2.iWidth = 240; roi2.iHeight = 197;
EyemRect
roi1
=
new
EyemRect
();
EyemRect
roi1
=
new
EyemRect
();
EyemRect
roi2
=
new
EyemRect
();
EyemRect
roi2
=
new
EyemRect
();
roi1
.
iXs
=
470
;
roi1
.
iYs
=
143
;
roi1
.
iWidth
=
411
;
roi1
.
iHeight
=
387
;
roi1
.
iXs
=
param
.
rect1
[
0
];
roi1
.
iYs
=
param
.
rect1
[
1
];
roi1
.
iWidth
=
param
.
rect1
[
2
];
roi1
.
iHeight
=
param
.
rect1
[
3
];
roi2
.
iXs
=
882
;
roi2
.
iYs
=
84
;
roi2
.
iWidth
=
317
;
roi2
.
iHeight
=
251
;
roi2
.
iXs
=
param
.
rect2
[
0
];
roi2
.
iYs
=
param
.
rect2
[
1
];
roi2
.
iWidth
=
param
.
rect2
[
2
];
roi2
.
iHeight
=
param
.
rect2
[
3
];
//roi1.iXs = 470; roi1.iYs = 143; roi1.iWidth = 411; roi1.iHeight = 387;
//roi2.iXs = 882; roi2.iYs = 84; roi2.iWidth = 317; roi2.iHeight = 251;
//roi1.iXs = 1161; roi1.iYs = 1079; roi1.iWidth = 432; roi1.iHeight = 395;
//roi2.iXs = 1693; roi2.iYs = 1078; roi2.iWidth = 302; roi2.iHeight = 233;
//短皮带线三
//
//
短皮带线三
if
(
deviceID
.
Equals
(
301
))
//
if (deviceID.Equals(301))
{
//
{
//短皮带线二
//
//短皮带线二
roi1
.
iXs
=
1120
;
roi1
.
iYs
=
737
;
roi1
.
iWidth
=
296
;
roi1
.
iHeight
=
282
;
//
roi1.iXs = 1120; roi1.iYs = 737; roi1.iWidth = 296; roi1.iHeight = 282;
roi2
.
iXs
=
1405
;
roi2
.
iYs
=
611
;
roi2
.
iWidth
=
236
;
roi2
.
iHeight
=
202
;
//
roi2.iXs = 1405; roi2.iYs = 611; roi2.iWidth = 236; roi2.iHeight = 202;
}
//
}
tpRois
.
Add
(
roi1
);
tpRois
.
Add
(
roi2
);
tpRois
.
Add
(
roi1
);
tpRois
.
Add
(
roi2
);
...
@@ -292,36 +296,6 @@ dMinorStep 步进,默认1.0。
...
@@ -292,36 +296,6 @@ dMinorStep 步进,默认1.0。
return
tpImage
;
return
tpImage
;
}
}
//public static void eyemCvtToEyemImage(Bitmap bitmap, out EyemImage tpImage)
//{
// int channels = 0;
// switch (bitmap.PixelFormat)
// {
// case PixelFormat.Format8bppIndexed:
// channels = 1;
// break;
// case PixelFormat.Format24bppRgb:
// channels = 3;
// break;
// case PixelFormat.Format32bppArgb:
// channels = 4;
// break;
// default:
// break;
// }
// //锁定数据区
// BitmapData bd = bitmap.LockBits(new Rectangle(0, 0, bitmap.Width, bitmap.Height),
// ImageLockMode.ReadOnly, bitmap.PixelFormat);
// try
// {
// eyemImageFromBitmap(bd.Scan0, bd.Width, bd.Height, 0, channels, out tpImage);
// }
// finally
// {
// bitmap.UnlockBits(bd);
// }
//}
public
static
IntPtr
eyemStructArray2IntPtr
<
T
>(
T
[]
tpArray
)
public
static
IntPtr
eyemStructArray2IntPtr
<
T
>(
T
[]
tpArray
)
{
{
if
(
tpArray
==
null
)
if
(
tpArray
==
null
)
...
@@ -387,4 +361,5 @@ dMinorStep 步进,默认1.0。
...
@@ -387,4 +361,5 @@ dMinorStep 步进,默认1.0。
}
}
}
}
}
}
source/DeviceLibrary/mask.png
查看文件 @
c8b734a
6.6 KB
|
宽:
|
高:
15.1 KB
|
宽:
|
高:
两方对比
交换覆盖
透明覆盖
source/LoadCVSLibrary/storeConfig/config/DischargeLine_Config.cs
查看文件 @
c8b734a
...
@@ -39,12 +39,52 @@ namespace OnlineStore.LoadCSVLibrary
...
@@ -39,12 +39,52 @@ namespace OnlineStore.LoadCSVLibrary
[
ConfigProAttribute
(
"CameraName_1"
,
false
)]
[
ConfigProAttribute
(
"CameraName_1"
,
false
)]
public
string
CameraName_1
{
get
;
set
;
}
public
string
CameraName_1
{
get
;
set
;
}
/// <summary>
/// <summary>
/// PRO,0,短皮带线1监控提取上限[HSV],Camera_1_RangeL,78;10;60,,,,,
/// </summary>
[
ConfigProAttribute
(
"Camera_1_RangeL"
,
false
)]
public
string
Camera_1_RangeL
{
get
;
set
;
}
/// <summary>
/// PRO,0,短皮带线1监控提取上限[HSV],Camera_1_RangeU,100;255;255
/// </summary>
[
ConfigProAttribute
(
"Camera_1_RangeU"
,
false
)]
public
string
Camera_1_RangeU
{
get
;
set
;
}
/// <summary>
/// PRO,0,短皮带线1监控区域1,Camera_1_Rect1,470;143;411;387
/// </summary>
[
ConfigProAttribute
(
"Camera_1_Rect1"
,
false
)]
public
string
Camera_1_Rect1
{
get
;
set
;
}
/// <summary>
/// PRO,0,短皮带线1监控区域2,Camera_1_Rect2,882;84;317;251
/// </summary>
[
ConfigProAttribute
(
"Camera_1_Rect2"
,
false
)]
public
string
Camera_1_Rect2
{
get
;
set
;
}
/// <summary>
/// PRO 0 短皮带线2监控相机 CameraName_2
/// PRO 0 短皮带线2监控相机 CameraName_2
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"CameraName_2"
,
false
)]
[
ConfigProAttribute
(
"CameraName_2"
,
false
)]
public
string
CameraName_2
{
get
;
set
;
}
public
string
CameraName_2
{
get
;
set
;
}
/// <summary>
/// PRO,0,短皮带线1监控提取上限[HSV],Camera_2_RangeL,78;10;60,,,,,
/// </summary>
[
ConfigProAttribute
(
"Camera_2_RangeL"
,
false
)]
public
string
Camera_2_RangeL
{
get
;
set
;
}
/// <summary>
/// PRO,0,短皮带线1监控提取上限[HSV],Camera_2_RangeU,100;255;255
/// </summary>
[
ConfigProAttribute
(
"Camera_2_RangeU"
,
false
)]
public
string
Camera_2_RangeU
{
get
;
set
;
}
/// <summary>
/// PRO,0,短皮带线1监控区域1,Camera_2_Rect1,470;143;411;387
/// </summary>
[
ConfigProAttribute
(
"Camera_2_Rect1"
,
false
)]
public
string
Camera_2_Rect1
{
get
;
set
;
}
/// <summary>
/// PRO,0,短皮带线1监控区域2,Camera_2_Rect2,882;84;317;251
/// </summary>
[
ConfigProAttribute
(
"Camera_2_Rect2"
,
false
)]
public
string
Camera_2_Rect2
{
get
;
set
;
}
private
List
<
string
>
CameraList
=
null
;
private
List
<
string
>
CameraList
=
null
;
...
@@ -65,5 +105,7 @@ namespace OnlineStore.LoadCSVLibrary
...
@@ -65,5 +105,7 @@ namespace OnlineStore.LoadCSVLibrary
}
}
return
CameraList
;
return
CameraList
;
}
}
}
}
}
}
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论