How to perform Hot Spot Detection ?

7 views (last 30 days)
HI,
what is the equivalent code to be used in App Designer, for the below .m file ?
Thanks
%% Calculate Object Properties Using Pixel Values of Grayscale Image
ti = imread('ti2.jpg');
sc = regionprops('ti2erode.png','ti2rgb.png',{'Centroid','WeightedCentroid'});
figure()
subplot(1,3,1)
imshow(ti)
title('Weighted (red) and Unweighted (blue) Centroids');
hold on
numObj = numel(sc);
for k = 1 : numObj
plot(sc(k).WeightedCentroid(1), sc(k).WeightedCentroid(2), 'r*')
plot(sc(k).Centroid(1), sc(k).Centroid(2), 'bo')
end
hold off

Accepted Answer

Mario Malic
Mario Malic on 30 Jan 2021
There's no equivalent code in AppDesigner, if you just open it and do few examples there, you'll figure out what to do. I made some changes to your code, as this is most likely how it'll look like in App Designer, excluding these first two lines.
uiFig = uifigure;
uiAxes = uiaxes('Parent', uiFig)
%% Calculate Object Properties Using Pixel Values of Grayscale Image
ti = imread('ti2.jpg');
sc = regionprops('ti2erode.png','ti2rgb.png',{'Centroid','WeightedCentroid'});
imshow(ti, 'Parent', uiAxes)
title(uiAxes, 'Weighted (red) and Unweighted (blue) Centroids');
hold(uiAxes, 'on')
numObj = numel(sc);
for k = 1 : numObj
plot(uiAxes, sc(k).WeightedCentroid(1), sc(k).WeightedCentroid(2), 'r*')
plot(uiAxes, sc(k).Centroid(1), sc(k).Centroid(2), 'bo')
end
hold off
  1 Comment
Syed Muhammad Ali Minhal
Syed Muhammad Ali Minhal on 30 Jan 2021
Thankyou @Mario Malic, you were right. By the end of the day I was able to figure out what was missing.
Also I was trying to plot in the UIImage instead of the UIAxes
thanks again
Ihsd = imshow(app.ti, 'Parent', app.UIAxes_4, ...
'XData', [1 app.UIAxes_4.Position(3)], ...
'YData', [1 app.UIAxes_4.Position(4)]);
hold(app.UIAxes_4, 'on')
app.alpha = imread("ti2erode.png"); %binary imaage
app.bravo = imread("ti2rgb.png"); % gray scale image
app.sc = regionprops(app.alpha,app.bravo,{'Centroid','WeightedCentroid'});
app.numObj = numel(app.sc);
for k = 1 : app.numObj
plot(app.UIAxes_4, app.sc(k).WeightedCentroid(1), app.sc(k).WeightedCentroid(2), 'r*');
plot(app.UIAxes_4, app.sc(k).Centroid(1), app.sc(k).Centroid(2), 'bo');
end

Sign in to comment.

More Answers (0)

Categories

Find more on Interactive Control and Callbacks in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!