通过Matlab实现对电脑桌面特定区域的截图以及录屏 |
您所在的位置:网站首页 › 电脑如何截屏并保存桌面上 › 通过Matlab实现对电脑桌面特定区域的截图以及录屏 |
本程序的实现的功能主要分为以下三个方面: 1、截屏程序 screencapture.m 2、区域选择 3、录屏 1、截屏程序 screencapture.m在MATLAB 网站上可以直接下载到相应程序 例如: imageData = screencapture(0, [20,30,40,50]); % capture a small desktop region获取桌面特定区域的图像。 2、区域选择首先获取整个桌面的截图 ss=[1920 1080];%屏幕分辩率 imageData1 = screencapture(0,[0,-210,ss(1),ss(2)]);%[]中为截取区域 h1=figure(1); imshow(imageData1)然后通过在画出的图中,选择铁定的区域,这里使用了imrect创建一个矩形框,通过getPosition(h)获取方框的位置以及大小。 %区域选择 h=imrect; pos=getPosition(h); %通过鼠标获取图像中一个矩形截图区域 % 通过方框的位置确定对于screencapture的位置的输入 x1=pos(1); y1=1080-pos(2)-pos(4)-210;%y方向的值需要调整,210是本人电脑截图的经验值。 dx=pos(3); dy=pos(4); close(h1) pause(1) imageData2 = screencapture(0,[x1,y1,dx,dy]); imshow(imageData2);实现了特定区域的截图,通过截取多张图然后作出动图gif,或者视频文件,从而实现录屏的功能。这里,主要分享存动图的程序。 global x1 y1 dx dy; global name for i=0:50 pause(0.2) imageData1 = screencapture(0,[x1,y1,dx,dy]); imshow(imageData1); [I,map]=rgb2ind(imageData1,256); if(i==0) imwrite(I,map,[name,'.gif'],'DelayTime',0.2,'LoopCount',Inf) else imwrite(I,map,[name,'.gif'],'WriteMode','append','DelayTime',0.2) end endPs. 这里,本人主要通过GUI设计了相应的功能。所以变量传递需要在每个模块间设置成全局变量。 参考: MATLAB 定时截取桌面固定区域并OCR_matlab截取屏幕特定区域_战死为止的博客-CSDN博客 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |