⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 课题想法.txt

📁 关于只能报警系统的程序
💻 TXT
字号:
1.图像显示倒立问题:(1)  cvFip(pframe,pframe_copy,0)
                   (2)  pframe->origin=1;也就是指定为底左(windows bitmap风格)。0为顶左结构。
                        frame->origin=1;表示从底左开始,图像正立。
                        frame-〉origin=0;表示从顶左开始,图像倒立。
                        改变origin后,图像显示问题可以解决,但是接下来的图像处理就全错了
                        因为指针位置改变了。所以此处使用cvFlip来解决图像显示倒立的问题。
 

2. 为什么摄像头直接得到的图像origin为1,而背景却是0呢?
   使用cvCapFromCAM得到的图像origin为1,与windows bitmap一致。
   背景是使用cvCreateImage创建的,他的origin为opencv格式(0),显示的时候需要将其翻转。

  若指定pframe->origin=1,就改变了pframe->imageData的指针位置,
  程序中的各种处理,是基于origin=0操作的。

3. 前两桢是正确的,之后会有个闪烁的过程,然后再稳定,跟摄像头的曝光有关系?
   就是跟摄像头的曝光有关。开始pframe不稳定,要等到几秒钟以后才稳定。
   所以要等到摄像头完全曝光后才进行检测。这里采用捕捉到的前15桢不做处理,只是等待曝光结束。
   第三桢有问题,但是保存的是第四桢的图片。为什么?

   修改cvRunningAvg  cvWaitKey isChange参数。背景差分的结果跟光线有很大关系。

  ischange统计变化点数同时,如果像素值改变小于一定值就认为没改变,并将其置为0;否则计数.
  一般像素值差多少算是正常的?

4. 背景差分的光线问题。

   将isChange变化的点数由100变为400,像素值由10改为15

  总是在第31幅图像的时候出现较大的变化,为什么?

  一秒钟处理10幅图片。怎么控制?

  每次报警之后,停止几秒钟。
  
  差分二值化图要保存。以便察看、处理。

  如果运动慢的话,物体形状就很明显, 过慢的话就不会出现差分图像。物体运动快时就会有阴影。消除阴影。
  
  要想得到较好的差分图像,应该摄像头采集慢点,物体运动快点。因为大多数情况下,环境无变化,这时采集    速度慢点,当有情况发生时,采集速度快点。

  将cvWaitKey的时间减小后,变化的像素点数也减少。而且处理速度明显加快,背景不再闪烁。

  将判断环境是否变化的ischange中变化幅度由10改为15,front为黑。像素值差多少,属于正常范围?

  背景更新速度0.03太小,改为0.3。结果是front变黑的速度变快了。

  再改变cvWaitKey的值,看有什么变化。
  
  bright color 改变值

  消除毛刺参数  改变

   二值化 的参数 什么时候黑,什么时候白

  ischange统计变化点数同时,如果像素值改变小于一定值就认为没改变,并将其置为0;否则计数

  背景更新的速度,cvWaitKey的速度,对差分结果的影响。
  经过一段时间,差分结果才为0。为什么开始那么大呢?


  front显示的是什么时候的差分结果?二值化后的?怎么好像没做差分,直接二值化的结果?

  开始几秒钟内,front为黑,这是正确的,但到了第四贞就不对了,为什么?
//////////////////////

如果更新速度为0.003,front一直都像是直接二值化的结果,这是不是说明前景 背景 相差时间太大,使得背景一段时间内为0
如果更新速度为0.03,front开始为黑,过会像是直接二值化结果,但是慢慢会变得模糊,出现雪花,经过几分钟后才会变黑。
无论怎么样,前三桢都是黑的,第四桢开始差分出错,为什么?
/////////////////////////
2.多做实验,确定环境变化的像素值及个数,
            确定bringt、color值,

3.随着cvWaitKey时间的减小,差分图像闪烁的速度加快。这是必然的,但为什么会闪呢?

4.为什么在摄像头刚开的时候,图像的bright(V)会很大,过会就会降下来,然后趋于稳定?

5.开始差分二值化为雪花,怎么去掉?

6.例子中的背景差分是基于摄像头不变。要想随时改变,必须使用cvCopyImage

7.内存泄露问题
最好不要在循环内创建并分配图像内存,或者其他存储结构的内存,容易产生内存泄露这样的问题。
对于新开辟的内存(不一定都用cvAlloc申请的)用完了就要释放,尤其是在循环里头,以及Continue时,一旦不释放,
内存就越来越多,最终out of memeory!

8.cvAux监控的代码

9.cvWaitKey只针对窗口控件进行操作,等待窗口的任何响应,你的程序段没有GUI窗口控件,所以也就没有任何作用。
  简单的说就是个延迟函数,程序执行到这里,等待键盘输入,有则响应键盘消息,没有则等到超时,然后继续执行程序。
  但是他有什么用呢?

10.看看opencv的	FAQ中的读取和显示图片 的例子中 有无 cvWaitKey有何区别。

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -