【发布时间】:2017-11-10 01:30:15
【问题描述】:
// init bounding
CGRect rect = CGRectMake(0, 0, 0.3, 0.3);
VNSequenceRequestHandler* reqImages = [[VNSequenceRequestHandler alloc] init];
VNRectangleObservation* ObserveRect = [VNRectangleObservation observationWithBoundingBox:rect];
VNTrackRectangleRequest* reqRect = [[VNTrackRectangleRequest alloc] initWithRectangleObservation:ObserveRect];
NSArray<VNRequest *>* requests = [NSArray arrayWithObjects:reqRect, nil];
BOOL bsucc = [reqImages performRequests:requests onCGImage:img.CGImage error:&error];
// get tracking bounding
VNDetectRectanglesRequest* reqRectTrack = [VNDetectRectanglesRequest new];
NSArray<VNRequest *>* requestsTrack = [NSArray arrayWithObjects:reqRectTrack, nil];
[reqImages performRequests:requestsTrack onCGImage:img.CGImage error:&error];
VNRectangleObservation* Observe = [reqRectTrack.results firstObject];
CGRect boundingBox = Observe.boundingBox;
为什么boundingBox的值不正确?
如何找到ios11的vision.framework的demo?
【问题讨论】:
-
我遇到了和你一样的问题,我找到了 Vision Keynote 中使用的示例,他们确实调整了
boundingBox值的大小。但不是在我这边工作。这是示例:developer.apple.com/sample-code/wwdc/2017/… 如果您找到解决方案,请告诉我 -
我在 Keynote 中也找到了演示, ' // 创建请求处理程序 let requestHandler = VNSequenceRequestHandler() // 从观察开始跟踪 let观察 = detectionRequest.results as! [VNDetectedObjectObservation] let objectsToTrack =observations.map { VNTrackObjectRequest(detectedObjectObservation: $0) } // 运行请求 requestHandler.perform(objectsToTrack, on: pixelBuffer) // 让我们在 objectsToTrack 中查看 request 的结果,以便在 request.results 中观察! [VNDetectedObjectObservation] ' 但它不起作用。
-
@Alberl 你有什么从静态图像中检测物体的解决方案吗,我在将点从一个坐标系转换到另一个坐标系时遇到问题。
标签: objective-c ios11 coreml apple-vision