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

2019-08-08 14:18发布

本帖最后由 Bestend 于 2013-9-30 09:50 编辑

是多帧平均的程序。但是运行的时候方框内的背景始终变不成黑 {MOD},只是把画面变暗了,不过有运动物体的时候物体还是有白 {MOD}轮廓。请问怎样才能使背景成为黑 {MOD}呢?下面是帧差法的程序。麻烦大神帮忙看看。谢谢!@[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;
                                            }
                                            }
                                                        }
                  }
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
zhangmangui
1楼-- · 2019-08-08 14:55
这个有难度啊   不懂   高手帮忙解答
@ifft  
ifft
2楼-- · 2019-08-08 20:28
没做过这个哦。
Bestend
3楼-- · 2019-08-08 23:01
 精彩回答 2  元偷偷看……
zhangmangui
4楼-- · 2019-08-09 04:37
还是不太懂  帮忙顶   不好意思  
elecintop
5楼-- · 2019-08-09 06:54
我也不懂啊   帮忙顶
Bestend
6楼-- · 2019-08-09 08:17
zhangmangui 发表于 2013-9-30 12:32
还是不太懂  帮忙顶   不好意思

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

一周热门 更多>