中级会员
- 积分
- 282
- 威望
- 232
- 贡献
- 44
- 兑换币
- 8
- 注册时间
- 2011-4-26
- 在线时间
- 3 小时
|
最近开始研究视频方面的东西了
请各位大大帮忙看看
如何能提高处理效率
还有就是希望增加一些图形区别然后跟踪
先谢谢了
#include "background.h"
//图像处理函数
int xx,yy;
unsigned char val[4] ;
unsigned char valall[321] ;
unsigned char tmp;
unsigned char tt;
unsigned char tp;
void img(unsigned char* inbuf,int inWidth,int inHeight)
{
int ww=inWidth;
int k0=0;
for( int i=1;i<inHeight+1;i++)
{
valall[0]=i;
for(int j=1;j<ww+1;j++)
{
tmp=*(inbuf+k0*3)*0.299+*(inbuf+k0*3+1)*0.587+*(inbuf+k0*3+2)*0.114;
valall[j]=tmp;
for(int k=0;k<3;k++)
{
tp=tmp;
if(tmp>80)
tmp=255;
else
tmp=0;
*(inbuf+k0*3+k)=tmp;
/*
if(ww<255)
{
val[0]=ww;
val[1]=0;
}
else
{
val[0]=j-255;
val[1]=255;
}
val[2]=i;
val[3]=tp;
UDPSend(val, 4); */
}
k0++;
}
UDPSend(valall, 321);
}
k0=0;int ct=0;
for(int i=1;i<inHeight+1;i++)
{
for(int j=1;j<ww+1;j++)
{
//memcpy(&p2[0],pa+hd+k0*3,1);
tt=*(inbuf+k0*3);
if(tt<80)
{
xx=xx+(j);
yy=yy+i;
ct++;
}
k0++;
}
}
xx=xx/ct;
yy=yy/ct;
fprintf(stderr,"xx=%d ;yy=%d\n",xx,yy);
xx=0;
yy=0;
}
int main(int argc, char * argv[])
{
//初始化硬件
MFInit();
MFSetPortDirect(0x00000FFF);
//设置处理函数指针
UDPConnect((char *)&("192.168.0.212"),2009);
DelayMS(100);
fprintf(stderr," 11 ok\n");
MFCapOpen();
MFCapBufferFunc(&img);
//打开视频
while (1)
{
if(xx>160)
{
DelayMS(3000);
// MFDigiOutput(11,0);
}
else
{
DelayMS(3000);
//MFDigiOutput(11,0);
}
fprintf(stderr,"ok\n");
}
} |
|