я был найти в Интернете код, который использует следующий кодЧто отличается от Mat.at <uchar> и Mat.at <int>
cv::VideoCapture frame_capture;
...
cv::Mat frame;
frame_capture.read(frame);
...
std::vector<cv::Mat> bgr_planes;
split(frame, bgr_planes);
...
int curr_pixel = (bgr_planes[0].at<uchar>(row_index,col_index));
...
которые получают значение из вектора Mat и присвоить его переменной
, когда я попытался изменить на .at<int>
я получил эту ошибку
OpenCV Error: Assertion failed (dims <= 2 && data && (unsigned)i0 < (unsigned)size.p[0] && (unsigned)(i1*DataType<_Tp>::channels) < (unsigned)(size.p[1]*channels()) && ((((sizeof(size_t)<<28)|0x8442211) >> ((DataType<_Tp>::depth) & ((1 << 3) - 1))*4) & 15) == elemSize1()) in cv::Mat::at, file C:\Open_CV\opencv\build\include\opencv2/core/mat.hpp, line 537
мой вопрос, так как .at возвращает целое число, поэтому здесь мы имеем