функция в opencv, която може да даде минималната стойност на 2d или 3d матрица по определено измерение

Има ли функция в opencv, която може да изчисли минималната стойност на 2d или 3d матрица по определено измерение. И ми дайте индекса на минималната стойност.

Минимизирането в 1 измерение би означавало, че ако имам 3d матрица, резултатът трябва да бъде 2d матрица, а ако имам 2d матрица, тогава резултатът трябва да бъде 1d матрица (масив) от индекси, където се съхранява минималната/максималната стойност.

minMaxIdx и MinMaxLoc дава глобалния минимален индекс/стойност по всички измерения.


person Farzad    schedule 11.03.2012    source източник


Отговори (1)


cv::reduce ще ви даде минимум или максимум по ред или колона. Но не мисля, че ще ви даде индекса. Функцията "find()" е това, което липсва в OpenCV.

person Silmarilli    schedule 13.08.2012
comment
В armadillo има функция min/max, но тя връща само индекса на глобалния минимум връзка. това, което искам, е нещо подобно на функцията min/max, предоставена в matlab. - person Farzad; 14.08.2012
comment
Предполагам, че най-лесният начин е да преминете през всеки ред/колона (което измерение искате да търсите) и да използвате cv::minMaxIdx или cv::minMaxLoc на всеки ред/колона плюс стойността на итератора, за да изработите техния глобален индекс? - person Silmarilli; 16.08.2012