Я использую OpenCV, и у меня есть следующая проблема, которую я хочу решить на изображении. Однако мой вопрос не обязательно должен быть ограничен OpenCV, если это проблема, он может быть просто более общим c ++, скажем, на векторах.
Проблема
Я хочу отобразить значения пикселей входного изображения (или элементов входного вектора) в выходное изображение (или вектор) того же размера. Каждый элемент вывода должен содержать процентиль * соответствующего элемента на входе.
Мой вопрос
Как бы я кодировал реализацию этой проблемы? (В C ++ или OpenCV)
Пример
Я приведу пример одномерного изображения, просто для простоты.
Входной сигнал:
(1, 2, 10, 3, 4, 5, 6, 12, 7)
Вывод *: (0.11, 0.22, 0.89, 0.33, 0.44, 0.56, 0.67, 1.00, 0.78)
Производительность?
Я пишу код для анализа изображений, который может быть от нескольких сотен до нескольких сотен. Я предполагаю, что моя проблема возможна в O (n log n), но я не думаю, что даже O (n ^ 2) будет проблемой (где n - общее количество элементов в изображении / векторе). Однако, если точные процентили вызывают слишком много проблем со сложностью, у меня все в порядке с определенным количеством бинов вместо этого.
(*) Я знаю, что есть несколько разных способов осмысления процентили, будь то округление вверх или вниз и так далее. Это не важно для меня. Каким бы образом ни работал.