int main(int argc, char* argv[]){
int a[2] = {-1, 0};
cv::Mat b(1, 2, CV_32SC1, a);
cout<<"b : "<<b<<endl;
cout<<"b+b+1: "<<b+b+1<<endl;
cout<<"b+b : "<<b+b<<endl;
cout<<"b+b-1: "<<b+b-1<<endl;
cout<<"b+b-2: "<<b+b-2<<endl;
cout<<"b+b-3: "<<b+b-3<<endl;
return 0;
}
The above code has the following result with OpenCV 4.7 on Mac M1 Pro. Only the result on the first and third rows are correct. Why? Also check the attached image.
Results are correct on Ubuntu and Windows.
Thanks in advance!
b : [-1, 0]
b+b+1: [0, 1] // expect [-1, 1]
b+b : [-2, 0]
b+b-1: [-2, 0] // expect [-3, -1]
b+b-2: [-3, -1] // expect [-4, -2]
b+b-3: [-4, -2] // expect [-5, -3]