打印

谁能帮我看看这个程序哪出错了。

[复制链接]
1011|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Bestend|  楼主 | 2013-9-30 09:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Bestend 于 2013-9-30 09:50 编辑

是多帧平均的程序。但是运行的时候方框内的背景始终变不成黑色,只是把画面变暗了,不过有运动物体的时候物体还是有白色轮廓。请问怎样才能使背景成为黑色呢?下面是帧差法的程序。麻烦大神帮忙看看。谢谢!@[color=rgb(102, 0, 204) !important]zhangmangui
=============================================================================
/*****************进行图像帧差处理********************/
                  /******************处理奇数行**********************/
                                      for(i=intALines;i<intDLines;i++)
                                 {
                                   for(j=intAPixels;j<intDPixels;j++)
                                    {   int temp1;
                                         //      *(Uint8 *)(tempYbuffer2 + i*numPixels + j)=*(Uint8 *)(tempYbuffer13 + i*numPixels + j);
                                               temp1=abs(*(Uint8 *)(tempYbuffer2 + i*numPixels + j) - *(Uint8 *)(tempYbuffer1 + i*numPixels + j));
                                                                   *(Uint8 *)(tempYbuffer + i*numPixels + j) =temp1;
                                if(*(Uint8 *)(tempYbuffer + i*numPixels + j)>threshold)
                                {
                                *(Uint8 *)(tempYbuffer + i*numPixels + j)=0xff;
                                }
                                else
                                {
                                *(Uint8 *)(tempYbuffer + i*numPixels + j)=0x00;
                                            }
                                }
                                 }
                 /******************处理偶数行**********************/
                              for(i=intALines;i<intDLines;i++)
                                 {
                                   for(j=intAPixels;j<intDPixels;j++)
                                    {  int temp2;
                                          //     *(Uint8 *)(tempYbuffer2 + i*numPixels + j)=*(Uint8 *)(tempYbuffer13 + i*numPixels + j);
                                               temp2=abs(*(Uint8 *)(tempYbuffer2 + i*numPixels + j) - *(Uint8 *)(tempYbuffer1 + i*numPixels + j)) ;
                                                                   *(Uint8 *)(tempYbuffer + i*numPixels + j) =temp2;
                                   if(*(Uint8 *)(tempYbuffer + i*numPixels + j)>threshold)
                                {
                                *(Uint8 *)(tempYbuffer + i*numPixels + j)=0xff;
                                }
                               else
                                {
                                *(Uint8 *)(tempYbuffer + i*numPixels + j)=0x00;
                                            }
                                            }
                                                        }
                  }

相关帖子

沙发
zhangmangui| | 2013-9-30 10:08 | 只看该作者
这个有难度啊   不懂   高手帮忙解答
@ifft  

使用特权

评论回复
板凳
ifft| | 2013-9-30 10:09 | 只看该作者
没做过这个哦。

使用特权

评论回复
地板
Bestend|  楼主 | 2013-9-30 10:14 | 只看该作者
zhangmangui 发表于 2013-9-30 10:08
这个有难度啊   不懂   高手帮忙解答
@ifft

我是做多帧平均,要用到帧差法。因为程序太长所以只给出了帧差法的内容。要实现的效果是令摄像头采集的视频里如果没有运动物体时图像为黑色,有运动物体时运动物体呈现白色,其他地方依然是黑色,令人纠结的是能使运动物体呈现白色,但就是背景始终不能全黑。

使用特权

评论回复
5
zhangmangui| | 2013-9-30 12:32 | 只看该作者
还是不太懂  帮忙顶   不好意思  

使用特权

评论回复
6
elecintop| | 2013-9-30 13:10 | 只看该作者
我也不懂啊   帮忙顶

使用特权

评论回复
7
Bestend|  楼主 | 2013-10-18 09:23 | 只看该作者
zhangmangui 发表于 2013-9-30 12:32
还是不太懂  帮忙顶   不好意思

没什么不好意思的。和你们比起来我还是个小白。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

27

帖子

0

粉丝