Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
刘韬
/
CarerayImage
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 29168cb4
由
刘韬
编写于
2025-03-05 16:03:27 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
CountTemplateX
1 个父辈
31fa496f
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
375 行增加
和
3 行删除
CarerayImage/NeoX.cs
CarerayImage/XrayImage.cs
dll/ConfigHelper.dll
dll/ConfigHelper.xml
CarerayImage/NeoX.cs
查看文件 @
29168cb
...
@@ -68,7 +68,7 @@ public static class NeoX
...
@@ -68,7 +68,7 @@ public static class NeoX
}
}
[
HandleProcessCorruptedStateExceptions
]
[
HandleProcessCorruptedStateExceptions
]
internal
static
bool
AlgoC
(
string
filename
,
int
shrinkOffset
,
int
Corner
,
string
type
,
out
int
count
,
out
Bitmap
bitmap
)
internal
static
bool
AlgoC
(
string
filename
,
string
templateFile
,
int
shrinkOffset
,
int
Corner
,
string
type
,
out
int
count
,
out
Bitmap
bitmap
)
{
{
var
d
=
new
NeoXData
();
var
d
=
new
NeoXData
();
...
@@ -76,6 +76,7 @@ public static class NeoX
...
@@ -76,6 +76,7 @@ public static class NeoX
d
.
outPath
=
Corner
+
"-Mark.png"
;
d
.
outPath
=
Corner
+
"-Mark.png"
;
d
.
shrinkOffset
=
shrinkOffset
;
d
.
shrinkOffset
=
shrinkOffset
;
d
.
Corner
=
Corner
;
d
.
Corner
=
Corner
;
d
.
temPath
=
templateFile
;
d
.
Algo
=
type
;
d
.
Algo
=
type
;
var
s
=
JsonConvert
.
SerializeObject
(
d
);
var
s
=
JsonConvert
.
SerializeObject
(
d
);
count
=
0
;
count
=
0
;
...
@@ -197,6 +198,8 @@ internal class NeoXData
...
@@ -197,6 +198,8 @@ internal class NeoXData
public
string
imgPath
;
public
string
imgPath
;
//输出图像路径
//输出图像路径
public
string
outPath
;
public
string
outPath
;
//输入模版路径
public
string
temPath
;
//算法名称
//算法名称
public
string
Algo
;
public
string
Algo
;
//剪裁像素
//剪裁像素
...
...
CarerayImage/XrayImage.cs
查看文件 @
29168cb
...
@@ -254,7 +254,10 @@ namespace Asa
...
@@ -254,7 +254,10 @@ namespace Asa
type
=
NeoX
.
ConverterType
(
type
,
true
);
type
=
NeoX
.
ConverterType
(
type
,
true
);
if
(
NeoX
.
HasNeox
()
&&
type
.
StartsWith
(
"ID"
))
if
(
NeoX
.
HasNeox
()
&&
type
.
StartsWith
(
"ID"
))
{
{
var
result
=
NeoX
.
AlgoC
(
path
,
ShrinkOffset
,
0
,
type
,
out
int
c
,
out
Bitmap
bitmap
);
var
tf
=
GetTemplateFile
(
path
);
if
(!
string
.
IsNullOrEmpty
(
tf
))
type
=
"ID_TYPE_T"
;
var
result
=
NeoX
.
AlgoC
(
path
,
tf
,
ShrinkOffset
,
0
,
type
,
out
int
c
,
out
Bitmap
bitmap
);
count
=
new
int
[
4
]
{
c
,
0
,
0
,
0
};
count
=
new
int
[
4
]
{
c
,
0
,
0
,
0
};
BmpDstImg
=
bitmap
;
BmpDstImg
=
bitmap
;
return
result
?
0
:-
1
;
return
result
?
0
:-
1
;
...
@@ -272,6 +275,51 @@ namespace Asa
...
@@ -272,6 +275,51 @@ namespace Asa
eyemImageFree
(
ref
eyem
);
eyemImageFree
(
ref
eyem
);
return
n
;
return
n
;
}
}
private
static
string
GetTemplateFile
(
string
path
)
{
try
{
// 提取文件名中等于号前面的部分
string
fileName
=
Path
.
GetFileNameWithoutExtension
(
path
);
var
splitchar
=
ConfigHelper
.
Config
.
Get
(
"PN_Split_Char"
,
"-"
);
int
index
=
fileName
.
IndexOf
(
splitchar
);
// 找到等于号的位置
string
pn
;
if
(
index
!=
-
1
)
{
pn
=
fileName
.
Substring
(
0
,
index
);
// 截取等于号前面的部分
}
else
{
pn
=
fileName
;
// 如果没有等号,则直接使用整个文件名
}
// 拼接目标路径和文件名
string
directoryPath
=
CommonLib
.
GetPath
(
"CountTemplateX"
);
string
targetFile
=
$
"{pn}.png"
;
string
fullPath
=
Path
.
Combine
(
directoryPath
,
targetFile
);
string
subfullPath
=
Path
.
Combine
(
CommonLib
.
GetPath
(
"..\\CountTemplateX"
),
targetFile
);
// 检查目标文件是否存在
if
(
File
.
Exists
(
fullPath
))
{
return
fullPath
;
// 返回文件的完整路径
}
else
if
(
File
.
Exists
(
subfullPath
))
{
return
subfullPath
;
// 返回文件的完整路径
}
else
{
return
""
;
// 文件不存在,返回空
}
}
catch
(
Exception
ex
)
{
// 处理异常,如路径无法访问、文件名无效等
Console
.
WriteLine
(
$
"Error: {ex}"
);
return
""
;
}
}
[
HandleProcessCorruptedStateExceptions
]
[
HandleProcessCorruptedStateExceptions
]
public
static
int
GetLocalCountIrregular
(
EyemImage
eyem
,
int
ShrinkOffset
,
string
outfilename
,
string
type
,
out
int
[]
count
,
out
Bitmap
BmpDstImg
)
public
static
int
GetLocalCountIrregular
(
EyemImage
eyem
,
int
ShrinkOffset
,
string
outfilename
,
string
type
,
out
int
[]
count
,
out
Bitmap
BmpDstImg
)
...
@@ -329,7 +377,11 @@ namespace Asa
...
@@ -329,7 +377,11 @@ namespace Asa
int
Corner
=
ck
;
int
Corner
=
ck
;
try
try
{
{
NeoX
.
AlgoC
(
path
,
ShrinkOffset
,
Corner
+
1
,
ccdata
[
ck
],
out
int
c
,
out
Bitmap
bitmap
);
var
type1
=
ccdata
[
ck
];
var
tf
=
GetTemplateFile
(
path
);
if
(!
string
.
IsNullOrEmpty
(
tf
))
type1
=
"ID_TYPE_T"
;
NeoX
.
AlgoC
(
path
,
tf
,
ShrinkOffset
,
Corner
+
1
,
type1
,
out
int
c
,
out
Bitmap
bitmap
);
lock
(
ccresult
)
lock
(
ccresult
)
{
{
ccresult
.
Add
(
Corner
,
(
c
,
bitmap
));
ccresult
.
Add
(
Corner
,
(
c
,
bitmap
));
...
...
dll/ConfigHelper.dll
查看文件 @
29168cb
此文件类型无法预览
dll/ConfigHelper.xml
查看文件 @
29168cb
...
@@ -4,6 +4,111 @@
...
@@ -4,6 +4,111 @@
<name>
ConfigHelper
</name>
<name>
ConfigHelper
</name>
</assembly>
</assembly>
<members>
<members>
<member
name=
"F:ConfigHelper.AdvanceConfigEdit.CustomEditor"
>
<summary>
自定义编辑器
</summary>
</member>
<member
name=
"F:ConfigHelper.AdvanceConfigEdit.components"
>
<summary>
必需的设计器变量。
</summary>
</member>
<member
name=
"M:ConfigHelper.AdvanceConfigEdit.Dispose(System.Boolean)"
>
<summary>
清理所有正在使用的资源。
</summary>
<param
name=
"disposing"
>
如果应释放托管资源,为 true;否则为 false。
</param>
</member>
<member
name=
"M:ConfigHelper.AdvanceConfigEdit.InitializeComponent"
>
<summary>
设计器支持所需的方法 - 不要修改
使用代码编辑器修改此方法的内容。
</summary>
</member>
<member
name=
"M:ConfigHelper.AdvanceConfigForm.AddCustomEditor``1(System.String)"
>
<summary>
添加自定义编辑器
</summary>
<typeparam
name=
"T"
></typeparam>
<param
name=
"name"
></param>
</member>
<member
name=
"M:ConfigHelper.AdvanceConfigForm.ShowEditDialog(System.Windows.Forms.IWin32Window,System.Boolean)"
>
<summary>
显示配置界面,2秒内调用约6次后显示
</summary>
<param
name=
"owner"
></param>
<param
name=
"TopMost"
></param>
</member>
<member
name=
"F:ConfigHelper.AdvanceConfigForm.components"
>
<summary>
Required designer variable.
</summary>
</member>
<member
name=
"M:ConfigHelper.AdvanceConfigForm.Dispose(System.Boolean)"
>
<summary>
Clean up any resources being used.
</summary>
<param
name=
"disposing"
>
true if managed resources should be disposed; otherwise, false.
</param>
</member>
<member
name=
"M:ConfigHelper.AdvanceConfigForm.InitializeComponent"
>
<summary>
Required method for Designer support - do not modify
the contents of this method with the code editor.
</summary>
</member>
<member
name=
"P:ConfigHelper.CheckedListBoxEx.DataSource"
>
<summary>
绑定数据源
</summary>
<param
name=
"data"
></param>
</member>
<member
name=
"T:ConfigHelper.CheckItem"
>
<summary>
Represents an item in the checklistbox
</summary>
</member>
<member
name=
"T:ConfigHelper.Config"
>
<summary>
自定义配置存取
</summary>
</member>
<member
name=
"F:ConfigHelper.Config.hasChange"
>
<summary>
指示配置文件是否存在变化
</summary>
</member>
<member
name=
"P:ConfigHelper.Config.SaveToAppdata"
>
<summary>
将设置保存至appdata目录
</summary>
</member>
<member
name=
"M:ConfigHelper.Config.ReloadConfig"
>
<summary>
重载配置
</summary>
</member>
<member
name=
"M:ConfigHelper.Config.SetComment(System.String,System.String)"
>
<summary>
设置备注
</summary>
<param
name=
"key"
></param>
<param
name=
"Comment"
></param>
</member>
<member
name=
"M:ConfigHelper.Config.Get(System.String)"
>
<summary>
读取配置
</summary>
<param
name=
"key"
></param>
<returns></returns>
</member>
<member
name=
"M:ConfigHelper.Config.Get(System.Object)"
>
<summary>
读取配置
</summary>
<param
name=
"key"
>
传入一个枚举值
</param>
<returns></returns>
</member>
<member
name=
"M:ConfigHelper.Config.Get``1(System.Object,``0)"
>
<member
name=
"M:ConfigHelper.Config.Get``1(System.Object,``0)"
>
<summary>
<summary>
读取配置
读取配置
...
@@ -13,5 +118,217 @@
...
@@ -13,5 +118,217 @@
<param
name=
"defaultvalue"
>
失败默认值
</param>
<param
name=
"defaultvalue"
>
失败默认值
</param>
<returns></returns>
<returns></returns>
</member>
</member>
<member
name=
"M:ConfigHelper.Config.Get``1(System.String,``0)"
>
<summary>
读取配置
</summary>
<typeparam
name=
"T"
>
返回类型
</typeparam>
<param
name=
"key"
>
key
</param>
<param
name=
"defaultvalue"
>
失败默认值
</param>
<returns></returns>
</member>
<member
name=
"M:ConfigHelper.Config.Set(System.String,System.String)"
>
<summary>
设置配置
</summary>
<param
name=
"key"
></param>
<param
name=
"value"
></param>
</member>
<member
name=
"M:ConfigHelper.Config.Set(System.Object,System.String)"
>
<summary>
设置配置
</summary>
<param
name=
"key"
>
配置枚举值
</param>
<param
name=
"value"
></param>
</member>
<member
name=
"M:ConfigHelper.Config.Set``1(System.Object,``0)"
>
<summary>
设置配置
</summary>
<param
name=
"key"
>
配置枚举值
</param>
<param
name=
"value"
></param>
</member>
<member
name=
"M:ConfigHelper.Config.Set``1(System.String,``0)"
>
<summary>
设置配置
</summary>
<typeparam
name=
"T"
>
值类型
</typeparam>
<param
name=
"key"
></param>
<param
name=
"value"
></param>
</member>
<member
name=
"M:ConfigHelper.Config.Del(System.String)"
>
<summary>
删除配置
</summary>
<param
name=
"key"
></param>
</member>
<member
name=
"M:ConfigHelper.Config.SaveChangeDebounce"
>
<summary>
保存设置
</summary>
</member>
<member
name=
"M:ConfigHelper.Config.SaveChange"
>
<summary>
保存设置
</summary>
</member>
<member
name=
"P:ConfigHelper.Config.Configlist"
>
<summary>
获取所有配置文本
</summary>
</member>
<member
name=
"M:ConfigHelper.Config.FileSave(System.String,System.String)"
>
<summary>
不通过系统缓存立刻写入磁盘
</summary>
<param
name=
"content"
></param>
<param
name=
"destfilename"
></param>
</member>
<member
name=
"M:ConfigHelper.Config.PropertyBind(System.Object,System.Object,System.String,System.String,System.String)"
>
<summary>
绑定UI属性
</summary>
<param
name=
"key"
>
配置key
</param>
<param
name=
"uiobj"
>
ui对象
</param>
<param
name=
"Property"
>
绑定属性
</param>
<param
name=
"SaveEvent"
>
绑定事件(object s, EventArgs x),可以为空
</param>
<param
name=
"defaultvalue"
>
默认值
</param>
</member>
<member
name=
"M:ConfigHelper.Config.PropertyBind``1(System.Object,System.Object,System.String,System.String,``0)"
>
<summary>
绑定UI属性
</summary>
<param
name=
"key"
>
配置key
</param>
<param
name=
"uiobj"
>
ui对象
</param>
<param
name=
"Property"
>
绑定属性
</param>
<param
name=
"SaveEvent"
>
绑定事件(object s, EventArgs x),可以为空
</param>
<param
name=
"defaultvalue"
>
默认值
</param>
</member>
<member
name=
"M:ConfigHelper.Config.LoadMyConfig(System.Type)"
>
<summary>
转换自定义配置类
</summary>
<param
name=
"ConfigClassType"
></param>
<returns>
加载到的配置Key数量
</returns>
</member>
<member
name=
"T:ConfigHelper.ICustEditor"
>
<summary>
自定义编辑器接口
</summary>
</member>
<member
name=
"M:ConfigHelper.ICustEditor.ValueEdit(System.Object)"
>
<summary>
自己的编辑方法或界面
</summary>
<param
name=
"value"
>
传入的值
</param>
<returns>
传出的值
</returns>
</member>
<member
name=
"T:ConfigHelper.MyConfig`1"
>
<summary>
自动化我的配置
</summary>
</member>
<member
name=
"F:ConfigHelper.MyConfig`1.Key"
>
<summary>
配置的Key
</summary>
</member>
<member
name=
"P:ConfigHelper.MyConfig`1.Val"
>
<summary>
配置的值
</summary>
</member>
<member
name=
"M:ConfigHelper.MyConfig`1.ToString"
>
<summary>
获取配置数据的文本
</summary>
<returns></returns>
</member>
<member
name=
"M:ConfigHelper.MyConfig`1.op_Implicit(ConfigHelper.MyConfig{`0})~`0"
>
<summary>
隐式转换,读值
</summary>
<param
name=
"m1"
></param>
</member>
<member
name=
"M:ConfigHelper.MyConfig`1.op_Implicit(`0)~ConfigHelper.MyConfig{`0}"
>
<summary>
隐式转换,写值
</summary>
<param
name=
"v1"
></param>
</member>
<member
name=
"T:ConfigHelper.MyConfigComment"
>
<summary>
自定义配置描述
</summary>
</member>
<member
name=
"M:ConfigHelper.MyConfigComment.#ctor(System.String)"
>
<summary>
配置的说明
</summary>
<param
name=
"comment"
></param>
</member>
<member
name=
"T:CommonLib"
>
<summary>
程序公共类
</summary>
</member>
<member
name=
"P:CommonLib.AppPathExe"
>
<summary>
程序exe全路经 如d:\app\app.exe
</summary>
</member>
<member
name=
"P:CommonLib.AppPathDir"
>
<summary>
程序所在路径 如d:\app\
</summary>
</member>
<member
name=
"P:CommonLib.AppPathRoot"
>
<summary>
程序所在盘符 如d:\
</summary>
</member>
<member
name=
"P:CommonLib.AppName"
>
<summary>
程序exe名称
</summary>
</member>
<member
name=
"P:CommonLib.AppAssemblyTitle"
>
<summary>
程序AssemblyTitle
</summary>
</member>
<member
name=
"M:CommonLib.GetPath(System.String)"
>
<summary>
获取相对当前程序的目录
</summary>
<param
name=
"dirname"
></param>
<returns></returns>
</member>
<member
name=
"M:CommonLib.RegisterInstall"
>
<summary>
将程序路径写到注册表, 方便以后做软件更新
</summary>
</member>
<member
name=
"M:CommonLib.AddOrUpdateStartupTask(System.Boolean,System.Int32)"
>
<summary>
将程序设置为计划任务电脑开机,用户登陆后自动启动
</summary>
<param
name=
"enable"
>
是否启用
</param>
<param
name=
"delaysec"
>
延迟启动时间秒
</param>
</member>
<member
name=
"M:CommonLib.AddTaskAction(System.Action)"
>
<summary>
添加需要每天定时运行的任务
</summary>
<param
name=
"action"
></param>
</member>
<member
name=
"M:CommonLib.DeleteOverDayFile(System.String,System.String,System.Int32)"
>
<summary>
删除超过指定天数的文件
</summary>
<param
name=
"path"
>
文件路经
</param>
<param
name=
"ext"
>
扩展名检索格式:*.jpg
</param>
<param
name=
"day"
>
天数
</param>
</member>
</members>
</members>
</doc>
</doc>
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论