add_samples_image_class_gmmT_add_samples_image_class_gmmAddSamplesImageClassGmmAddSamplesImageClassGmmadd_samples_image_class_gmm添加样本图像类高斯混合模型(算子)

名称

add_samples_image_class_gmmT_add_samples_image_class_gmmAddSamplesImageClassGmmAddSamplesImageClassGmmadd_samples_image_class_gmm — 将图像中的训练样本添加到高斯混合模型的训练数据中。

签名

add_samples_image_class_gmm(Image, ClassRegions : : GMMHandle, Randomize : )

Herror T_add_samples_image_class_gmm(const Hobject Image, const Hobject ClassRegions, const Htuple GMMHandle, const Htuple Randomize)

void AddSamplesImageClassGmm(const HObject& Image, const HObject& ClassRegions, const HTuple& GMMHandle, const HTuple& Randomize)

void HImage::AddSamplesImageClassGmm(const HRegion& ClassRegions, const HClassGmm& GMMHandle, double Randomize) const

void HClassGmm::AddSamplesImageClassGmm(const HImage& Image, const HRegion& ClassRegions, double Randomize) const

static void HOperatorSet.AddSamplesImageClassGmm(HObject image, HObject classRegions, HTuple GMMHandle, HTuple randomize)

void HImage.AddSamplesImageClassGmm(HRegion classRegions, HClassGmm GMMHandle, double randomize)

void HClassGmm.AddSamplesImageClassGmm(HImage image, HRegion classRegions, double randomize)

def add_samples_image_class_gmm(image: HObject, class_regions: HObject, gmmhandle: HHandle, randomize: float) -> None

描述

add_samples_image_class_gmmadd_samples_image_class_gmmAddSamplesImageClassGmmAddSamplesImageClassGmmAddSamplesImageClassGmmadd_samples_image_class_gmm 将来自 ImageImageImageImageimageimage 的训练样本添加到由 GMMHandleGMMHandleGMMHandleGMMHandleGMMHandlegmmhandle 指定的高斯混合模型(GMM)中。add_samples_image_class_gmmadd_samples_image_class_gmmAddSamplesImageClassGmmAddSamplesImageClassGmmAddSamplesImageClassGmmadd_samples_image_class_gmm 用于存储分类器训练前的训练样本,这些样本将用于通过 classify_image_class_gmmclassify_image_class_gmmClassifyImageClassGmmClassifyImageClassGmmClassifyImageClassGmmclassify_image_class_gmm 训练的多通道图像像素分类。add_samples_image_class_gmmadd_samples_image_class_gmmAddSamplesImageClassGmmAddSamplesImageClassGmmAddSamplesImageClassGmmadd_samples_image_class_gmm 的工作原理与 add_sample_class_gmmadd_sample_class_gmmAddSampleClassGmmAddSampleClassGmmAddSampleClassGmmadd_sample_class_gmm 类似。图像 ImageImageImageImageimageimage 必须拥有与 create_class_gmmcreate_class_gmmCreateClassGmmCreateClassGmmCreateClassGmmcreate_class_gmm 中指定的 NumDimNumDimNumDimNumDimnumDimnum_dim 相等的通道数。NumClassesNumClassesNumClassesNumClassesnumClassesnum_classes 个像素类的训练区域通过 ClassRegionsClassRegionsClassRegionsClassRegionsclassRegionsclass_regions 传递。因此,ClassRegionsClassRegionsClassRegionsClassRegionsclassRegionsclass_regions 必须是一个包含 NumClassesNumClassesNumClassesNumClassesnumClassesnum_classes 个区域的元组。ClassRegionsClassRegionsClassRegionsClassRegionsclassRegionsclass_regions 中区域的顺序决定了像素的类。如果图像 ImageImageImageImageimageimage 中某类的样本为空,则必须在 ClassRegionsClassRegionsClassRegionsClassRegionsclassRegionsclass_regions 中该类的位置传递一个空区域。通过此机制,可多次调用 add_samples_image_class_gmmadd_samples_image_class_gmmAddSamplesImageClassGmmAddSamplesImageClassGmmAddSamplesImageClassGmmadd_samples_image_class_gmm,分别传入不同图像及适宜选取的区域,从而为高斯混合模型(GMM)添加所有相关类的训练样本。ClassRegionsClassRegionsClassRegionsClassRegionsclassRegionsclass_regions 中的区域应包含各自类具有代表性的训练样本。因此,它们不必覆盖整个图像。ClassRegionsClassRegionsClassRegionsClassRegionsclassRegionsclass_regions 中的区域不应相互重叠,因为这将导致训练数据中来自重叠区域的样本被分配到多个类,从而可能降低分类性能。整数类型的图像数据尤其不适合用 GMM 进行建模。如 add_sample_class_gmmadd_sample_class_gmmAddSampleClassGmmAddSampleClassGmmAddSampleClassGmmadd_sample_class_gmm 所述,可通过 RandomizeRandomizeRandomizeRandomizerandomizerandomize 解决此问题。

