将图像乘以-1

时间:2012-11-11 05:29:27

标签: opencv gradient

我正在OpenCV中开发一个主动轮廓算法,在我需要采取渐变的负面的一个步骤-V [I(x,y)] ...我怎样才能执行此操作,我有试过这个:

//load image (type CV_32FC3) and calculate gradient
neg = cv::Mat(gradient.cols,gradient.rows,CV_32FC3,cv::Scalar::all(-1));
gradient.mul(neg,1);
//to verify negatives value
double minVal, maxVal;
int maxIdx[3];
cv::minMaxIdx(gradient.reshape(1,0),&minVal,&maxVal,0,maxIdx);
std::cout << maxVal << " , " << minVal << std::endl;

但是我打印时只能获得10 ^ -38范围内的值。 谢谢。

1 个答案:

答案 0 :(得分:0)

opencv :: mul(gradient,neg,gradient,1)给出相同的效果吗?

但可能需要渐变= gradient.mul(neg)。我没有安装opencv,所以无法检查。