删除简单的opencv模板匹配算子,改为使用更高级一点的可旋转匹配算子(C++)

This commit is contained in:
李伟
2026-05-13 14:02:34 +08:00
parent b9106acdf0
commit aedbef5ecc
26 changed files with 1135 additions and 2429 deletions
-153
View File
@@ -780,159 +780,6 @@ namespace XP.Common.Resources {
}
}
/// <summary>
/// 查找类似 模板匹配 的本地化字符串。
/// </summary>
public static string TemplateMatchingProcessor_Name {
get {
return ResourceManager.GetString("TemplateMatchingProcessor_Name", resourceCulture);
}
}
/// <summary>
/// 查找类似 在整幅灰度图中搜索模板图像的最佳位置,可选绘制匹配框 的本地化字符串。
/// </summary>
public static string TemplateMatchingProcessor_Description {
get {
return ResourceManager.GetString("TemplateMatchingProcessor_Description", resourceCulture);
}
}
/// <summary>
/// 查找类似 模板文件路径 的本地化字符串。
/// </summary>
public static string TemplateMatchingProcessor_TemplatePath {
get {
return ResourceManager.GetString("TemplateMatchingProcessor_TemplatePath", resourceCulture);
}
}
/// <summary>
/// 查找类似 磁盘上的模板图像路径(支持 bmp/png/jpg 等,彩色将转为灰度) 的本地化字符串。
/// </summary>
public static string TemplateMatchingProcessor_TemplatePath_Desc {
get {
return ResourceManager.GetString("TemplateMatchingProcessor_TemplatePath_Desc", resourceCulture);
}
}
/// <summary>
/// 查找类似 匹配方法 的本地化字符串。
/// </summary>
public static string TemplateMatchingProcessor_MatchMethod {
get {
return ResourceManager.GetString("TemplateMatchingProcessor_MatchMethod", resourceCulture);
}
}
/// <summary>
/// 查找类似 OpenCV 模板匹配类型;CcoeffNormed/CcorrNormed 等越大越好,SqdiffNormed 越小越好(越接近 0 越相似) 的本地化字符串。
/// </summary>
public static string TemplateMatchingProcessor_MatchMethod_Desc {
get {
return ResourceManager.GetString("TemplateMatchingProcessor_MatchMethod_Desc", resourceCulture);
}
}
/// <summary>
/// 查找类似 匹配阈值 的本地化字符串。
/// </summary>
public static string TemplateMatchingProcessor_MatchThreshold {
get {
return ResourceManager.GetString("TemplateMatchingProcessor_MatchThreshold", resourceCulture);
}
}
/// <summary>
/// 查找类似 相关类方法:得分需≥该值判为匹配;Sqdiff/SqdiffNormed:得分需≤该值(建议 Normed 时 0.1~0.3) 的本地化字符串。
/// </summary>
public static string TemplateMatchingProcessor_MatchThreshold_Desc {
get {
return ResourceManager.GetString("TemplateMatchingProcessor_MatchThreshold_Desc", resourceCulture);
}
}
/// <summary>
/// 查找类似 绘制匹配矩形 的本地化字符串。
/// </summary>
public static string TemplateMatchingProcessor_DrawMatch {
get {
return ResourceManager.GetString("TemplateMatchingProcessor_DrawMatch", resourceCulture);
}
}
/// <summary>
/// 查找类似 匹配通过阈值时在输出图上用白框标出模板区域 的本地化字符串。
/// </summary>
public static string TemplateMatchingProcessor_DrawMatch_Desc {
get {
return ResourceManager.GetString("TemplateMatchingProcessor_DrawMatch_Desc", resourceCulture);
}
}
/// <summary>
/// 查找类似 矩形线宽 的本地化字符串。
/// </summary>
public static string TemplateMatchingProcessor_RectThickness {
get {
return ResourceManager.GetString("TemplateMatchingProcessor_RectThickness", resourceCulture);
}
}
/// <summary>
/// 查找类似 匹配框线宽(像素) 的本地化字符串。
/// </summary>
public static string TemplateMatchingProcessor_RectThickness_Desc {
get {
return ResourceManager.GetString("TemplateMatchingProcessor_RectThickness_Desc", resourceCulture);
}
}
/// <summary>
/// 查找类似 Search region X 的本地化字符串。
/// </summary>
public static string TemplateMatchingProcessor_SearchRegionX {
get {
return ResourceManager.GetString("TemplateMatchingProcessor_SearchRegionX", resourceCulture);
}
}
/// <summary>
/// 查找类似 Search region Y 的本地化字符串。
/// </summary>
public static string TemplateMatchingProcessor_SearchRegionY {
get {
return ResourceManager.GetString("TemplateMatchingProcessor_SearchRegionY", resourceCulture);
}
}
/// <summary>
/// 查找类似 Search region width 的本地化字符串。
/// </summary>
public static string TemplateMatchingProcessor_SearchRegionWidth {
get {
return ResourceManager.GetString("TemplateMatchingProcessor_SearchRegionWidth", resourceCulture);
}
}
/// <summary>
/// 查找类似 Search region height 的本地化字符串。
/// </summary>
public static string TemplateMatchingProcessor_SearchRegionHeight {
get {
return ResourceManager.GetString("TemplateMatchingProcessor_SearchRegionHeight", resourceCulture);
}
}
/// <summary>
/// 查找类似 Rectangular search window in source pixels. 的本地化字符串。
/// </summary>
public static string TemplateMatchingProcessor_SearchRegion_Desc {
get {
return ResourceManager.GetString("TemplateMatchingProcessor_SearchRegion_Desc", resourceCulture);
}
}
/// <summary>
/// 查找类似 自动对比度 的本地化字符串。
/// </summary>
+84 -51
View File
@@ -489,57 +489,6 @@
<data name="ContourProcessor_Thickness_Desc" xml:space="preserve">
<value>Thickness of contour lines</value>
</data>
<data name="TemplateMatchingProcessor_Name" xml:space="preserve">
<value>Template Matching</value>
</data>
<data name="TemplateMatchingProcessor_Description" xml:space="preserve">
<value>Find the best match for a template in the grayscale image; optionally draw the match rectangle</value>
</data>
<data name="TemplateMatchingProcessor_TemplatePath" xml:space="preserve">
<value>Template file path</value>
</data>
<data name="TemplateMatchingProcessor_TemplatePath_Desc" xml:space="preserve">
<value>Path to template image (bmp/png/jpg, etc.); color images are converted to grayscale</value>
</data>
<data name="TemplateMatchingProcessor_MatchMethod" xml:space="preserve">
<value>Match method</value>
</data>
<data name="TemplateMatchingProcessor_MatchMethod_Desc" xml:space="preserve">
<value>OpenCV template method; higher is better for CcoeffNormed/CcorrNormed; lower is better for SqdiffNormed (0 = identical)</value>
</data>
<data name="TemplateMatchingProcessor_MatchThreshold" xml:space="preserve">
<value>Match threshold</value>
</data>
<data name="TemplateMatchingProcessor_MatchThreshold_Desc" xml:space="preserve">
<value>Correlation methods: match if score ≥ threshold. Sqdiff/SqdiffNormed: match if score ≤ threshold (try 0.10.3 for Normed)</value>
</data>
<data name="TemplateMatchingProcessor_DrawMatch" xml:space="preserve">
<value>Draw match rectangle</value>
</data>
<data name="TemplateMatchingProcessor_DrawMatch_Desc" xml:space="preserve">
<value>When match passes threshold, draw a white rectangle on the output</value>
</data>
<data name="TemplateMatchingProcessor_RectThickness" xml:space="preserve">
<value>Rectangle thickness</value>
</data>
<data name="TemplateMatchingProcessor_RectThickness_Desc" xml:space="preserve">
<value>Line width of the match box in pixels</value>
</data>
<data name="TemplateMatchingProcessor_SearchRegionX" xml:space="preserve">
<value>Search region X</value>
</data>
<data name="TemplateMatchingProcessor_SearchRegionY" xml:space="preserve">
<value>Search region Y</value>
</data>
<data name="TemplateMatchingProcessor_SearchRegionWidth" xml:space="preserve">
<value>Search region width</value>
</data>
<data name="TemplateMatchingProcessor_SearchRegionHeight" xml:space="preserve">
<value>Search region height</value>
</data>
<data name="TemplateMatchingProcessor_SearchRegion_Desc" xml:space="preserve">
<value>Rectangular search window in source pixels. Width or height 0 means full image. Written by the template matching tool.</value>
</data>
<data name="DivisionProcessor_Name" xml:space="preserve">
<value>Division Operation</value>
</data>
@@ -1518,6 +1467,90 @@
<data name="PointToLineProcessor_Thickness_Desc" xml:space="preserve">
<value>Thickness of drawing lines</value>
</data>
<!-- RotatedTemplateMatchingProcessor -->
<data name="RotatedTemplateMatchingProcessor_Name" xml:space="preserve">
<value>Rotated multi-target template matching</value>
</data>
<data name="RotatedTemplateMatchingProcessor_Description" xml:space="preserve">
<value>Rotation and multi-target matching via TemplateMatchLib, with pyramid levels and SIMD acceleration.</value>
</data>
<data name="RotatedTemplateMatchingProcessor_TemplatePath" xml:space="preserve">
<value>Template path</value>
</data>
<data name="RotatedTemplateMatchingProcessor_TemplatePath_Desc" xml:space="preserve">
<value>Path to the template image (grayscale or color; color is converted to grayscale).</value>
</data>
<data name="RotatedTemplateMatchingProcessor_MatchThreshold" xml:space="preserve">
<value>Match threshold</value>
</data>
<data name="RotatedTemplateMatchingProcessor_MatchThreshold_Desc" xml:space="preserve">
<value>Score threshold; typical range 0.70.95.</value>
</data>
<data name="RotatedTemplateMatchingProcessor_MaxMatchCount" xml:space="preserve">
<value>Max matches</value>
</data>
<data name="RotatedTemplateMatchingProcessor_MaxMatchCount_Desc" xml:space="preserve">
<value>Maximum number of targets to return.</value>
</data>
<data name="RotatedTemplateMatchingProcessor_ToleranceAngle" xml:space="preserve">
<value>Angle tolerance (°)</value>
</data>
<data name="RotatedTemplateMatchingProcessor_ToleranceAngle_Desc" xml:space="preserve">
<value>Angular search range in degrees; 0 disables rotation search.</value>
</data>
<data name="RotatedTemplateMatchingProcessor_MaxOverlap" xml:space="preserve">
<value>Max overlap</value>
</data>
<data name="RotatedTemplateMatchingProcessor_MaxOverlap_Desc" xml:space="preserve">
<value>Maximum allowed overlap ratio between multiple detections.</value>
</data>
<data name="RotatedTemplateMatchingProcessor_MinReduceArea" xml:space="preserve">
<value>Min reduce area</value>
</data>
<data name="RotatedTemplateMatchingProcessor_MinReduceArea_Desc" xml:space="preserve">
<value>Minimum pyramid level area (controls depth; smaller tends to be faster).</value>
</data>
<data name="RotatedTemplateMatchingProcessor_UseSIMD" xml:space="preserve">
<value>SIMD acceleration</value>
</data>
<data name="RotatedTemplateMatchingProcessor_UseSIMD_Desc" xml:space="preserve">
<value>Use SIMD (e.g. SSE) to accelerate matching.</value>
</data>
<data name="RotatedTemplateMatchingProcessor_UseSubPixel" xml:space="preserve">
<value>Sub-pixel</value>
</data>
<data name="RotatedTemplateMatchingProcessor_UseSubPixel_Desc" xml:space="preserve">
<value>Enable sub-pixel refinement (more accurate, slightly slower).</value>
</data>
<data name="RotatedTemplateMatchingProcessor_DrawResults" xml:space="preserve">
<value>Draw results</value>
</data>
<data name="RotatedTemplateMatchingProcessor_DrawResults_Desc" xml:space="preserve">
<value>Draw match rectangles and center marks on the output image.</value>
</data>
<data name="RotatedTemplateMatchingProcessor_DrawThickness" xml:space="preserve">
<value>Line thickness</value>
</data>
<data name="RotatedTemplateMatchingProcessor_DrawThickness_Desc" xml:space="preserve">
<value>Stroke width for rectangles and crosshairs (pixels).</value>
</data>
<data name="RotatedTemplateMatchingProcessor_Msg_TemplateNotFound" xml:space="preserve">
<value>Template file not found</value>
</data>
<data name="RotatedTemplateMatchingProcessor_Msg_TemplateLearnFailed" xml:space="preserve">
<value>Template learn failed</value>
</data>
<data name="RotatedTemplateMatchingProcessor_Msg_DllNotFound" xml:space="preserve">
<value>TemplateMatchLib.dll not found — build the C++ DLL project first.</value>
</data>
<data name="RotatedTemplateMatchingProcessor_ModelPath" xml:space="preserve">
<value>Model path</value>
</data>
<data name="RotatedTemplateMatchingProcessor_ModelPath_Desc" xml:space="preserve">
<value>Path to a pre-trained model file (.tmmodel). If it exists the model is loaded directly; otherwise the template is learned and the model is saved automatically.</value>
</data>
<data name="AngleMeasurementProcessor_Name" xml:space="preserve">
<value>Angle Measurement</value>
</data>
+83 -51
View File
@@ -489,57 +489,6 @@
<data name="ContourProcessor_Thickness_Desc" xml:space="preserve">
<value>绘制轮廓的线条粗细</value>
</data>
<data name="TemplateMatchingProcessor_Name" xml:space="preserve">
<value>模板匹配</value>
</data>
<data name="TemplateMatchingProcessor_Description" xml:space="preserve">
<value>在整幅灰度图中搜索模板图像的最佳位置,可选绘制匹配框</value>
</data>
<data name="TemplateMatchingProcessor_TemplatePath" xml:space="preserve">
<value>模板文件路径</value>
</data>
<data name="TemplateMatchingProcessor_TemplatePath_Desc" xml:space="preserve">
<value>磁盘上的模板图像路径(支持 bmp/png/jpg 等,彩色将转为灰度)</value>
</data>
<data name="TemplateMatchingProcessor_MatchMethod" xml:space="preserve">
<value>匹配方法</value>
</data>
<data name="TemplateMatchingProcessor_MatchMethod_Desc" xml:space="preserve">
<value>OpenCV 模板匹配类型;CcoeffNormed/CcorrNormed 等越大越好,SqdiffNormed 越小越好(越接近 0 越相似)</value>
</data>
<data name="TemplateMatchingProcessor_MatchThreshold" xml:space="preserve">
<value>匹配阈值</value>
</data>
<data name="TemplateMatchingProcessor_MatchThreshold_Desc" xml:space="preserve">
<value>相关类方法:得分需≥该值判为匹配;Sqdiff/SqdiffNormed:得分需≤该值(建议 Normed 时 0.1~0.3</value>
</data>
<data name="TemplateMatchingProcessor_DrawMatch" xml:space="preserve">
<value>绘制匹配矩形</value>
</data>
<data name="TemplateMatchingProcessor_DrawMatch_Desc" xml:space="preserve">
<value>匹配通过阈值时在输出图上用白框标出模板区域</value>
</data>
<data name="TemplateMatchingProcessor_RectThickness" xml:space="preserve">
<value>矩形线宽</value>
</data>
<data name="TemplateMatchingProcessor_RectThickness_Desc" xml:space="preserve">
<value>匹配框线宽(像素)</value>
</data>
<data name="TemplateMatchingProcessor_SearchRegionX" xml:space="preserve">
<value>Search region X</value>
</data>
<data name="TemplateMatchingProcessor_SearchRegionY" xml:space="preserve">
<value>Search region Y</value>
</data>
<data name="TemplateMatchingProcessor_SearchRegionWidth" xml:space="preserve">
<value>Search region width</value>
</data>
<data name="TemplateMatchingProcessor_SearchRegionHeight" xml:space="preserve">
<value>Search region height</value>
</data>
<data name="TemplateMatchingProcessor_SearchRegion_Desc" xml:space="preserve">
<value>Rectangular search window in source pixels. Width or height 0 means full image. Written by the template matching tool.</value>
</data>
<data name="DivisionProcessor_Name" xml:space="preserve">
<value>除法运算</value>
</data>
@@ -1541,6 +1490,89 @@
<value>绘制线条粗细</value>
</data>
<!-- RotatedTemplateMatchingProcessor -->
<data name="RotatedTemplateMatchingProcessor_Name" xml:space="preserve">
<value>旋转多目标模板匹配</value>
</data>
<data name="RotatedTemplateMatchingProcessor_Description" xml:space="preserve">
<value>基于原生库(TemplateMatchLib)的旋转与多目标模板匹配,支持金字塔与 SIMD 加速。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_TemplatePath" xml:space="preserve">
<value>模板路径</value>
</data>
<data name="RotatedTemplateMatchingProcessor_TemplatePath_Desc" xml:space="preserve">
<value>模板图像文件路径(灰度或彩色,将自动转为灰度)。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_MatchThreshold" xml:space="preserve">
<value>匹配阈值</value>
</data>
<data name="RotatedTemplateMatchingProcessor_MatchThreshold_Desc" xml:space="preserve">
<value>匹配分数阈值,建议 0.70.95。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_MaxMatchCount" xml:space="preserve">
<value>最大匹配数</value>
</data>
<data name="RotatedTemplateMatchingProcessor_MaxMatchCount_Desc" xml:space="preserve">
<value>最多检测的目标数量。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_ToleranceAngle" xml:space="preserve">
<value>角度容差</value>
</data>
<data name="RotatedTemplateMatchingProcessor_ToleranceAngle_Desc" xml:space="preserve">
<value>角度搜索范围(度);0 表示不旋转搜索。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_MaxOverlap" xml:space="preserve">
<value>最大重叠</value>
</data>
<data name="RotatedTemplateMatchingProcessor_MaxOverlap_Desc" xml:space="preserve">
<value>多目标之间允许的最大重叠比例。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_MinReduceArea" xml:space="preserve">
<value>最小缩减面积</value>
</data>
<data name="RotatedTemplateMatchingProcessor_MinReduceArea_Desc" xml:space="preserve">
<value>金字塔最底层最小面积(控制层数;越小层数越多、通常越快)。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_UseSIMD" xml:space="preserve">
<value>SIMD 加速</value>
</data>
<data name="RotatedTemplateMatchingProcessor_UseSIMD_Desc" xml:space="preserve">
<value>是否使用 SIMD(如 SSE)加速匹配计算。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_UseSubPixel" xml:space="preserve">
<value>亚像素精度</value>
</data>
<data name="RotatedTemplateMatchingProcessor_UseSubPixel_Desc" xml:space="preserve">
<value>是否启用亚像素估计(更精确,略慢)。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_DrawResults" xml:space="preserve">
<value>绘制结果</value>
</data>
<data name="RotatedTemplateMatchingProcessor_DrawResults_Desc" xml:space="preserve">
<value>是否在输出图像上绘制匹配框与中心标记。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_DrawThickness" xml:space="preserve">
<value>线条粗细</value>
</data>
<data name="RotatedTemplateMatchingProcessor_DrawThickness_Desc" xml:space="preserve">
<value>绘制矩形与十字的线条粗细(像素)。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_Msg_TemplateNotFound" xml:space="preserve">
<value>未找到模板文件</value>
</data>
<data name="RotatedTemplateMatchingProcessor_Msg_TemplateLearnFailed" xml:space="preserve">
<value>模板学习失败</value>
</data>
<data name="RotatedTemplateMatchingProcessor_Msg_DllNotFound" xml:space="preserve">
<value>未找到 TemplateMatchLib.dll,请先编译 C++ DLL 工程。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_ModelPath" xml:space="preserve">
<value>模型路径</value>
</data>
<data name="RotatedTemplateMatchingProcessor_ModelPath_Desc" xml:space="preserve">
<value>已训练模型文件路径(.tmmodel)。若存在则直接加载跳过学习;若不存在则从模板学习后自动保存。</value>
</data>
<!-- AngleMeasurementProcessor -->
<data name="AngleMeasurementProcessor_Name" xml:space="preserve">
<value>角度测量</value>
+78 -51
View File
@@ -489,57 +489,6 @@
<data name="ContourProcessor_Thickness_Desc" xml:space="preserve">
<value>绘制轮廓的线条粗细</value>
</data>
<data name="TemplateMatchingProcessor_Name" xml:space="preserve">
<value>模板匹配</value>
</data>
<data name="TemplateMatchingProcessor_Description" xml:space="preserve">
<value>在整幅灰度图中搜索模板图像的最佳位置,可选绘制匹配框</value>
</data>
<data name="TemplateMatchingProcessor_TemplatePath" xml:space="preserve">
<value>模板文件路径</value>
</data>
<data name="TemplateMatchingProcessor_TemplatePath_Desc" xml:space="preserve">
<value>磁盘上的模板图像路径(支持 bmp/png/jpg 等,彩色将转为灰度)</value>
</data>
<data name="TemplateMatchingProcessor_MatchMethod" xml:space="preserve">
<value>匹配方法</value>
</data>
<data name="TemplateMatchingProcessor_MatchMethod_Desc" xml:space="preserve">
<value>OpenCV 模板匹配类型;CcoeffNormed/CcorrNormed 等越大越好,SqdiffNormed 越小越好(越接近 0 越相似)</value>
</data>
<data name="TemplateMatchingProcessor_MatchThreshold" xml:space="preserve">
<value>匹配阈值</value>
</data>
<data name="TemplateMatchingProcessor_MatchThreshold_Desc" xml:space="preserve">
<value>相关类方法:得分需≥该值判为匹配;Sqdiff/SqdiffNormed:得分需≤该值(建议 Normed 时 0.1~0.3</value>
</data>
<data name="TemplateMatchingProcessor_DrawMatch" xml:space="preserve">
<value>绘制匹配矩形</value>
</data>
<data name="TemplateMatchingProcessor_DrawMatch_Desc" xml:space="preserve">
<value>匹配通过阈值时在输出图上用白框标出模板区域</value>
</data>
<data name="TemplateMatchingProcessor_RectThickness" xml:space="preserve">
<value>矩形线宽</value>
</data>
<data name="TemplateMatchingProcessor_RectThickness_Desc" xml:space="preserve">
<value>匹配框线宽(像素)</value>
</data>
<data name="TemplateMatchingProcessor_SearchRegionX" xml:space="preserve">
<value>搜索区域 X</value>
</data>
<data name="TemplateMatchingProcessor_SearchRegionY" xml:space="preserve">
<value>搜索区域 Y</value>
</data>
<data name="TemplateMatchingProcessor_SearchRegionWidth" xml:space="preserve">
<value>搜索区域宽度</value>
</data>
<data name="TemplateMatchingProcessor_SearchRegionHeight" xml:space="preserve">
<value>搜索区域高度</value>
</data>
<data name="TemplateMatchingProcessor_SearchRegion_Desc" xml:space="preserve">
<value>在源图上的矩形搜索范围(像素)。宽或高为 0 时表示整幅图。由模板匹配工具写入。</value>
</data>
<data name="DivisionProcessor_Name" xml:space="preserve">
<value>除法运算</value>
</data>
@@ -1518,6 +1467,84 @@
<data name="PointToLineProcessor_Thickness_Desc" xml:space="preserve">
<value>绘制线条粗细</value>
</data>
<!-- RotatedTemplateMatchingProcessor -->
<data name="RotatedTemplateMatchingProcessor_Name" xml:space="preserve">
<value>旋转多目标模板匹配</value>
</data>
<data name="RotatedTemplateMatchingProcessor_Description" xml:space="preserve">
<value>基于原生库(TemplateMatchLib)的旋转与多目标模板匹配,支持金字塔与 SIMD 加速。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_TemplatePath" xml:space="preserve">
<value>模板路径</value>
</data>
<data name="RotatedTemplateMatchingProcessor_TemplatePath_Desc" xml:space="preserve">
<value>模板图像文件路径(灰度或彩色,将自动转为灰度)。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_MatchThreshold" xml:space="preserve">
<value>匹配阈值</value>
</data>
<data name="RotatedTemplateMatchingProcessor_MatchThreshold_Desc" xml:space="preserve">
<value>匹配分数阈值,建议 0.70.95。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_MaxMatchCount" xml:space="preserve">
<value>最大匹配数</value>
</data>
<data name="RotatedTemplateMatchingProcessor_MaxMatchCount_Desc" xml:space="preserve">
<value>最多检测的目标数量。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_ToleranceAngle" xml:space="preserve">
<value>角度容差</value>
</data>
<data name="RotatedTemplateMatchingProcessor_ToleranceAngle_Desc" xml:space="preserve">
<value>角度搜索范围(度);0 表示不旋转搜索。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_MaxOverlap" xml:space="preserve">
<value>最大重叠</value>
</data>
<data name="RotatedTemplateMatchingProcessor_MaxOverlap_Desc" xml:space="preserve">
<value>多目标之间允许的最大重叠比例。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_MinReduceArea" xml:space="preserve">
<value>最小缩减面积</value>
</data>
<data name="RotatedTemplateMatchingProcessor_MinReduceArea_Desc" xml:space="preserve">
<value>金字塔最底层最小面积(控制层数;越小层数越多、通常越快)。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_UseSIMD" xml:space="preserve">
<value>SIMD 加速</value>
</data>
<data name="RotatedTemplateMatchingProcessor_UseSIMD_Desc" xml:space="preserve">
<value>是否使用 SIMD(如 SSE)加速匹配计算。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_UseSubPixel" xml:space="preserve">
<value>亚像素精度</value>
</data>
<data name="RotatedTemplateMatchingProcessor_UseSubPixel_Desc" xml:space="preserve">
<value>是否启用亚像素估计(更精确,略慢)。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_DrawResults" xml:space="preserve">
<value>绘制结果</value>
</data>
<data name="RotatedTemplateMatchingProcessor_DrawResults_Desc" xml:space="preserve">
<value>是否在输出图像上绘制匹配框与中心标记。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_DrawThickness" xml:space="preserve">
<value>线条粗细</value>
</data>
<data name="RotatedTemplateMatchingProcessor_DrawThickness_Desc" xml:space="preserve">
<value>绘制矩形与十字的线条粗细(像素)。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_Msg_TemplateNotFound" xml:space="preserve">
<value>未找到模板文件</value>
</data>
<data name="RotatedTemplateMatchingProcessor_Msg_TemplateLearnFailed" xml:space="preserve">
<value>模板学习失败</value>
</data>
<data name="RotatedTemplateMatchingProcessor_Msg_DllNotFound" xml:space="preserve">
<value>未找到 TemplateMatchLib.dll,请先编译 C++ DLL 工程。</value>
</data>
<data name="AngleMeasurementProcessor_Name" xml:space="preserve">
<value>角度测量</value>
</data>
+78 -51
View File
@@ -489,57 +489,6 @@
<data name="ContourProcessor_Thickness_Desc" xml:space="preserve">
<value>绘制轮廓的线条粗细</value>
</data>
<data name="TemplateMatchingProcessor_Name" xml:space="preserve">
<value>模板匹配</value>
</data>
<data name="TemplateMatchingProcessor_Description" xml:space="preserve">
<value>在整幅灰階圖中搜尋模板影像的最佳位置,可選繪製匹配框</value>
</data>
<data name="TemplateMatchingProcessor_TemplatePath" xml:space="preserve">
<value>模板檔案路徑</value>
</data>
<data name="TemplateMatchingProcessor_TemplatePath_Desc" xml:space="preserve">
<value>磁碟上的模板影像路徑(支援 bmp/png/jpg 等,彩色將轉為灰階)</value>
</data>
<data name="TemplateMatchingProcessor_MatchMethod" xml:space="preserve">
<value>匹配方法</value>
</data>
<data name="TemplateMatchingProcessor_MatchMethod_Desc" xml:space="preserve">
<value>OpenCV 模板匹配類型;CcoeffNormed/CcorrNormed 等越大越好,SqdiffNormed 越小越好(越接近 0 越相似)</value>
</data>
<data name="TemplateMatchingProcessor_MatchThreshold" xml:space="preserve">
<value>匹配閾值</value>
</data>
<data name="TemplateMatchingProcessor_MatchThreshold_Desc" xml:space="preserve">
<value>相關類方法:得分需≥該值判為匹配;Sqdiff/SqdiffNormed:得分需≤該值(建議 Normed 時 0.1~0.3</value>
</data>
<data name="TemplateMatchingProcessor_DrawMatch" xml:space="preserve">
<value>繪製匹配矩形</value>
</data>
<data name="TemplateMatchingProcessor_DrawMatch_Desc" xml:space="preserve">
<value>匹配通過閾值時在輸出圖上以白框標出模板區域</value>
</data>
<data name="TemplateMatchingProcessor_RectThickness" xml:space="preserve">
<value>矩形線寬</value>
</data>
<data name="TemplateMatchingProcessor_RectThickness_Desc" xml:space="preserve">
<value>匹配框線寬(像素)</value>
</data>
<data name="TemplateMatchingProcessor_SearchRegionX" xml:space="preserve">
<value>搜尋區域 X</value>
</data>
<data name="TemplateMatchingProcessor_SearchRegionY" xml:space="preserve">
<value>搜尋區域 Y</value>
</data>
<data name="TemplateMatchingProcessor_SearchRegionWidth" xml:space="preserve">
<value>搜尋區域寬度</value>
</data>
<data name="TemplateMatchingProcessor_SearchRegionHeight" xml:space="preserve">
<value>搜尋區域高度</value>
</data>
<data name="TemplateMatchingProcessor_SearchRegion_Desc" xml:space="preserve">
<value>在源圖上的矩形搜尋範圍(像素)。寬或高為 0 表示整幅圖。由模板匹配工具寫入。</value>
</data>
<data name="DivisionProcessor_Name" xml:space="preserve">
<value>除法运算</value>
</data>
@@ -1518,6 +1467,84 @@
<data name="PointToLineProcessor_Thickness_Desc" xml:space="preserve">
<value>绘制线条粗细</value>
</data>
<!-- RotatedTemplateMatchingProcessor -->
<data name="RotatedTemplateMatchingProcessor_Name" xml:space="preserve">
<value>旋轉多目標模板匹配</value>
</data>
<data name="RotatedTemplateMatchingProcessor_Description" xml:space="preserve">
<value>以原生函式庫(TemplateMatchLib)實作旋轉與多目標模板匹配,支援金字塔與 SIMD 加速。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_TemplatePath" xml:space="preserve">
<value>模板路徑</value>
</data>
<data name="RotatedTemplateMatchingProcessor_TemplatePath_Desc" xml:space="preserve">
<value>模板影像檔路徑(灰階或彩色;彩色將自動轉為灰階)。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_MatchThreshold" xml:space="preserve">
<value>匹配閾值</value>
</data>
<data name="RotatedTemplateMatchingProcessor_MatchThreshold_Desc" xml:space="preserve">
<value>匹配分數閾值,建議 0.70.95。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_MaxMatchCount" xml:space="preserve">
<value>最大匹配數</value>
</data>
<data name="RotatedTemplateMatchingProcessor_MaxMatchCount_Desc" xml:space="preserve">
<value>最多偵測的目標數量。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_ToleranceAngle" xml:space="preserve">
<value>角度容差</value>
</data>
<data name="RotatedTemplateMatchingProcessor_ToleranceAngle_Desc" xml:space="preserve">
<value>角度搜尋範圍(度);0 表示不進行旋轉搜尋。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_MaxOverlap" xml:space="preserve">
<value>最大重疊</value>
</data>
<data name="RotatedTemplateMatchingProcessor_MaxOverlap_Desc" xml:space="preserve">
<value>多目標之間允許的最大重疊比例。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_MinReduceArea" xml:space="preserve">
<value>最小縮減面積</value>
</data>
<data name="RotatedTemplateMatchingProcessor_MinReduceArea_Desc" xml:space="preserve">
<value>金字塔最底層最小面積(控制層數;越小層數越多、通常越快)。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_UseSIMD" xml:space="preserve">
<value>SIMD 加速</value>
</data>
<data name="RotatedTemplateMatchingProcessor_UseSIMD_Desc" xml:space="preserve">
<value>是否使用 SIMD(如 SSE)加速匹配計算。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_UseSubPixel" xml:space="preserve">
<value>亞像素精度</value>
</data>
<data name="RotatedTemplateMatchingProcessor_UseSubPixel_Desc" xml:space="preserve">
<value>是否啟用亞像素估計(較精確,略慢)。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_DrawResults" xml:space="preserve">
<value>繪製結果</value>
</data>
<data name="RotatedTemplateMatchingProcessor_DrawResults_Desc" xml:space="preserve">
<value>是否在輸出影像上繪製匹配框與中心標記。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_DrawThickness" xml:space="preserve">
<value>線條粗細</value>
</data>
<data name="RotatedTemplateMatchingProcessor_DrawThickness_Desc" xml:space="preserve">
<value>繪製矩形與十字的線條粗細(像素)。</value>
</data>
<data name="RotatedTemplateMatchingProcessor_Msg_TemplateNotFound" xml:space="preserve">
<value>找不到模板檔案</value>
</data>
<data name="RotatedTemplateMatchingProcessor_Msg_TemplateLearnFailed" xml:space="preserve">
<value>模板學習失敗</value>
</data>
<data name="RotatedTemplateMatchingProcessor_Msg_DllNotFound" xml:space="preserve">
<value>找不到 TemplateMatchLib.dll,請先編譯 C++ DLL 專案。</value>
</data>
<data name="AngleMeasurementProcessor_Name" xml:space="preserve">
<value>角度测量</value>
</data>