关于PICTUREBOX里绘制运动物体的轨迹的问题

问题描述

刚开始的时候,是用数组存储运动物体的运动坐标,然后绘制到picturebox上,但是后来发现随着时间的延长,数组的大小越来越大,占用的内存太大了,于是就想用缓存的方法,比如picturebox的大小是300*300,那么用一个300*300的bitmap来绘制物体的运动轨迹,然后再到picturebox里显示这个bitmap。那么问题来了:1.如果运动的物体的轨迹范围超出了bitmap的范围怎么办?2.如果用一个更大的bitmap来绘制轨迹,问题就又回到了原点,我到底需要用大多的bitmap才能满足需要呢,需要写程序之前估算物体运动的范围吗?不知道是自己的思路问题,还是没找到合适的方法,请大神们指教!

解决方案

解决方案二:
用bitmap不见得会比数组省内存,你数组优化一下吧,比如添加新坐标点之前判断一下是否存在该坐标点的记录,以及降低轨迹采样率
解决方案三:
引用1楼hironpan的回复:

用bitmap不见得会比数组省内存,你数组优化一下吧,比如添加新坐标点之前判断一下是否存在该坐标点的记录,以及降低轨迹采样率

还有更好的方法吗?你说的这个,我有个疑问:我的程序按数组的方式弄,一段时间后就有点卡,按你说的,我的想法是,根据显示比例尺,按比例显示数据里的坐标,那么问题来了:比如我现在数组里有10000个点,绘制10000个点,有点卡,那么我改成数组里有10000个点,只绘制100个点,是不是就不卡了?(我问这个的目的主要是存储坐标的数组里的数,我不想舍去)
解决方案四:
引用2楼qq_14993769的回复:

Quote: 引用1楼hironpan的回复:
用bitmap不见得会比数组省内存,你数组优化一下吧,比如添加新坐标点之前判断一下是否存在该坐标点的记录,以及降低轨迹采样率

还有更好的方法吗?你说的这个,我有个疑问:我的程序按数组的方式弄,一段时间后就有点卡,按你说的,我的想法是,根据显示比例尺,按比例显示数据里的坐标,那么问题来了:比如我现在数组里有10000个点,绘制10000个点,有点卡,那么我改成数组里有10000个点,只绘制100个点,是不是就不卡了?(我问这个的目的主要是存储坐标的数组里的数,我不想舍去)

具体情况具体分析了,减少数据存储当然更快,当然前提是“不失真”,就像处理照片,高质量的照片细节表现更好,但是耗费存储空间,低质量的照片虽然占用空间少,但是细节表现不好了,这个平衡点要自己把握。。。

时间: 2024-08-02 08:49:42

关于PICTUREBOX里绘制运动物体的轨迹的问题的相关文章

在PictureBox里绘制不同形状的点

问题描述 请教一下,如何在Picture里绘制不同形状的点,如圆.三角形.方形.实心等.谢谢了 解决方案 解决方案二:绘图并不是Picture(PictureBox)的专项,它只是用来显示一个"图片"的,如果要画图可以直接在控件的Paint事件里通过e.Graphics来绘制.

emgucv+C#中如何画出运动物体的轨迹?找不到emgucv这方面的资料,全是opencv的

问题描述 请问,我用imagebox控件,用不了getpixel()函数,怎么去获取图像中某个像素点的坐标?(菜鸟新学) 解决方案

android View与线程绘制一个小球沿轨迹运动

问题描述 android View与线程绘制一个小球沿轨迹运动 实现绘制一个小球,并运用线程的sleep使小球沿着一个圆运动如何实现 解决方案 先以你小球的位置记录下x,y 然后确定你要小球遇到的圆形的半径,还有圆心位置x1,y1 写个hander,定时post, 然后在handler 处理messge的函数中,做重绘你这个小球view的坐标(x,y). 看你要多久移动多少角度.通过圆心x1, y1 还有当前的小球位置x,y,然后把要移动的角度带进去,算一下这次移动小球新的位置x,y.然后就调用

