Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Opencv行方法有一个奇怪的行为_C++_Opencv_Mat - Fatal编程技术网

C++ Opencv行方法有一个奇怪的行为

C++ Opencv行方法有一个奇怪的行为,c++,opencv,mat,C++,Opencv,Mat,我正在使用OpenCv Mat访问和复制(C++)。考虑以下例子: cv::Mat values=cv::Mat::zero(100,1,cv_32FC1); 对于(int i=0;i

我正在使用OpenCv Mat访问和复制(C++)。考虑以下例子:

cv::Mat values=cv::Mat::zero(100,1,cv_32FC1);
对于(int i=0;i<100;i++){
(i,1)处的值=10+i;
}
看,你称它为行=100
cols=1
。当您使用
i=0调用
values.at(i,1)
时,您正在访问第0行和第1列的元素,这当然超出了Mat的范围


更改
值。at(i,1)
值。at(i,0)
并在调试模式下运行您的构建,以供将来参考,OpenCV断言将捕获类似于此的错误。

值。at(i,1)
已超出1列Mat的范围。这里只有(i,0)有效。请运行一个调试构建,这样您就可以在这里得到正确的异常抛出(是“一次性的”,您没有初始化第一个元素),感谢我完全错过了访问Mat的界限!