请教大神在opencv中怎么计算图像局部方差, 请教大神在opencv中怎么计算图像局部方差, 请教大神在opencv中怎么计算图像局部方差,谢谢
你也在学opencv吗,可以交流下
局部,是正常的矩形还是不规则区域
矩形: 坐标的x y即像素点的x y根据长宽遍历
不规则: 我暂时没有计算过
cv::Mat src = cv::imread("D:\\Users\\A-spider\\Documents\\Visual Studio 2012\\Projects\\c\\c\\graf1_suo0.8.bmp");
cv::Mat kk;
cv::cvtColor(src, kk, CV_RGB2YUV);//rgb图像变成yuv图像
imwrite("yuv.bmp",kk);
//载入图像的数据
IplImage *image=cvLoadImage("yuv.bmp");
if(p<15||q<15)
continue;
for(m=p-2;m<=p+2;m++)
{
for(n=q-2;n<=q+2;n++)
{
s=cvGet2D(image,n,m);
aver+=s.val[0];
}
}
aver=aver/25;
cvReleaseImage(&image);
IplImage *image1=cvLoadImage("yuv.bmp");
for(m=p-2;m<=p+2;m++)
{
for(n=q-2;n<=q+2;n++)
{
s=cvGet2D(image1,m,n);
var+=(s.val[0]-aver)*(s.val[0]-aver);
}
}
var=var/25;
var=sqrt(var);
请大神帮忙看看我这个代码哪里出错了,为什么会显示内存泄露呢,p,q为特征点坐标,程序运行出来只是显示一部分的区域方差,后面的就出现内存泄露了。