我有一个使用开放式简历包装器在ios中检测aruco标记(原始词典)的应用。 当我尝试在外部条件下检测标记时,例如在aruco上的阴影或被阳光遮挡时,我遇到问题。
-(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];
我已经尝试更改阈值设置,但并不缺少