【MATLAB】没有摄像头怎么做实时图像处理
没有外置摄像头,笔记本自带摄像头又坏掉了,要怎么做实时图像处理?
答案就是——视频电话+实时截屏!
今天就将方法分享费大家
by 今天不飞了
视频教学地址
《玩儿起来吧》MATLAB实时图像处理(一)如何获取实时图像
利用视频电话实时处理图像
用QQ或微信进行视频电话,将视频窗口放到固定位置。然后利用实时截屏,即可将视频画面传入MATLAB进行后续处理。
%% 配置java
pos = [20 40 500 400]; % [左 上 宽 高]
row = pos(4);
col = pos(3);
robot = java.awt.Robot();
rect = java.awt.Rectangle(pos(1),pos(2),pos(3),pos(4));
%% 实时显示(处理)
figure('Position',[800,400,1000,500])
while 1
tic
% 获取影像
cap = robot.createScreenCapture(rect);
% 转换格式
rgb = typecast(cap.getRGB(0,0,col,row,[],0,cap.getWidth),'uint8');
rgb = reshape(rgb,[4,row*col])';
frame = permute(reshape(rgb(:,3:-1:1),[col,row,3]),[2,1,3]);
% 一顿疯狂处理
img = rgb2gray(frame);
% 显示
subplot(121),imshow(frame)
subplot(122),imshow(img)
drawnow
t = toc;
disp(round(1/t))
end