Clear Filters
Clear Filters

Overlap a webcam image and a heatmap.

31 views (last 30 days)
Ron
Ron on 25 May 2024 at 9:28
Commented: DGM on 30 May 2024 at 1:09
I have a webcam image "ref2" and I want to overlap the heatmap "pp" over it. In the program I have a video preview coming from a webcam and I have to put a heatmap over it. Can anyone please help me with this?

Answers (1)

Matlab Pro
Matlab Pro on 27 May 2024 at 12:36
  4 Comments
Ron
Ron on 29 May 2024 at 10:30
Edited: Ron on 29 May 2024 at 10:32
Sorry but I cannot understand what you are trying to infer here. To get this figure this is the code that I am using.
n=1;
vid = videoinput('winvideo');
app.vid_handle=vid;
vidInfo = imaqhwinfo(vid);
vidRes = vid.VideoResolution;
imWidth = round(vidRes(1)/n);
imHeight = round(vidRes(2)/n);
numBands = vid.NumberOfBands;
preview(vid, hImage); hold on
pp3=pcolor(app.UIAxes4_2,xx,yy,10*log10(P3));hold on
pp3.EdgeColor="none";
set(app.UIAxes4_2,'Xdir','reverse')
pp3.EdgeColor='none';
pp3.FaceColor="interp";
pp3.FaceAlpha=.3;
colormap(app.UIAxes4_2,"jet")
colorbar(app.UIAxes4_2,"eastoutside")
axis equal
colorbar(app.UIAxes4_2);
here P3 is the NxN matrix for the heatmap. I do not want to change the resolution of the video image. I want my heatmap to overlap with the axes of image perfectly. Maybe my code is not using the best possible way of doing this so can you please suggest a better way of doing this?? Thankyou
DGM
DGM on 30 May 2024 at 1:09
I'm not sure what your axes setup is. It looks like you're using two overlaid axes, though I'm not sure if those are axes objects or uiaxes objects. I'm guessing uiaxes, since it's an appdesigner thing?
I'm not sure how the preview() tool occupies the parent axes, and whether it's truly necessary to use overlaid axes. I don't have imaq toolbox.
Either way, assuming that it's necessary to overlay axes, it would be necessary to look at the xlim, ylim of the two axes and figure out how to get them to correspond. If your two axes have the same position, and the xlim,ylim of the pcolor() axes are such that they contain the extents of the given xx,yy, then the pcolor() plot should lie atop the preview() image.
I didn't expect you to be using pcolor(). If that's working for you, that's fine. The way pcolor() is used, you're already giving it xdata and ydata in the function call, so it's all explicit. I thought you were doing this in one axes with overlaid objects.

Sign in to comment.

Products


Release

R2023a

Community Treasure Hunt

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

Start Hunting!