Hi everyone,
I'm trying to show the processed image after viscircles function. I would like to select the images by app designer and do background subtraction, then detect the circles by using viscircles function. The results after circle detection is required to show at the app designer.
However, what I got is the image after background subtraction. The viscircle does not appear. Is there any solution to fix this problem?
The following image is the result I obtained from script.
But what I require at left is like this:
Thank you very much for the help.

 Akzeptierte Antwort

Sean de Wolski
Sean de Wolski am 27 Apr. 2022

1 Stimme

Specify the app UIAxes as the first input
a = uiaxes; % replace with you app.UIAxes
imshow('coins.png',Parent=a)
[centers,radii] = imfindcircles(imread('coins.png'),[20 100]);
viscircles(a,centers, radii)

3 Kommentare

Hi, I am using this solution in app designer and it works well, but viscircle opens a new figure anyway, while plotting the circle in the correct axes. I tried to solve this using close, but it's not the perfect solution because I can see the new figure popping up for a moment, before closing it.
Can you please help me?
Rakshit Kothari
Rakshit Kothari am 25 Jul. 2023
Hi @Vincenzo Giacalone, how did you resolve this issue? I am facing a similar issue. I can confirm that `viscircle` opens a new figure despite being provided an axis to plot on. It doesn't help if I add a wait n seconds or explicitly setting hold -> on.
Vincenzo
Vincenzo am 27 Jul. 2023
A guy changed the original viscircle function and now it works well

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Develop Apps Using App Designer finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by