最近写了写一些用matlab做图像视频处理分析的代码,在这里分享给大家
分离图像的三通道RGB
众所周知,RGB分别是Red(红)Green(绿) Blue(蓝) 。
代码如下
I=imread('001.png'); %读取原图
figure('NumberTitle','off','name','yuantu')
imshow(I)
R=I(:,:,1); %分离Red通道
figure('NumberTitle','off','name','red')
imshow(R)
G=I(:,:,2); %分离Green通道
figure('NumberTitle','off','name','green')
imshow(G)
B=I(:,:,3); %分离Blue通道
figure('NumberTitle','off','name','blue')
imshow(B)
对图像进行线性变换转化为灰度图
对图像的RGB三通道进行线性变换,可以达到各种效果。就像是用matlab修图。
这里讲一下如何把图片,利用matlab修改为灰度图。在分离RGB的基础上。
代码如下:
Ic=R*0.299+G*0.587+B*0.114; %灰度图变换公式
Ic=rgb2gray(I);
figure('NumberTitle','off','name','灰度图线性变换');
imshow(Ic)
提取视频帧
可以利用matlab提取视频中的帧,并且保存导出。
代码如下:
obj=VideoReader('video.mp4'); %读取视频
obj_numberofframe = obj.NumberOfFrame; %读取视频总帧数
frame = read(obj); %读取帧
for k =1 : obj_numberofframe %读取到最后一帧
frame = read(obj, k); %读取第k帧
imshow(frame); %显示帧
namestyle=sprintf('%03d',k); %输出001三位
imwrite(frame,strcat('image\frame',namestyle,'.jpg'),'jpg');% 保存帧,其中“image\”为保存导出地址“frame”为前缀名
end
本文链接:https://ohana.moe/archives/mvideo/
版权声明:转载时须注明出处及本声明