изменение значений константы Mat opencv - PullRequest
0 голосов
/ 28 апреля 2019

Я хочу добавить 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

        }

}
}


}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...