motion运动图形神器 运动追踪 怎么用

Blast Motion运动追踪器:自动给运动视频添加各项数据_网易数码
Blast Motion运动追踪器:自动给运动视频添加各项数据
用微信扫码二维码
分享至好友和朋友圈
安珀网(公众号:ianpocom)
Blast Motion是一个配有运动视频自动编辑功能的健身追踪器。
Blast Motion这个可穿戴动作传感器可以给多种运动提供精准的3D动作数据。这个设备和一个花生酱杯差不多大小,兼容iPhone和iPad,以及GoPro。每项运动都有一个专用App自动编辑出最佳运动视频镜头,传感器负责提供显示在画面上的数据。
Blast Replay的App采用一个获得专利的Smart Video Capture算法来自动识别高清视频中的动作,并将其剪辑成卷。Blast App知道何时处理高帧频视频采集,每个App都会根据情况自动采用慢动作镜头或者加快一些镜头。加上附加的数据,Blast Motion是一个很不错的运动视频制作选择,还可以把视频分享到社交媒体证明自己。
Blast Motion Action组合包含一个运动相机配件、一个传感器、一个可穿戴夹和一个无线充电座。Blast Action App是为滑板、越野自行车和越野摩托车设计的,可以记录跳跃加速度、垂直高度、旋转和滞空时间,兼容iOS 7x或8x,包括iPhone 5、5c、6 和6 Plus;iPad 3、4;iPad Mini 2 、3;Air和Air 2,还兼容两款GoPro运动相机,Hero 3和3+。
Blast Basketball Replay组合和Atheltic Performance组合配有相同的可穿戴夹。篮球组合监测上篮、跳投和扣篮,而Atheltic Performance组合针对排球、体操和运动能力。篮球App和运动能力App也监测加速度、高度、旋转和滞空时间。
至于棒球,Blast Motion联手Easton打造Easton Power Sensor。这一传感器覆盖棒球、垒球和儿童棒球。棒球组合配有一个球棒夹套和一个精准挥棒传感器。传感器可以检测挥棒速度、朝向、力量、触球时间等。
Blast Golf(高尔夫)组合配有一个标准球杆和一个推杆配件。推杆和挥杆数据包括击球时间、节奏、击球高度、球的位置、旋转、速度、下挥杆时间、上挥杆时间、力量指数(根据球杆质量、挥杆速度、下挥杆时间计算出动能转换)、效率指数(能量转移、速度方向)和猛击系数(由效率指数和力量指数决定)。Blast Motion的网站有一页是介绍各项数据的,并且列出专业和业余的平均参数,以及提高技巧的建议。
传感器是Blast成功的关键所在,每项运动都有相应的App查看实时数据。Blast Motion在结合传感器和自动视频编辑上做得很好,而且支持多项运动。虽然传感器看起来都差不多,但每一个都是针对某一运动精准地监测相关数据的。虽然你可以使用Easton组合追踪网球运动,但如果你想要一个网球追踪器,最好还是选择Zepp或索尼的传感器,但它们没有像Blast Motion那样的App编辑你的打球视频。
虽然还有其他的运动视频自动编辑器,但Blast Motion能够覆盖多种运动。5种Blast Motion组合在其官网上的售价为150美元。是的,产品目前只兼容苹果产品,但有望在今年秋天推出安卓App。
本文来源:安珀网
责任编辑:王晓易_NE0011
用微信扫码二维码
分享至好友和朋友圈
加载更多新闻
热门产品:   
:        
:         
热门影院:
阅读下一篇
用微信扫描二维码
分享至好友和朋友圈查看: 13088|回复: 31|关注: 0
哪位可以给讲解一下运动目标检测Motion Detection这个程序
<h1 style="color:# 麦片财富积分
新手, 积分 6, 距离下一级还需 44 积分
关注者: 3
function d = tracking(video)
if ischar(video)
& & % Load the video from an avi file.
& & avi = aviread(video);
& & pixels = double(cat(4,avi(1:2:end).cdata))/255;
& & clear avi
& & % Compile the pixel data into a single array
& & pixels = double(cat(4,video{1:2:end}))/255;
& & clear video
% Convert to RGB to GRAY SCALE image.
nFrames = size(pixels,4);
for f = 1:nFrames
%& &&&F = getframe(gcf);
%& &&&[x,map]=frame2im(F);
%& &&&imwrite(x,'fln.jpg','jpg');
& & pixel(:,:,f) = (rgb2gray(pixels(:,:,:,f)));&&
for l = 2:nrames
d(:,:,l)=(abs(pixel(:,:,l)-pixel(:,:,l-1)));
k=d(:,:,l);
% imagesc(k);
% himage = imshow('d(:,:,l)');
% hfigure =
% impixelregionpanel(hfigure, himage);
% datar=imageinfo(imagesc(d(:,:,l)));
% disp(datar);
& &bw(:,:,l) = im2bw(k, .2);
& &bw1=bwlabel(bw(:,:,l));
& &imshow(bw(:,:,l))
& &hold on
% %& & for h=1:rows
%& &&&for w=1:cols
%& && && && && && && && &
%& && && && & if(d(:,:,l)& 0.1)
%& && && && && && &d(h,w,l)=0;
%& && && && &end
% % disp(d(:,:,l));
% % size(d(:,:,l))
for h=1:rows
& & for w=1:cols
& &&&if(bw(h,w,l)&0.5)
%& && && & disp(d(h,w,l));
& && &toplen =
& && && && & if (cou == 1)
& && && && &tpln=
& && && &&&
& && &&&end
& && && &cou=cou+1;
& && &break
disp(toplen);
for w=1:cols
& & for h=1:rows
& &&&if(bw(h,w,l)&0.5)
& && &leftsi =
& &if (coun == 1)
& && && && &lftln=
& && && && &coun=coun+1;
& && &break
disp(leftsi);
disp(lftln);& &
% %& & d = abs(pixel(:, :, l), pixel(:, :, l-1));
% %& & disp(d);
%& & s = regionprops(bw1, 'BoundingBox');
% %& & centroids = cat(1, s.Centroid);
% %& & ang=s.O
% %& & plot(centroids(:,1), centroids(:,2), 'r*')
%& & for r = 1 : length(s)& &
%& & rectangle('Position',s(r).BoundingBox,'EdgeColor','r');
% %& &plot('position',s(r).BoundingBox,'faceregion','r');
%& & end& &
% %& & disp(ang);
%&&%&&imaqmontage(k);
widh=leftsi-
heig=toplen-
widt=widh/2;
disp(widt);
heit=heig/2;
with=lftln+
heth=tpln+
disp(heit);
disp(widh);
disp(heig);
rectangle('Position',[lftln tpln widh heig],'EdgeColor','r');
disp(with);
disp(heth);
plot(with,heth, 'r*');
% wh=square(abs(wth(2)-wth(nrames)));
% ht=square(abs(hth(2)-hth(nrames)));
% disp(wth(1
% distan=sqrt(wh+ht);
% disp(distan);
里面的英文注释不太懂,哪位高手可以给解释一下这个程序?十分感谢
14:45 上传
点击文件名下载附件
607.06 KB, 下载次数: 68196
附带程序和视频
<h1 style="color:#6 麦片财富积分
关注者: 72
这个东西应该自己慢慢调试……
这个例子是很经典的……
clear data
disp('input video');
avi = aviread('samplevideo.avi'); % 读取视频
video = {avi.cdata}; %得到视频中的图像数据
% 在figure中播放原始视频(一帧一帧图像连续显示)
for a = 1:length(video)
& & imagesc(video{a});
& & axis image off
& &
disp('output video');
tracking(video);% 调用目标检测跟踪程序
function d=tracking(video)
if ischar(video)
& & % 读取视频如果video,为视频的所在路径.
& & avi = aviread(video);
& & pixels = double(cat(4,avi(1:2:end).cdata))/255;
& & clear avi
else
& & % 直接读取视频中的帧,间隔取帧,得到一个四维的矩阵,里面放的是彩色图像
& & pixels = double(cat(4,video{1:2:end}))/255;
& & clear video
end
% 将每一帧的彩色图像转化为灰度图像
nFrames = size(pixels,4);% 帧的数目
for f = 1:nFrames
& & pixel(:,:,f) = (rgb2gray(pixels(:,:,:,f)));
end
rows=240;
cols=320;
nrames=f;
% 下面就是利用帧间做差发进行运动目标的跟踪
for l = 2:nrames
& & % 后一帧减去前一帧
& & d(:,:,l)=(abs(pixel(:,:,l)-pixel(:,:,l-1)));
& & k=d(:,:,l);
& & bw(:,:,l) = im2bw(k, .2);% 二值化
& &
& & bw1=bwlabel(bw(:,:,l)); % 连通标记
& & imshow(bw(:,:,l)) %显示图像
& & hold on
& & cou=1;
& & % 下面的目的就是得到二值图像中目标的大小,并矩形框出来,连续显示
& & for h=1:rows
& && &&&for w=1:cols
& && && && &if(bw(h,w,l)&0.5)
& && && && && & toplen =
& && && && && & if (cou == 1)
& && && && && && &&&tpln=
& && && && && & end
& && && && && & cou=cou+1;
& && && && && & break
& && && && &end
& && &&&end
& & end
& & disp(toplen);
& & coun=1;
& & for w=1:cols
& && &&&for h=1:rows
& && && && &if(bw(h,w,l)&0.5)
& && && && && & leftsi =
& && && && && & if (coun == 1)
& && && && && && &&&lftln=
& && && && && && &&&coun=coun+1;
& && && && && & end
& && && && && & break
& && && && &end
& && &&&end
& & end
& & disp(leftsi);
& & disp(lftln);
& & widh=leftsi-
& & heig=toplen-
& & widt=widh/2;
& & disp(widt);
& & heit=heig/2;
& & with=lftln+
& & heth=tpln+
& & wth(l)=
& & hth(l)=
& & disp(heit);
& & disp(widh);
& & disp(heig);
& & rectangle('Position',[lftln tpln widh heig],'EdgeColor','r');
& & disp(with);
& & disp(heth);
& & plot(with,heth, 'r*');
& &
& & hold off
Are you gonna stand and fight like a man?
<h1 style="color:# 麦片财富积分
关注者: 3
哪位高手可以给讲解一下运动目标检测Motion Detection这个程序
谢谢楼上,再请教您一个问题,
for l = 2:nrames
& & % 后一帧减去前一帧
& & d(:,:,l)=(abs(pixel(:,:,l)-pixel(:,:,l-1)));
& & k=d(:,:,l);
& & bw(:,:,l) = im2bw(k, .2);% 二值化
& & bw1=bwlabel(bw(:,:,l)); % 连通标记
& & imshow(bw(:,:,l)) %显示图像
& & hold on
& & cou=1;
其中imshow(bw(:,:,l))显示的是黑白的图像,那请问怎么显示彩色的图像呢?
<h1 style="color:#6 麦片财富积分
关注者: 72
回复 3# dogwood 的帖子
直接显示就是了……
在将rgb图像转为灰度图像的时候保留一份……
然后在显示的时候将保留的显示就是了……
function d=tracking(video)
if ischar(video)
& & % 读取视频如果video,为视频的所在路径.
& & avi = aviread(video);
& & pixels = double(cat(4,avi(1:2:end).cdata))/255;
& & clear avi
else
& & % 直接读取视频中的帧,间隔取帧,得到一个四维的矩阵,里面放的是彩色图像
& & pixels = double(cat(4,video{1:2:end}))/255;
& & pixelsrgb = double(cat(4,video{1:2:end}))/255;
& & clear video
end
% 将每一帧的彩色图像转化为灰度图像
nFrames = size(pixels,4);% 帧的数目
for f = 1:nFrames
& & pixel(:,:,f) = (rgb2gray(pixels(:,:,:,f)));
end
rows=240;
cols=320;
nrames=f;
% 下面就是利用帧间做差发进行运动目标的跟踪
for l = 2:nrames
& & % 后一帧减去前一帧
& & d(:,:,l)=(abs(pixel(:,:,l)-pixel(:,:,l-1)));
& & k=d(:,:,l);
& & bw(:,:,l) = im2bw(k, .2);% 二值化
& &
& & bw1=bwlabel(bw(:,:,l)); % 连通标记
& & %imshow(bw(:,:,l)) %显示图像
& & imshow(pixelsrgb(:,:,:,l)); % 显示彩色图像,标出运动……
& & hold on
& & cou=1;
& & % 下面的目的就是得到二值图像中目标的大小,并矩形框出来,连续显示
& & for h=1:rows
& && &&&for w=1:cols
& && && && &if(bw(h,w,l)&0.5)
& && && && && & toplen =
& && && && && & if (cou == 1)
& && && && && && &&&tpln=
& && && && && & end
& && && && && & cou=cou+1;
& && && && && & break
& && && && &end
& && &&&end
& & end
& & disp(toplen);
& & coun=1;
& & for w=1:cols
& && &&&for h=1:rows
& && && && &if(bw(h,w,l)&0.5)
& && && && && & leftsi =
& && && && && & if (coun == 1)
& && && && && && &&&lftln=
& && && && && && &&&coun=coun+1;
& && && && && & end
& && && && && & break
& && && && &end
& && &&&end
& & end
& & disp(leftsi);
& & disp(lftln);
& & widh=leftsi-
& & heig=toplen-
& & widt=widh/2;
& & disp(widt);
& & heit=heig/2;
& & with=lftln+
& & heth=tpln+
& & wth(l)=
& & hth(l)=
& & disp(heit);
& & disp(widh);
& & disp(heig);
& & rectangle('Position',[lftln tpln widh heig],'EdgeColor','r');
& & disp(with);
& & disp(heth);
& & plot(with,heth, 'r*');
& &
& & hold off
[ 本帖最后由 guopanfeng 于
15:35 编辑 ]
Are you gonna stand and fight like a man?
<h1 style="color:# 麦片财富积分
关注者: 3
哪位高手可以给讲解一下运动目标检测Motion Detection这个程序
哦,谢谢。
那是否可以在检测出的运动目标的基础上用肤色模型检测出人脸,调整窗口,以此来进行人脸的跟踪呢
[ 本帖最后由 dogwood 于
16:18 编辑 ]
<h1 style="color:# 麦片财富积分
关注者: 3
回复 4# guopanfeng 的帖子
哦,谢谢。
那是否可以在检测出的运动目标的基础上用肤色模型检测出人脸,调整窗口,以此来进行人脸的跟踪呢
<h1 style="color:#6 麦片财富积分
关注者: 72
回复 6# dogwood 的帖子
当然可以了……
这个慢慢研究就是了……基于肤色得打人脸,论坛上面有的……
自己可以下载看看……
Are you gonna stand and fight like a man?
<h1 style="color:# 麦片财富积分
关注者: 3
回复 7# guopanfeng 的帖子
好的,谢谢您啊。
<h1 style="color:# 麦片财富积分
关注者: 3
回复 7# guopanfeng 的帖子
版主,我把那个做出来了,结果运行不出来,您能给看看那个地方有错吗?
还有的就是提示Undefined function or variable &leftsi&,为什么运行以前的这个变量就定义了,而改动后的就出现没被定义的情况呢
<h1 style="color:# 麦片财富积分
关注者: 3
回复 7# guopanfeng 的帖子
您好,那个结合这个程序和肤色检测的人脸跟踪我做出来了,但运行时有问题,您能帮忙看看哪里出错了吗?
还有就是提示Undefined function or variable &leftsi&,为什么运行以前的那个程序是变量都没问题,现在改动后的程序这些变量就没被定义
function d = tracking(video)
if ischar(video)
& & % Load the video from an avi file.
& & avi = aviread(video);
& & pixels = double(cat(4,avi(1:2:end).cdata))/255;
& & clear avi
& & % Compile the pixel data into a single array
& & pixels = double(cat(4,video{1:2:end}))/255;
& & clear video
% Convert to RGB to GRAY SCALE image.
nFrames = size(pixels,4);
for f = 1:nFrames
& & I = pixels(:,:,:,f);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%skin detection
I=double(I);& && && && & %converting the integer into decimal fraction
[hue,s,v]=rgb2hsv(I);& & %converting RGB space into HSV space
cb=0.148*I(:,:,1)-0.291*I(:,:,2)+0.439*I(:,:,3)+128;%converting RGB space into YCrCb space
cr=0.439*I(:,:,1)-0.368*I(:,:,2)-0.071*I(:,:,3)+128;&&
[w h]=size(I(:,:,1)); %size of the image
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%% let the skin pels points in the YCrCb space as 1
& & for j=1:h
& && &&&% segmenting the yellow skin colour areas& && &
& && &&&if&&145&=cr(i,j)&cr(i,j)&=165&145&=cb(i,j)&cb(i,j)&=180&0.01&=hue(i,j)&hue(i,j)&=0.15& && &
& && && && &segment(i,j)=1; %skin areas& && &&&
& && &&&else& && &
& && && && &segment(i,j)=0;& &
& && &&&end& &
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%% processing on the detected areas
% removing small connected pixels
skin=bwareaopen(skin,round(w*h/900));
se=strel('disk',5);
skin=imdilate(skin,se);& && &&&
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%display skin areas
im(:,:,1)=I(:,:,1).*& &
im(:,:,2)=I(:,:,2).*
im(:,:,3)=I(:,:,3).*
pixelsrgb(:,:,:,f)=uint8(im);
%& &&&F = getframe(gcf);
%& &&&[x,map]=frame2im(F);
%& &&&imwrite(x,'fln.jpg','jpg');
& & pixel(:,:,f) = (rgb2gray(pixelsrgb(:,:,:,f)));&&
for l = 2:nrames
d(:,:,l)=(abs(pixel(:,:,l)-pixel(:,:,l-1)));
k=d(:,:,l);
% imagesc(k);
% himage = imshow('d(:,:,l)');
% hfigure =
% impixelregionpanel(hfigure, himage);
% datar=imageinfo(imagesc(d(:,:,l)));
% disp(datar);
& &bw(:,:,l) = im2bw(k, .2);
& &bw1=bwlabel(bw(:,:,l));
& &imshow(pixels(:,:,:,l))
& &hold on
% %& & for h=1:rows
%& &&&for w=1:cols
%& && && && && && && && &
%& && && && & if(d(:,:,l)& 0.1)
%& && && && && && &d(h,w,l)=0;
%& && && && &end
% % disp(d(:,:,l));
% % size(d(:,:,l))
for h=1:rows
& & for w=1:cols
& &&&if(bw(h,w,l)&0.5)
%& && && & disp(d(h,w,l));
& && &toplen =
& && && && & if (cou == 1)
& && && && &tpln=
& && && &&&
& && &&&end
& && && &cou=cou+1;
& && &break
for w=1:cols
& & for h=1:rows
& &&&if(bw(h,w,l)&0.5)
& && &leftsi =
& &if (coun == 1)
& && && && &lftln=
& && && && &coun=coun+1;
& && &break
% %& & d = abs(pixel(:, :, l), pixel(:, :, l-1));
% %& & disp(d);
%& & s = regionprops(bw1, 'BoundingBox');
% %& & centroids = cat(1, s.Centroid);
% %& & ang=s.O
% %& & plot(centroids(:,1), centroids(:,2), 'r*')
%& & for r = 1 : length(s)& &
%& & rectangle('Position',s(r).BoundingBox,'EdgeColor','r');
% %& &plot('position',s(r).BoundingBox,'faceregion','r');
%& & end& &
% %& & disp(ang);
%&&%&&imaqmontage(k);
widh=leftsi-
heig=toplen-
widt=widh/2;
disp(widt);
heit=heig/2;
with=lftln+
heth=tpln+
disp(heit);
disp(widh);
disp(heig);
rectangle('Position',[lftln tpln widh heig],'EdgeColor','r');
disp(with);
disp(heth);
plot(with,heth, 'r*');
% wh=square(abs(wth(2)-wth(nrames)));
% ht=square(abs(hth(2)-hth(nrames)));
% disp(wth(1
% distan=sqrt(wh+ht);
% disp(distan);
站长推荐 /2
快速搭建新能源汽车整车模型及其性能优化
MATLAB中文论坛是全球最大的 MATLAB & Simulink 中文社区。用户免费注册会员后,即可下载代码,讨论问题,请教资深用户及结识书籍作者。立即注册加入我们吧!
MATLAB官方社交平台
MATLAB中文论坛微社区智能指环Arcus Motion:运动追踪和手势控制
[摘要]能够实现多个手指动作,戒指上没有插头没有孔而且防水,支持无线充电。
腾讯数码讯(编译:张秀梅)对于喜欢运动的人来说,如何更专业的搜集自己的运动数据,并且进行全面的分析,是一项重要的事情。而现在一款名为Arcus Motion的运动检测指环就可以实现你的想法。开发Arcus Motion的Arcus原本是一家生产航天器材的重工业公司。现在该公司将航天工业中使用到的三维空间定位导航技术融入到了Arcus Motion智能指环之中,将运动追踪和手势识别完美的融合到了一起。Arcus Motion能够追踪和分析各种体育运动,游泳、网球、高尔夫等。例如在游泳方面,智能指环能够感知游泳者的姿势、速度、距离和运动量等。此外,Arcus Motion也可以通过简单的手势控制各种蓝牙设备,例如平板电脑、媒体播放器和智能电视。作为一款运动控制设备,Arcus Motion能够实现多个手指的动作。用户将其戴在大拇指和食指上可以在3D空间中抓取和旋转物体,例如控制机器人的肢体运动。用户将其戴在食指和中指上还可以玩第一人称射击游戏。除了一只手实现追踪和控制,两只手配合也可以实现一些专业运动的数据搜集。将两枚Arcus Motion智能指环分别戴在两只手上,可以在拳击和皮划艇运动项目上实现追踪和监测。Arcus Motion智能环利用无线充电技术,没有插头、没有孔,并且防水,并且提供了多种颜色和款式供用户选择。另外,Arcus Motion的SDK也已经对外公布,开发者可以为其量身定制各类APP来完善它的各项功能,并为更多体育项目提供独立的解决方案。目前Arcus Motion在Kickstarter上的众筹价格为149美元(约合人民币910元),如果一切顺利的话,预计会在2015年出货。来源: 查报价,看新品,尽在腾讯数码官方微信 扫描左侧二维码即可添加腾讯数码官方微信您也可以在微信上搜索“腾讯数码”或“qqdigi”,获取更多数码资讯。
[责任编辑:linasun]
还能输入140字
Copyright & 1998 - 2017 Tencent. All Rights ReservedSolidWorks 2012 Motion 运动仿真教程_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
SolidWorks 2012 Motion 运动仿真教程
机电工程师|
总评分0.0|
浏览量4676
用知识赚钱
&&SolidWorks 2012 Motion 运动仿真教程:是使用SolidWorks Motion 对SolidWorks装配体模型进行运动和动力学分析的入门培训教程。本文章提供了基本的运动和动力学分析求解方法,是机械工程师快速有效地掌握SolidWorks Motion应用技术的必备资料。
试读已结束,如果需要继续阅读或下载,敬请购买
定制HR最喜欢的简历
你可能喜欢
您可以上传图片描述问题
联系电话:
请填写真实有效的信息,以便工作人员联系您,我们为您严格保密。}

我要回帖

更多关于 motion分析运动 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信