《中国人工智能学会通讯》——11.26 双目视频运动物体匹配及分割

11.26 双目视频运动物体匹配及分割 上一章研究了单目视频的运动物体分割问题,其假定匹配(特征点轨迹)已经给定,而研究重点在于如何利用该匹配关系来实现物体分割.在本章中,我们主要研究双目视频的匹配和运动分割问题[7] .在这一问题中,两个运动摄像头独立拍摄同一场景,且视频未经时域同步.相比于单目视频,双目视频能更全面地覆盖物体的表观,并有可能消除在单目视频分割中由于运动信息不充分导致的歧义性. 考虑最通用的逐点匹配关系.我们采用图 4 中所示的流程来实现空域匹配.时域匹配,以及运动物体分割.图

求问如何在C# 窗体中 获取txt文件里的坐标 然后以点的形式显示到picturebox里

问题描述 如题求问如何编程让txt里的坐标点以点的形式显示到窗体的picturebox里 解决方案 解决方案二:你想干嘛,把文字显示为图片?解决方案三:都知道坐标点了,直接画在picturebox上就行了,如果需要换算,你得知道换算规则,然后折算到picturebox内部坐标解决方案四:1.你需要确认你的坐标系,坐标系中心点的位置2.确定pictureBox的大小是根据你已定坐标区域大小的等比缩放,如果存在等比缩放,那么在读取点时候就要处理点的坐标值缩放3.绘制过程,在paint中实现点的绘制就

《中国人工智能学会通讯》——11.25 单目视频下运动物体建模及分析

11.25 单目视频下运动物体建模及分析 特征点轨迹是刻画视频中不同图像帧匹配关系的一种常用表示,其首先提取图像中的特征点,例如Harris 特征点,然后利用 Lucas-Kanade 方法[3]对这些特征点进行跟踪得到.由于特征点具有显著性和稳定性的特点,特征点轨迹往往较精确而且可以持续较长时间,从而能准确刻画物体的长时间运动.如图3所示,本章主要研究基于特征点轨迹的运动视频分割,其关键在于对同一个物体上轨迹进行运动建模. 已有研究表明,在仿射摄像机下,同一个运动物体上的轨迹在一个低维线性子空

用MATLAB实现对运动物体识别与跟踪

不得不说MATLAB的图像处理函数有点多,但速度有时也是出奇的慢.还是想c的指针,虽然有点危险,但速度那是杠杠的. 第二个MATLAB程序,对运动物体的识别与追踪. 这里我们主要运用帧差法实现运动物体与背景图像的分离,由于视频中的物体较为简单,我们只对两帧图像取帧差(也是为了提高速度) 对于运动物体的提取我们运用了MATLAB里自带的函数bwareaopen bwareaopen(src,int),src为二值图像,int为设置的联通域的大小,是对帧差法,在转化为二值的图像进行操作,结果是将大小

视频-matlab运动物体检测程序报错

问题描述 matlab运动物体检测程序报错 在做运动物体检测inputvideo 和outputvideo均正常 主程序如下 clear data disp('input video'); avi= VideoReader('samplevideo.avi'); numFrames = avi.NumberOfFrames;% 读取视频的帧数 vidHeight = avi.Height; vidWidth = avi.Width; for i = 1 : numFrames frame = r

opencv-关于emgucv 3.0 运动物体识别的问题

问题描述 关于emgucv 3.0 运动物体识别的问题 用3.0中的示例MotionDetection做运动物体识别,结果可以识别运动物体,却无法识别这些运动物体的方向,调试时发现是MotionHistory中的梯度计算结果都为0,无解,求大神赐教呀 解决方案 http://www.zhihu.com/question/34291866 解决方案二: http://download.csdn.net/detail/conmajia/4282066