84 processor->initRecognizer();
87 processor->initObjectClasses();
90 memoryx::ObjectLocalizationResultList localResult;
92 while (!abortRequested)
97 while (!jobPending && !abortRequested)
106 ARMARX_INFO <<
"ObjectLocalizerProcessorJob::process(): exit requested";
113 ARMARX_DEBUG <<
"ObjectLocalizerProcessorJob::process(): starting localization";
114 int numImages = processor->getImages(
115 processor->imageProviderName, processor->cameraImages, processor->imageMetaInfo);
119 if (processor->getResultImagesEnabled())
121 if (processor->isResultImageMaskEnabled())
123 Eigen::Vector3i colorMask = processor->getColorMask();
124 for (
int n = 0; n < numImages; n++)
126 for (
int j = 0; j < processor->resultImages[n]->height; j++)
128 for (
int i = 0; i < processor->resultImages[n]->width; i++)
130 processor->resultImages[n]
131 ->pixels[3 * (j * processor->resultImages[n]->width + i) +
133 processor->resultImages[n]
134 ->pixels[3 * (j * processor->resultImages[n]->width + i) +
136 processor->resultImages[n]
137 ->pixels[3 * (j * processor->resultImages[n]->width + i) +
145 ::ImageProcessor::CopyImage(processor->cameraImages[0],
146 processor->resultImages[0]);
149 ::ImageProcessor::CopyImage(processor->cameraImages[1],
150 processor->resultImages[1]);
155 localResult = processor->localizeObjectClasses(objectClassNames,
156 processor->cameraImages,
157 processor->imageMetaInfo,
158 processor->resultImages);
161 if (processor->getResultImagesEnabled())
163 processor->provideResultImages(processor->resultImages,
164 processor->imageMetaInfo);
173 catch (std::exception& e)
175 ARMARX_ERROR <<
"Localization failed: " << processor->getName();
180 std::unique_lock lock(jobMutex);
181 result = localResult;