我想在opencv的常量Mat中添加180。 由于我无法更改常数值,因此我想将其保存到临时Mat中,然后将其添加180。 但是,当我尝试打印输出值时,会得到负面结果。
如果我将temp加180并打印出来,则会得到不希望的输出,它是负数。
如果将dir加180,我将得到正确的值和正数。
我将错误的值分配给temp吗?
Mat y(const Mat &image, const Mat &dir) {
image.copyTo(non_max_sup);
Mat temp ( dir.size(), CV_32F, Scalar(0));
dir.copyTo(temp);
for ( int x = 0; x < dir.rows; x++) {
for (int y = 0; y < dir.cols; y++) {
if(dir.at<int>(x,y)<0){
temp.at<int>(x,y)= (dir.at<int>(x,y));
temp.at<int>(x,y)=temp.at<int>(x,y)+180;
std::cout<<temp.at<float>(x,y)<<std::endl; //wrong numbers
//std::cout<<dir.at<float>(x,y)+180<<std::endl; correct numbers
}
}
}
}