kmeans and one-dimensional vectors
Clustering one-dimensional data was only possible when storing it column-based. But a std::vector is interpreted as matrix with height=1 Additionally, made conditionals more readable
This commit is contained in:
parent
1f7fc6875f
commit
14c0bfce2f
@ -221,9 +221,9 @@ double cv::kmeans( InputArray _data, int K,
|
||||
{
|
||||
const int SPP_TRIALS = 3;
|
||||
Mat data0 = _data.getMat();
|
||||
bool isrow = data0.rows == 1 && data0.channels() > 1;
|
||||
int N = !isrow ? data0.rows : data0.cols;
|
||||
int dims = (!isrow ? data0.cols : 1)*data0.channels();
|
||||
bool isrow = data0.rows == 1;
|
||||
int N = isrow ? data0.cols : data0.rows;
|
||||
int dims = (isrow ? 1 : data0.cols)*data0.channels();
|
||||
int type = data0.depth();
|
||||
|
||||
attempts = std::max(attempts, 1);
|
||||
|
Loading…
x
Reference in New Issue
Block a user