1 简介
针对学生在学习"数字图像处理"等课程中感觉抽象,难理解的问题,在Matlab的环境下,基于GUI设计了一套信号处理仿真系统.该系统涵盖数字图像处理的经典方法,包括图像的基本运算,图像的增强,图像变换,图像边缘提取,图像滤波等,集运动目标检测,运动目标跟踪于一体.该系统参数调节灵活,系统扩展方便,而且可转化为.exe可执行文件,脱离Matlab环境运行,方便辅助教学.
2 部分代码
function Video2Images(videoFilePath)
clc;
nFrames = GetVideoImgList(videoFilePath);
function nFrames = GetVideoImgList(videoFilePath)
xyloObj = VideoReader(videoFilePath);
nFrames = xyloObj.NumberOfFrames;
video_imagesPath = fullfile(pwd, 'video_images');
if ~exist(video_imagesPath, 'dir')
mkdir(video_imagesPath);
end
files = dir(fullfile(video_imagesPath, '*.jpg'));
if length(files) == nFrames
return;
end
h = waitbar(0, '', 'Name', '获取视频图像序列...');
steps = nFrames;
for step = 1 : nFrames
temp = read(xyloObj, step);
temp_str = sprintf('%s\\%03d.jpg', video_imagesPath, step);
imwrite(temp, temp_str);
pause(0.01);
waitbar(step/steps, h, sprintf('已处理:%d%%', round(step/nFrames*100)));
end
close(h)
3 仿真结果
4 参考文献
[1]齐玉娟, 王延江. 基于Matlab GUI的图像和视频处理仿真系统设计[J]. 实验技术与管理, 2019, 36(03):152-155.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。