Plot on top of a Live Image Preview

20 次查看(过去 30 天)
I am trying to plot a few points on top of a live image preview, but my code returns an error of "Line cannot be a child of Image." Does anyone know of a way to plot on top of a Live Image, similar to the imageMarker function?
vidRes1 = handles.vid1.VideoResolution;
imWidth1 = vidRes1(1);
imHeight1 = vidRes1(2);
nBands1 = handles.vid1.NumberOfBands;
hImage = image(zeros(imHeight1, imWidth1, nBands1), 'Parent', handles.axes1);
preview(handles.vid1, hImage);
plot(hImage, 250, 300, 'bo');


Andrei Ursache
Andrei Ursache 2019-2-1
This approach might work for you:
vid = videoinput('winvideo', 1);
vidInfo = imaqhwinfo(vid);
vidRes = vid.VideoResolution;
imWidth = vidRes(1);
imHeight = vidRes(2);
numBands = vid.NumberOfBands;
hFig = figure;
hAxes = axes(hFig);
hImage = image(hAxes, zeros(imHeight, imWidth, numBands, vidInfo.NativeDataType));
preview(vid, hImage);
hLine = line(hAxes, round([0.25*imWidth, 0.75*imWidth]),...
round([0.5*imHeight, 0.5*imHeight]),...
'Marker', 'o',...
'LineStyle', 'none');

更多回答(0 个)


Find more on Image Preview and Device Configuration 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!

Translated by