Tuesday, June 6, 2017

cv::MatchShapes behaves differently for iOS deployment target - 8.0 vs 9.0 or 10.0

Leave a Comment

I'm having a very interesting issue with OpenCV and different deployment targets, and I'm running out of ideas of what to try.

Setup

  • iPhone 6S
  • iOS Version 10.1.1
  • OpenCV framework 3.1.0.1
  • XCode 8.1

Problem

When I compile my code with my Deployment Target(in Xcode) set to 8.0, my code works perfectly.

However, when I compile my code with Deployment Target set to 9.0 or 10.0, my code runs but the values I receive from matchShapes is completely different.

Everything seems to be running fine - I do some filtering before matchShapes, and the output from all the filters are perfect. It seems like it's just specifically matchShapes that's the issue.

There are no additional warnings at buildtime when I switch deployment targets.

Attempted Solutions

  1. I updated everything and made sure it's at the latest version
  2. I tried downloading openCV.framework and using the OpenCV pod

Code

This is the line of code of interest:

double matchPercentage = cv::matchShapes(targetShape.contour, contours[i], CV_CONTOURS_MATCH_I3, 0); 

Question For You

Any suggestions or ideas for what might cause this? Happy to run any sort of additional diagnostics or testing and report back.

Thanks for your time

0 Answers

If You Enjoyed This, Take 5 Seconds To Share It

0 comments:

Post a Comment