У меня есть приложение, которое обнаруживает маркер aruco (оригинальный словарь) в ios, используя оболочку open cv.У меня проблема, когда я пытаюсь обнаружить маркеры в внешних условиях, такие как тень на аруко или слепая от солнца.
-(void) detect:(UIImage *)image {
cv::Mat colorImage, grayImage;
UIImageToMat(image, colorImage);
cvtColor(colorImage, grayImage, cv::COLOR_BGR2GRAY);
if (!self.setupDone) {
self.camParams->CamSize = colorImage.size();
self.setupDone = true;
}
NSMutableArray *result = [NSMutableArray new];
auto mapOfTrackers = *self.mapOfTrackers;
std::vector<aruco::Marker> markers = self.detector->detect(grayImage, *self.camParams, self.markerSize);
for (auto& m : markers) {
mapOfTrackers[m.id].estimatePose(m, *self.camParams, self.markerSize);
ArucoMarker *markerObj = [[ArucoMarker alloc] initWithCMarker:m];
if (markerObj != nil) [result addObject:markerObj];
}
[self.delegate arucoTracker:self didDetectMarkers:result];
Я уже пытался изменить настройки порога, но без недостатка