Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
张士柳
/
eyemLib
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
图表
网络
创建新的问题
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 1352ebcf
由
张士柳
编写于
2021-01-15 13:09:39 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
无
1 个父辈
81920d8b
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
13 行增加
和
10 行删除
eyemLib-Sharp/EyemLib.cs
eyemLib/eyemBarCode.cpp
eyemLib-Sharp/EyemLib.cs
查看文件 @
1352ebc
...
...
@@ -653,15 +653,17 @@ namespace eyemLib_Sharp
#
region
结构转内存指针
public
static
IntPtr
teStructArray2IntPtr
(
EyemOcsDXY
[]
cvPoint2D32f
,
int
iLength
)
public
static
IntPtr
teStructArray2IntPtr
(
EyemOcsDXY
[]
tpPoints
,
int
iLength
)
{
if
(
tpPoints
==
null
)
throw
new
ArgumentNullException
(
"cvPoint2D32f"
);
//分配结构体需要的内存
IntPtr
ptrTemp
=
(
IntPtr
)
Marshal
.
AllocHGlobal
(
Marshal
.
SizeOf
(
typeof
(
EyemOcsDXY
))
*
iLength
);
for
(
int
j
=
0
,
addr
=
(
int
)
ptrTemp
;
j
<
iLength
;
j
++,
addr
+=
Marshal
.
SizeOf
(
typeof
(
EyemOcsDXY
))
)
IntPtr
memory
=
(
IntPtr
)
Marshal
.
AllocHGlobal
(
checked
(
Marshal
.
SizeOf
(
typeof
(
EyemOcsDXY
))
*
iLength
)
);
for
(
int
index
=
0
;
index
<
iLength
;
index
++
)
{
Marshal
.
StructureToPtr
(
cvPoint2D32f
[
j
],
(
IntPtr
)
addr
,
false
);
Marshal
.
StructureToPtr
(
tpPoints
[
index
],
(
IntPtr
)(
checked
((
long
)
memory
+
index
*
Marshal
.
SizeOf
(
typeof
(
EyemOcsDXY
))))
,
false
);
}
return
ptrTemp
;
return
memory
;
}
#
endregion
...
...
eyemLib/eyemBarCode.cpp
查看文件 @
1352ebc
...
...
@@ -605,11 +605,6 @@ int eyemDetectAndDecode(EyemImage tpImage, EyemRect tpRoi, const char *ccFileNam
//cv::Mat background(Y, X, CV_8UC1, max);
//src.copyTo(background, binary4);
cv
::
Mat
edge
;
cv
::
Canny
(
mphyEx
,
edge
,
100
,
200
);
src
=
edge
;
//计算角点响应
cv
::
Mat
harMap
;
cv
::
cornerHarris
(
src
,
harMap
,
cvRound
(
iBlockSize
*
dScaleUpAndDown
),
3
,
0.04
);
//对二维码效果比较好
...
...
@@ -647,6 +642,9 @@ int eyemDetectAndDecode(EyemImage tpImage, EyemRect tpRoi, const char *ccFileNam
//测试用
return
FUNC_OK
;
//确定识别类型
std
::
vector
<
std
::
string
>
hints_
;
...
...
@@ -663,6 +661,9 @@ int eyemDetectAndDecode(EyemImage tpImage, EyemRect tpRoi, const char *ccFileNam
std
::
find
(
hints_
.
begin
(),
hints_
.
end
(),
"ITF"
)
!=
hints_
.
end
()
||
std
::
find
(
hints_
.
begin
(),
hints_
.
end
(),
"RSS_14"
)
!=
hints_
.
end
()
||
std
::
find
(
hints_
.
begin
(),
hints_
.
end
(),
"RSS_EXPANDED"
)
!=
hints_
.
end
();
//是否添加二维码检测
bool
addTwoDReader
=
std
::
find
(
hints_
.
begin
(),
hints_
.
end
(),
"QR_CODE"
)
!=
hints_
.
end
()
||
std
::
find
(
hints_
.
begin
(),
hints_
.
end
(),
"DATA_MATRIX"
)
!=
hints_
.
end
()
||
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论