我做了一个函数来创建一个阈值图像。输入在img
,输出在out
。这是我的代码:
void *tresholdImage (CvMat *img, CvMat *out) {
for (int i = 0; i < img->rows; i++)
{
for (int j = 0; j < img->cols; j++)
{
double x;
if (cvGetReal2D(img, i, j) < 128) x = 0; else x = 255;
cvSetReal2D(out, i, j, x);
}
}
}
调用此函数时,in 中的图像out
应与 in 中的图像大小相同img
。我想自动将out
's 的大小设置为img
's. 我在第一个之前添加了这个for
:
out = cvCreateMat(img->rows, img->cols, img->type);
但它不起作用;编译器在CvGetMat
. 但是如果我把它放在主函数中,它就可以工作。任何人都可以帮助我吗?