Using python function in matlab

3 views (last 30 days)
Finley Li
Finley Li on 22 Nov 2020
Edited: Finley Li on 4 Dec 2020
I'm trying to call the following opencv function on matlab
so I did the following:
img, background = py.cv2_rolling_ball.subtract_background_rolling_ball(hardsperm, 30,pyargs('light_background','True'), pyargs('use_paraboloid', 'False'),pyargs('do_presmooth','True');
but apparently there's some syntatic errors in my code and matlab wouldn't recognize the function call. Could someone point me in the right direction on what I should change to make it work?

Answers (1)

Rohit Pappu
Rohit Pappu on 25 Nov 2020
The closing ) is missing in the above code. The correct code would be
img, background = py.cv2_rolling_ball.subtract_background_rolling_ball(hardsperm, 30,pyargs('light_background','True'), pyargs('use_paraboloid', 'False'),pyargs('do_presmooth','True'));
  1 Comment
Finley Li
Finley Li on 4 Dec 2020
So I spotted some error in my code and change it accordingly. My code now reads:
[img,background] = py.cv2_rolling_ball.subtract_background_rolling_ball(img, 30,pyargs('light_background','True'), pyargs('use_paraboloid', 'False'),pyargs('do_presmooth','True'));
But now the program is giving me a different error:
No method 'py.cv2_rolling_ball.subtract_background_rolling_ball' with matching signature found.
I'm pretty sure the method exists in the python opencv library (check out the link in the main discussion). I ran it using python and it works well on the image. So I'm not sure if I called it wrong in matlab or anything. Could someone help? Thanks!

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by