function dushipin(fineName, y_start, y_end, x_start, x_end)
% dushipin('video1.avi', 10, 30, 20, 230);
% fileName 文件名或路径
% y_start 字幕出现的左上角的y坐标
% y_end 字幕出现的右下角的y坐标
% x_start 字幕出现的左上角的x坐标
% x_end 字幕出现的右下角的x坐标
obj = VideoReader(fineName);
numFrames = obj.NumberOfFrames;
line = y_end - y_start + 1;
for i = 1 : obj.FrameRate * 60 : numFrames
if(numFrames - i < obj.FrameRate * 60)
num = 1;
for j = i : 10 : numFrames
frame = read(obj, j);
bmp((num - 1) * line + 1 : num * line, :, :) = frame(y_start : y_end, x_start : x_end, :);
num = num + 1;
end
else
for j = 1 : 60
frame = read(obj, i + (j - 1) * obj.FrameRate);
bmp((j - 1) * line + 1 : j * line, :, :) = frame(y_start : y_end, x_start : x_end, :);
end
end
imwrite(sum(double(bmp > 125), 3), strcat(num2str((i - 1) / 600), '.bmp'), 'bmp');
end
MATLAB实现视频文字的识别
最新推荐文章于 2024-08-12 10:25:30 发布