首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

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

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

本帖最后由 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;
                                            }
                                            }
                                                        }
                  }
返回列表