Overlap a webcam image and a heatmap.

2 次查看(过去 30 天)
Ron
Ron 2024-5-25
评论: DGM 2024-5-30
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?

回答(1 个)

Matlab Pro
Matlab Pro 2024-5-27
  4 个评论
Ron
Ron 2024-5-29
编辑:Ron 2024-5-29
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 2024-5-30
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.

请先登录,再进行评论。

产品


版本

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by