Я хочу добавить 180 к константе Mat в opencv.
Поскольку я не могу изменить постоянные значения, я хочу сохранить его во временном мате, а затем добавить 180 к значению.
Однако, когда я пытаюсь это сделать, я получаю отрицательные результаты при печати значений.
Если я добавлю 180 к температуре и распечатаю ее, я получу нежелательный вывод, который является отрицательным числом.
Если я добавлю 180 к dir, я получу правильные значения и положительные числа.
Неправильно ли я присваиваю значения 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
}
}
}
}