clear;
close all;
clc;
video_file='wk.mp4';
video=VideoReader(video_file);
fnum = video.NumberOfFrame;%视频帧数
I=read(video,1);%读取第一帧
subplot(311)
imshow(I);
%.........用鼠标选中区域..................
k = waitforbuttonpress; % 等待鼠标按下
point1 = get(gca,'CurrentPoint'); % 鼠标按下了
finalRect = rbbox; %
point2 = get(gca,'CurrentPoint'); % 鼠标松开了
point1 = point1(1,1:2); % 提取出两个点
point2 = point2(1,1:2);
p1 = min(floor(point1),floor(point2)); % 计算位置
p2 = max(floor(point1),floor(point2));
offset = abs(floor(point1)-floor(point2)); % offset(1)表示宽,offset(2)表示高
x = [p1(1) p1(1)+offset(1) p1(1)+offset(1) p1(1) p1(1)];
y = [p1(2) p1(2) p1(2)+offset(2) p1(2)+offset(2) p1(2)];
hold on %防止plot时闪烁
subplot(312)
plot(x,y,'r');%画出所取目标在坐标上的位置
g1=I(p1(2):p2(2),p1(1):p2(1));
subplot(313),imshow(g1);%画出所去目标部分图
%。。。。。。。。。计算视频每一帧图像所选区域的RGB的平均值。。。。。。。
data1=[];%用以存放视频每一帧所选区域的RGB值
data2=[];
data3=[];
for i=1:fnum
H=read(video,i);
P=H(p1(2):p2(2),p1(1):p2(1),:);%就第一帧索取位置对后面每一帧定位
R=P(:,:,1);
G=P(:,:,2);
B=P(:,:,3);
figure(2)
r=mean2(R);%红色均值
g=mean2(G);%绿色均值
b=mean2(B);%蓝色均值
data1=[data1,r];
data2=[data2,g];
data3=[data3,b];
end
subplot(311)
plot(data1);title('R');
subplot(312)
plot(data2);title('G')
subplot(313)
plot(data3);title('B')
视频三桢间差分法和RGB均值.rar_rgb
版权申诉
56 浏览量
2022-07-15
12:01:13
上传
评论
收藏 1KB RAR 举报
钱亚锋
- 粉丝: 86
- 资源: 1万+
最新资源
- #P0015. 全排列 超级简单
- pta题库答案c语言之排序4统计工龄.zip
- pta题库答案c语言之树结构7堆中的路径.zip
- pta题库答案c语言之树结构3TreeTraversalsAgain.zip
- pta题库答案c语言之树结构2ListLeaves.zip
- pta题库答案c语言之树结构1树的同构.zip
- 基于C++实现民航飞行与地图简易管理系统可执行程序+说明+详细注释.zip
- pta题库答案c语言之复杂度1最大子列和问题.zip
- 三维装箱问题(Three-Dimensional Bin Packing Problem,3D-BPP)是一个经典的组合优化问题
- 以下是一些关于Linux线程同步的基本概念和方法.txt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