MATLAB 视频Gamma灰度校正 代码实现
时间: 2023-08-20 11:03:52 浏览: 206
以下是MATLAB实现的视频Gamma灰度校正的代码:
```matlab
% 读入视频
v = VideoReader('test_video.avi');
% 获取视频帧数和帧率
numFrames = v.NumberOfFrames;
frameRate = v.FrameRate;
% 设置Gamma值
gamma = 1.5;
% 遍历每一帧并进行Gamma校正
for i = 1:numFrames
% 读取当前帧
frame = read(v, i);
% 将图像转为灰度图
grayFrame = rgb2gray(frame);
% 对灰度图进行Gamma校正
correctedFrame = imadjust(grayFrame, [], [], gamma);
% 将校正后的图像转为RGB格式
correctedRGBFrame = cat(3, correctedFrame, correctedFrame, correctedFrame);
% 显示校正后的图像
imshow(correctedRGBFrame);
% 暂停一段时间
pause(1/frameRate);
end
```
首先,我们使用`VideoReader`函数读入视频文件,并获取视频帧数和帧率。然后,我们设置Gamma值,这里设置为1.5。接下来,我们遍历每一帧并将其转为灰度图。然后,我们使用`imadjust`函数对灰度图进行Gamma校正。最后,我们将校正后的图像转为RGB格式,并使用`imshow`函数显示校正后的图像。为了以视频的形式展示校正后的图像,我们使用`pause`函数暂停一段时间,以保证每一帧显示的时间相同。
阅读全文