gpt4 book ai didi

matlab - 在 matlab 中更改电影尺寸

转载 作者:太空宇宙 更新时间:2023-11-03 20:05:12 25 4
gpt4 key购买 nike

我正在尝试在执行 2x binning 后使用“电影”功能显示来自外部摄像头的实时视频。我的原始视频大小是 768x576。但是,当我合并像素时,我得到了一个 384x288 的图像,当它显示时,它看起来只有原始视频的一半大小。有什么办法可以增加电影的显示尺寸,使其看起来与原始尺寸相同?换句话说,我的像素看起来会是原来的两倍。

我试过使用 set(gca,'Position'...) 但它不会改变我的电影的大小。

有什么建议吗?

最佳答案

我将使用在 the documentation 上找到的示例电影.

假设你有一堆框架:

figure('Renderer','zbuffer')
Z = peaks;
surf(Z);
axis tight
set(gca,'NextPlot','replaceChildren');
% Preallocate the struct array for the struct returned by getframe
F(20) = struct('cdata',[],'colormap',[]);
% Record the movie
for j = 1:20
surf(.01+sin(2*pi*j/20)*Z,Z)
F(j) = getframe;
end

help movie 的末尾,它说:

MOVIE(H,M,N,FPS,LOC) specifies the location to play the movie at, relative to the lower-left corner of object H and in pixels, regardless of the value of the object's Units property. LOC = [X Y unused unused]. LOC is a 4-element position vector, of which only the X and Y coordinates are used (the movie plays back using the width and height in which it was recorded).

因此,无法以比录制时更大的尺寸显示电影。您必须放大像素才能以更大的尺寸显示:

% blow up the pixels
newCdata = cellfun(@(x) x(...
repmat(1:size(x,1),N,1), ... % like kron, but then
repmat(1:size(x,2), N,1), :), ... % a bit faster, and suited
{F.cdata}, 'UniformOutput', false); % for 3D arrays

% assign all new data back to the movie
[F.cdata] = newCdata{:};

% and play the resized movie
movie(F,10)

请注意,这不会赢得任何可读性奖励,因此如果您要使用它,请附上一条描述其功能的评论。

关于matlab - 在 matlab 中更改电影尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13121889/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com