Интерполяция одномерного массива с использованием OpenCV

Я определяю массив из 2 значений и пытаюсь использовать функцию изменения размера модуля imgproc, чтобы изменить его размер до 10 элементов с линейной интерполяцией в качестве метода интерполяции.

cv::Mat input = cv::Mat(1, 2, CV_32F);
input.at<float>(0, 0) = 0.f;
input.at<float>(0, 1) = 1.f;
cv::Mat output = cv::Mat(1, 11, CV_32F);
cv::resize(input, output, output.size(), 0, 0, cv::INTER_LINEAR);
for(int i=0; i<11; ++i)
{
    std::cout<< output.at<float>(0, i) << " ";
}

Результат, который я ожидал бы:

0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0

Однако я получаю следующее:

0 0 0 0.136364 0.318182 0.5 0.681818 0.863636 1 1 1

Ясно, что мое понимание того, как работает изменение размера, неверно на фундаментальном уровне. Может кто-нибудь сказать, пожалуйста, что я делаю не так? Следует признать, что OpenCV является излишним для такой простой линейной интерполяции, но, пожалуйста, помогите мне с тем, что здесь не так.

Ответы на вопрос(1)

Ваш ответ на вопрос