执行信息

此算子修改后续输入参数的状态:

在执行此算子时,若该参数值需在多个线程间使用,则必须对其访问进行同步。

参数

ImageImageImageImageimageimage (输入对象)  (multichannel-)image objectHImageHObjectHImageHobject (byte / cyclic / direction / int1 / int2 / uint2 / int4 / real)

训练图像。

ClassRegionsClassRegionsClassRegionsClassRegionsclassRegionsclass_regions (输入对象)  region-array objectHRegionHObjectHRegionHobject

待训练的类区域。

GMMHandleGMMHandleGMMHandleGMMHandleGMMHandlegmmhandle (输入控制,状态被修改)  class_gmm HClassGmm, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

GMM 句柄。

RandomizeRandomizeRandomizeRandomizerandomizerandomize (输入控制)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

添加至训练数据的高斯噪声标准差。

默认值: 0.0

建议值: 0.0, 1.5, 2.0

限制: Randomize >= 0.0

结果

如果参数有效,算子 add_samples_image_class_gmmadd_samples_image_class_gmmAddSamplesImageClassGmmAddSamplesImageClassGmmAddSamplesImageClassGmmadd_samples_image_class_gmm 返回值 2 ( H_MSG_TRUE )。如有必要,则抛出异常。

可能的前趋

create_class_gmmcreate_class_gmmCreateClassGmmCreateClassGmmCreateClassGmmcreate_class_gmm

可能的后继

train_class_gmmtrain_class_gmmTrainClassGmmTrainClassGmmTrainClassGmmtrain_class_gmm, write_samples_class_gmmwrite_samples_class_gmmWriteSamplesClassGmmWriteSamplesClassGmmWriteSamplesClassGmmwrite_samples_class_gmm

替代

read_samples_class_gmmread_samples_class_gmmReadSamplesClassGmmReadSamplesClassGmmReadSamplesClassGmmread_samples_class_gmm

另见

classify_image_class_gmmclassify_image_class_gmmClassifyImageClassGmmClassifyImageClassGmmClassifyImageClassGmmclassify_image_class_gmm, add_sample_class_gmmadd_sample_class_gmmAddSampleClassGmmAddSampleClassGmmAddSampleClassGmmadd_sample_class_gmm, clear_samples_class_gmmclear_samples_class_gmmClearSamplesClassGmmClearSamplesClassGmmClearSamplesClassGmmclear_samples_class_gmm, get_sample_num_class_gmmget_sample_num_class_gmmGetSampleNumClassGmmGetSampleNumClassGmmGetSampleNumClassGmmget_sample_num_class_gmm, get_sample_class_gmmget_sample_class_gmmGetSampleClassGmmGetSampleClassGmmGetSampleClassGmmget_sample_class_gmm

模块

基础