深海的小鱼儿

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 2 3 4 5 6 ··· 39 下一页

2015年5月16日

摘要: 问题描述:已知多边形点集C={P1,P2,...,PN},其排列顺序是杂乱,依次连接这N个点,无法形成确定的多边形,需要对点集C进行排序后,再绘制多边形。 点集排序过程中,关键在于如何定义点的大小关系。 以按逆时针排序为例,算法步骤如下: 定义:点A在点B的逆时针方向,则点A大于点B 1.计算点集的重心O,以重心作为逆时针旋转的中心点。 2.计算点之间的大小关系。 大小关系的计算,可由两种方法进行... 阅读全文
posted @ 2015-05-16 19:31 深海的小鱼儿 阅读(696) 评论(0) 推荐(0) 编辑

摘要: 问题描述:已知两条线段P1P2和Q1Q2,判断P1P2和Q1Q2是否相交,若相交,求出交点。 两条线段的位置关系可以分为三类:有重合部分、无重合部分但有交点、无交点。 算法的步骤如下: 1.快速排斥实验。 设以线段P1P2为对角线的矩形为R,设以线段Q1Q2为对角线的矩形为T,如果R和T不相交,则两线段不相交。 2.跨立实验。 如果两线段相交,则两线段必然相互跨立对方。 若P1P2跨立Q1Q2,则... 阅读全文
posted @ 2015-05-16 19:30 深海的小鱼儿 阅读(552) 评论(0) 推荐(0) 编辑

摘要: 问题描述:已知点P(x,y)和多边形Poly,判断点P(x,y)是否在多边形内部。 基本方法:射线法 以点P为端点,向左方作射线L,由于多边形是有界的,所以射线L的左端一定在多边形外部,考虑沿着L从无究远处开始自左向右移动。 遇到和多边形的第一个交点的时候,进入到了多边形的内部,遇到第二个交点的时候,离开了多边形... 因而当L和多边形的交点数目C是奇数的时候,P在多边形内,是偶数,则P在多边形外... 阅读全文
posted @ 2015-05-16 19:29 深海的小鱼儿 阅读(515) 评论(0) 推荐(0) 编辑

摘要: 问题描述:已知两个多边形Poly1和Poly2,分别由点集C1={P1,P2,...,Pm}和C2={Q1,Q2,...,Qn}表示,求这两个多边形的交集。 算法思想: 两个多边形相交后,其顶点要么是两个多边形边的交点,要么是在多边形内部的点。 算法步骤: 1.计算两个多边形每条边之间的交点。 2.计算包含在多边形内部的点。 3.将交点和多边形内部的点,按逆时针(或顺时针)排序,得出最终的点集。 ... 阅读全文
posted @ 2015-05-16 19:28 深海的小鱼儿 阅读(1146) 评论(0) 推荐(0) 编辑

摘要: 问题描述:已知两幅图像Image1和Image2,计算出两幅图像的重叠区域,并在Image1和Image2标识出重叠区域。 算法思想: 若两幅图像存在重叠区域,则进行图像匹配后,会得到一张完整的全景图,因而可以转换成图像匹配问题。 图像匹配问题,可以融合两幅图像,得到全景图,但无法标识出在原图像的重叠区域。 将两幅图像都理解为多边形,则其重叠区域的计算,相当于求多边形的交集。 通过多边形求交,获取... 阅读全文
posted @ 2015-05-16 19:26 深海的小鱼儿 阅读(3949) 评论(0) 推荐(1) 编辑

摘要: 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.264 ff... 阅读全文
posted @ 2015-05-16 19:24 深海的小鱼儿 阅读(391) 评论(0) 推荐(0) 编辑

摘要: 问题描述:ffplay播放rtsp视频流时,播放过程中随机出现花屏现象。 基本流程学习:阅读ffplay源码,熟悉其播放rtsp视频流的基本流程。 在ffplay源码阅读和分析的基础上,画出了其播放rtsp的函数调用关系,如下图所示: avformat_open_input函数根据输入的文件名,与rtsp_read_packet关联。 rtsp_read_packet完成每个rtp包的读取和解析... 阅读全文
posted @ 2015-05-16 19:23 深海的小鱼儿 阅读(1328) 评论(0) 推荐(1) 编辑

摘要: 问题描述:在测试目标跟踪算法时,需要选择不同区域作为目标,进行目标跟踪,测试目标跟踪的效果。 解决思路: 1.OpenCV中提供了鼠标交互控制,利用setMouseCallback()给固定的窗口设置鼠标回调函数。 2.在鼠标回调函数中,选择感兴趣区域。 代码实现如下,将感兴趣区域封装在MouseSelect类中,提供选择点和矩形框两种模式。 1 #pragma once 2 #ifndef... 阅读全文
posted @ 2015-05-16 19:22 深海的小鱼儿 阅读(3220) 评论(0) 推荐(0) 编辑

摘要: CUDA基本使用方法 在介绍OpenCV中GPU模块使用之前,先回顾下CUDA的一般使用方法,其基本步骤如下: 1.主机代码执行;2.传输数据到GPU;3.确定grid,block大小; 4.调用内核函数,GPU运行程序;5.传输结果到CPU;6.继续主机代码执行。 下图是两个向量相加的简单示例程序和处理流图。 注意的问题:cu,cpp文件的组织 内核函数和其wrapper函数置于... 阅读全文
posted @ 2015-05-16 19:20 深海的小鱼儿 阅读(947) 评论(0) 推荐(0) 编辑

摘要: 问题描述:项目中,需要对高清监控视频分析处理,经测试,其解码过程所占CPU资源较多,导致整个系统处理效率不高,解码成为系统的瓶颈。 解决思路: 利用GPU解码高清视频,降低解码所占用CPU资源,加速解码过程。 一、OpenCV中的硬解码 OpenCV2.4.6中,已实现利用GPU进行读取视频,由cv::gpu::VideoReader_GPU完成,其示例程序如下。 1 int main(int ... 阅读全文
posted @ 2015-05-16 19:18 深海的小鱼儿 阅读(1209) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 ··· 39 下一页