MATLAB 视频灰度校正gamma,自适应高斯滤波显示(不输出视频)
时间: 2023-12-03 14:44:21 浏览: 146
基于FPGA和gamma校正的视频监控系统设计与实现
以下是一个简单的 MATLAB 代码示例,可以实现视频的灰度校正gamma和自适应高斯滤波显示:
```matlab
% 读取视频
video = VideoReader('video.mp4');
% 创建视频写入对象
writer = VideoWriter('output.mp4', 'MPEG-4');
open(writer);
while hasFrame(video)
% 读取视频帧
frame = readFrame(video);
% 灰度校正gamma
gamma = 0.5;
frame = imadjust(frame, [], [], gamma);
% 自适应高斯滤波
sigma = 10;
hsize = ceil(6*sigma);
h = fspecial('gaussian', hsize, sigma);
frame = imfilter(frame, h);
% 显示帧
imshow(frame);
% 写入帧到输出视频
writeVideo(writer, frame);
end
% 关闭输出视频写入对象
close(writer);
```
在上面的代码中,我们首先使用 `VideoReader` 对象读取视频文件,并使用 `VideoWriter` 对象创建输出视频文件。然后,我们使用 `hasFrame` 函数循环读取视频帧,对每一帧进行灰度校正gamma和自适应高斯滤波处理,并使用 `imshow` 函数显示处理后的帧。最后,我们使用 `writeVideo` 函数将处理后的帧写入输出视频文件中。
阅读全文