Как устранить слепых от обнаружения маркера Aruco - PullRequest
0 голосов
/ 04 июля 2019

У меня есть приложение, которое обнаруживает маркер 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];

Я уже пытался изменить настройки порога, но без недостатка

...