上一页 1 2 3 4 5 6 7 ··· 9 下一页
摘要: 1.分离视频音频流ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流ffmpeg -i input_file -acodec copy -vn output_file_audio //分离音频流2.视频解复用ffmpeg –i test.mp4 –vcodec copy –an –f m4v test.264ffmpeg –i test.avi –vcodec copy –an –f m4v test.2643.视频转码ffmpeg –i test.mp4 –vcodec h264 –s 352*278 –an –.. 阅读全文
posted @ 2013-08-06 11:17 一点心青 阅读(155587) 评论(2) 推荐(5) 编辑
摘要: 问题描述:已知两幅图像Image1和Image2,计算出两幅图像的重叠区域,并在Image1和Image2标识出重叠区域。算法思想:若两幅图像存在重叠区域,则进行图像匹配后,会得到一张完整的全景图,因而可以转换成图像匹配问题。图像匹配问题,可以融合两幅图像,得到全景图,但无法标识出在原图像的重叠区域。将两幅图像都理解为多边形,则其重叠区域的计算,相当于求多边形的交集。通过多边形求交,获取重叠区域的点集,然后利用单应矩阵还原在原始图像的点集信息,从而标识出重叠区域。算法步骤:1.图像匹配计算,获取单应矩阵。2.根据单应矩阵,计算图像2的顶点转换后的点集。3.由图像1的顶点集合和图像2的转换点集, 阅读全文
posted @ 2013-08-02 12:50 一点心青 阅读(19906) 评论(14) 推荐(3) 编辑
摘要: 问题描述:已知两个多边形Poly1和Poly2,分别由点集C1={P1,P2,...,Pm}和C2={Q1,Q2,...,Qn}表示,求这两个多边形的交集。算法思想:两个多边形相交后,其顶点要么是两个多边形边的交点,要么是在多边形内部的点。算法步骤:1.计算两个多边形每条边之间的交点。2.计算包含在多边形内部的点。3.将交点和多边形内部的点,按逆时针(或顺时针)排序,得出最终的点集。代码基本实现如下: 1 typedef struct Point 2 { 3 int x; 4 int y; 5 }Point; 6 bool PolygonClip(const vector &p... 阅读全文
posted @ 2013-08-02 11:05 一点心青 阅读(28570) 评论(1) 推荐(2) 编辑
摘要: 问题描述:已知点P(x,y)和多边形Poly,判断点P(x,y)是否在多边形内部。基本方法:射线法以点P为端点,向左方作射线L,由于多边形是有界的,所以射线L的左端一定在多边形外部,考虑沿着L从无究远处开始自左向右移动。遇到和多边形的第一个交点的时候,进入到了多边形的内部,遇到第二个交点的时候,离开了多边形...因而当L和多边形的交点数目C是奇数的时候,P在多边形内,是偶数,则P在多边形外。特殊情况分析,如图下图(a),(b),(c),(d)所示。图(a)中,L和多边形的顶点相交,交点只能计算一个。图(b)中,L和多边形顶点的交点不应被计算。图(c)和(d)中,L和多边形的一条边重合,这条边应 阅读全文
posted @ 2013-08-01 18:07 一点心青 阅读(10508) 评论(3) 推荐(2) 编辑
摘要: 问题描述:已知两条线段P1P2和Q1Q2,判断P1P2和Q1Q2是否相交,若相交,求出交点。两条线段的位置关系可以分为三类:有重合部分、无重合部分但有交点、无交点。算法的步骤如下:1.快速排斥实验。设以线段P1P2为对角线的矩形为R,设以线段Q1Q2为对角线的矩形为T,如果R和T不相交,则两线段不相交。2.跨立实验。如果两线段相交,则两线段必然相互跨立对方。若P1P2跨立Q1Q2,则矢量(P1-Q1)和(P2-Q1)位于矢量(Q2-Q1)的两侧,即( P1 - Q1 ) × ( Q2 - Q1 ) * ( P2 - Q1 ) × ( Q2 - Q1 ) = 0) & 阅读全文
posted @ 2013-08-01 17:09 一点心青 阅读(18378) 评论(0) 推荐(1) 编辑
摘要: 问题描述:已知多边形点集C={P1,P2,...,PN},其排列顺序是杂乱,依次连接这N个点,无法形成确定的多边形,需要对点集C进行排序后,再绘制多边形。点集排序过程中,关键在于如何定义点的大小关系。以按逆时针排序为例,算法步骤如下:定义:点A在点B的逆时针方向,则点A大于点B1.计算点集的重心O,以重心作为逆时针旋转的中心点。2.计算点之间的大小关系。大小关系的计算,可由两种方法进行计算。方法1:以重心O作一条平行于X轴的单位向量OX,然后依次计算OPi和OX的夹角,根据夹角的大小,确定点之间的大小关系。OPi和OX夹角越大,说明点Pi越小,如图所示。方法2:根据向量叉积的定义,向量OPi和 阅读全文
posted @ 2013-08-01 15:30 一点心青 阅读(21671) 评论(15) 推荐(1) 编辑
摘要: 1.最简单的方法,创建一个对象,然后添加属性 1 var person = new Object(); 2 person.age = 23; 3 person.name = "David"; 4 person.job = "student"; 5 person.sayName = function () 6 { 7 alert(this.name); 8 }; 9 10 //类似于定义键值对或者json数据格式的定义方法.11 var person =12 {13 age:23,14 name:"David",15 job:" 阅读全文
posted @ 2013-07-25 19:48 一点心青 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 调试工具 cuda-gdb,网上有英文版的说明文档。其中大部分调试命令和gdb的调试命令相同。cuda程序分为主机端程序和设备端程序,主机端程序调试也就是C语言程序的调试主要是设备端程序,关键点也就是如何进入设备端程序。调试时,编译选项 -g -G-g 说明程序是Debug版, -G生成相应的设备端代码进入设备端程序,需要在设备端入口程序设置断点大致的流程如下:break test_kernelthread >> (进入单个线程)接下来就可以按C语言程序的方法进行调试在设备端程序时,有些变量的值不能打印出来这些变量存储在显存中,无法打印基本方法:选择编译选项,设置断点,进入设备端程 阅读全文
posted @ 2013-07-25 19:35 一点心青 阅读(4610) 评论(0) 推荐(0) 编辑
摘要: 下面简单介绍一些cuda中的共享存储器和全局存储器 共享存储器,shared memory,可以被同一块中的所有线程访问的可读写存储器,生存期是块的生命期。Tesla的每个SM拥有16KB共享存储器。在编程过程中,有静态的shared memory 动态的shared memory静态的shared memory 在程序中定义 __shared__ type shared[SIZE];动态的shared memory 通过内核函数的每三个参数设置大小 extern __shared__ type shared[];共享存储器被组织为16个bank,每个bank拥有32bit的宽度。无ban.. 阅读全文
posted @ 2013-07-25 19:33 一点心青 阅读(4679) 评论(0) 推荐(0) 编辑
摘要: 全局存储器,即普通的显存,整个网格中的任意线程都能读写全局存储器的任意位置。存取延时为400-600 clock cycles 非常容易成为性能瓶颈。访问显存时,读取和存储必须对齐,宽度为4Byte。如果没有正确的对齐,读写将被编译器拆分为多次操作,降低访存性能。多个half-warp的读写操作如果能够满足合并访问,则多次访存操作会被合并成一次完成。合并访问的条件,GT200放宽了合并访问的条件。支持对8 bit、16 bit、32 bit、64 bit数据字的合并访问 相应传输32Byte 64Byte 128Byte,大于128Byte,分两次传输。在一次合并传输的数据中,不要求线程编号和 阅读全文
posted @ 2013-07-25 19:28 一点心青 阅读(2541) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 9 下一页