opencv: 排序


opencv提供了排序函數:  sort和sorIdx , 其中sortIdx可以獲取排序后的序號,比較方便;

sortIdx原型:

C++: void sortIdx(InputArray src, OutputArray dst, int flags)

Python: cv2.sortIdx(src, flags[, dst]) → dst

Parameters: src – Source single-channel array. dst – Destination integer array of the same size as src . flags – Operation flags that could be a combination of the following values: CV_SORT_EVERY_ROW Each matrix row is sorted independently. CV_SORT_EVERY_COLUMN Each matrix column is sorted independently. This flag and the previous one are mutually exclusive. CV_SORT_ASCENDING Each matrix row is sorted in the ascending order. CV_SORT_DESCENDING Each matrix row is sorted in the descending order. This flag and the previous one are also mutually exclusive.

sort原型:

Sorts each row or each column of a matrix.
C++: void sort(InputArray src, OutputArray dst, int flags)

Python: cv2.sort(src, flags[, dst]) → dst

Parameters:
src – Source single-channel array.
dst – Destination array of the same size and type as src .
flags – 
Operation flags, a combination of the following values:
CV_SORT_EVERY_ROW Each matrix row is sorted independently.
CV_SORT_EVERY_COLUMN Each matrix column is sorted independently. This flag and the previous one are mutually exclusive.
CV_SORT_ASCENDING Each matrix row is sorted in the ascending order.
CV_SORT_DESCENDING Each matrix row is sorted in the descending order. This flag and the previous one are also mutually exclusive.
The function sort sorts each matrix row or each matrix column in ascending or descending order. So you should pass two operation flags to get desired behaviour. If you want to sort matrix rows or columns lexicographically, you can use STL std::sort generic function with the proper comparison predicate.

這兩個函數都支持矩陣的行、列排序;

以下是例子:

    cv::Mat  IndexMat;      //序號矩陣
    cv::sortIdx(matchMat,IndexMat,CV_SORT_ASCENDING + CV_SORT_EVERY_COLUMN);    //matchMat為原始數據矩陣

sort同上,這里就不詳細說明了,使用方法請見:www.opencv.org.cn/opencvdoc/2.3.2/html/modules/core/doc/operations_on_arrays.html?highlight=sort#cv2.sort

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM