关于c++6.0中,每隔100ms采集一个数据,5次之后在求均值,显示出来。循环做下去。也就是均值滤波。求助一下,这个思路应该怎样写呢?最好有大致步骤
采集数据的工作是不是你做?如果不是,那么你的工作是否是提供一个函数,供回调?
回调函数就比较好写了。
int total;
int n;
void init()
{
total = n = 0;
}
void func(int d)
{
total += d;
n ++;
if (n >5)
{
//输出平均值
printf("average = %f\n", (float)total / n);
}
}
如果采集数据的工作也是你做,那么vc++大致做法是这样的。
首先你得初始化一个定时器,如果是MFC做,那么参考SetTimer之类的函数。
调用 init()
在这个定时器的响应函数里,采集数据,具体采集方法因人而异,我这里无法给你参考了。
采集完函数后,调用 func(data),将采集的函数传给上面的回调函数即可
图片边缘也处理的代码:
void MeanFilter(unsigned char *pImg,int width,int height,int kernel)
{
//卷积核为奇数
if (pImg==NULL||width<=0||height<=0||kernel<=0||kernel%2==0)
{
printf("The arguments send to function ......
答案就在这里:均值滤波
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。
怎么会问这种问题啊?给你段伪码
n=0
total=0
func 输入函数(d)
total+=d
if(++n)>=5{
输出 d/5
d=0
n=0
}
end func
刚好需要,看一看还是值得的,思路蛮清晰的