(一)Wrong number of values of control parameter 2(HALCON错误代码:1402)
这种错误发生算子add_sample_class_mlp中。
其原因是你现在的图片计算出来的FeatureVector和之前添加的FeatureVector大小不一致。
这是因为训练图片的尺寸大小不致造成的。
如下图所示,哪怕是你的图像大小差一行像素,也会造成FeatureVector的大小不同。
当然,这也要看你的FeatureVector的算法产生的数据是什么样了。也许有些算法对图像大小不敏感。
这里勇哥还发现一个现象:
用halcon跑切割代码,图像大小都是162*95,但是用halcon引擎跑同样的hdvp代码,有些图片会是163*95。
这真是个奇怪的现象。
这个问题发现重启halcon, 重启C#,再跑起来就可以了。
勇哥是知道当halcon代码改变后,如果C#这边用halcon引擎来跑,则你需要重启C#。
但是在这一次却是两边都要重启才可以。
这一点各位务必注意!!
(二)MLP相关的算子总结
1.3 Neural-Nets
add_sample_class_mlp
功能:把一个训练样本添加到一个多层感知器的训练数据中。
classify_class_mlp
功能:通过一个多层感知器计算一个特征向量的类。
clear_all_class_mlp
功能:清除所有多层感知器。
clear_class_mlp
功能:清除一个多层感知器。
clear_samples_class_mlp
功能:清除一个多层感知器的训练数据。
create_class_mlp
功能:为分类或者回归创建一个多层感知器。
evaluate_class_mlp
功能:通过一个多层感知器计算一个特征向量的评估。
get_params_class_mlp
功能:返回一个多层感知器的参数。
get_prep_info_class_mlp
功能:计算一个多层感知器的预处理特征向量的信息内容。
get_sample_class_mlp
功能:从一个多层感知器的训练数据返回一个训练样本。
get_sample_num_class_mlp
功能:返回存储在一个多层感知器的训练数据中的训练样本的数量。
read_class_mlp
功能:从一个文件中读取一个多层感知器。
read_samples_class_mlp
功能:从一个文件中读取一个多层感知器的训练数据。
train_class_mlp、
功能:训练一个多层感知器。
write_class_mlp
功能:向一个文件中写入一个多层感知器。
write_samples_class_mlp
功能:向一个文件中写入一个多层感知器的训练数据。
(三)算子详解
见贴子: http://47.98.154.65/?id=1487
(四)分类器常用特征
area_center_gray(Regions, Image: Area, Row, Column)计算一个灰度值图像的区域面积和重心。
cooc_feature_image计算共生矩阵并导出其灰度值特征。
cooc_feature_matrix从一个共生矩阵计算灰度值特征。
elliptic_axis_gray(Regions, Image,Ra, Rb, Phi)在一个灰度值图像中计算一个区域的方位和主轴。
entropy_gray(Regions, Image,Entropy, Anisotropy)确定一个图像的熵和各向异性。
fit_surface_first_order通过一个一阶表面(平面)计算灰度值力矩和近似值。
fuzzy_entropy确定区域的模糊熵。
fuzzy_perimeter计算一个区域的模糊周长。
gen_cooc_matrix (Regions, Image : Matrix : LdGray, Direction : ) 计算图像中区域的共生矩阵。
gray_histo计算灰度值分布。
gray_histo_abs(Regions, Image : Quantization:AbsoluteHisto)计算灰度值分布。
gray_projections计算水平和垂直灰度值投影。
histo_2dim计算两通道灰度值图像的直方图。
intensity(Image, Image, Mean, Deviation)计算灰度值的平均值和偏差。
min_max_gray计算区域内的最大和最小灰度值。
moments_gray_plane用平面计算灰度值矩和近似值。
plane_deviation计算灰度值与近似图像平面的偏差。
select_gray选择基于灰度值特征的区域。
shape_histo_all用极限值确定特征的一个直方图。
shape_histo_point(Region, Image: Feature, Row, Column : AbsoluteHisto, RelativeHisto)用极限值确定特征的一个直方图。
connect_and_holes(Regions : NumConnected, NumHoles)连接组件和孔的数量。
gray_features()计算一组区域的灰度值特征。

