void find_zeros(const cv::Mat_<T>& binary, std::vector<cv::Point> &idx) { assert(binary.cols > 0 && binary.rows > 0 && binary.channels() == 1 && binary.channels() == 1); const int M = binary.rows; const int N = binary.cols; for (int m = 0; m < M; ++m) { const T* bin_ptr = (T*) binary.ptr(m); for (int n = 0; n < N; ++n) { if (bin_ptr[n] == 0) idx.push_back(cv::Point(n,m)); } } }