Clear Filters
Clear Filters

Why do I get different results from MATLAB vs a MATLAB script node in LabVIEW?

6 views (last 30 days)
Hello,
I am using a modified version of the MATLAB example Find Image Rotation and Scale:
to find the rotation and scale differences between two nearly identical images. I am getting entirely different results running the script in MATLAB versus the MATLAB script node in LabVIEW (see attached image). I am using LabVIEW 2017 64 bit, and MATLAB R2017a. The script requires the MATLAB Computer Vision System Toolbox.
It looks like the script and the script node are functioning the same until estimateGeometricTransform in line 51 of the code (see the MATLAB vs LabVIEW Feature Matching Lines Comparison.jpg image).
The only changes I have made to the attached Snippet and MATLAB .m file is to make the imread path in lines 10 and 11 of the code non-specific to my computer.
Thanks!
  5 Comments
Ben Thiesing
Ben Thiesing on 11 Oct 2018
Edited: Ben Thiesing on 11 Oct 2018
Yup, that was it. LabVIEW uses doubles and the scale_recovered and theta_recovered show as "1x1 singles" in the Workspace. I added the following code to the end of the program and it fixed the problem:
scale_recovered = double(scale_recovered);
theta_recovered = double(theta_recovered);
Thanks for the help!
P.S. I don't see a way to accept your answer, but I certainly do.
dpb
dpb on 11 Oct 2018
Well, it was a conjecture, but the really funky exponent when the graphs looked like the routine worked almost had to be something of the sort...the pay's the same whether is an Answer and accepted or not; the feedback that it helped is the reward!

Sign in to comment.

Answers (0)

Products


Release

R2017a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!