mirror of
https://github.com/peterbraden/node-opencv.git
synced 2025-12-08 19:45:55 +00:00
Revert "Revert "Fixed split not working""
This reverts commit 20efb8313bd6f101782f3a6cc60468052bc34f00.
This commit is contained in:
parent
3ba64a7e3d
commit
3f2f74e819
@ -1654,25 +1654,31 @@ Matrix::CvtColor(const v8::Arguments& args) {
|
||||
// arrChannels = img.split();
|
||||
Handle<Value>
|
||||
Matrix::Split(const v8::Arguments& args) {
|
||||
HandleScope scope;
|
||||
HandleScope scope;
|
||||
|
||||
Matrix * self = ObjectWrap::Unwrap<Matrix>(args.This());
|
||||
Matrix * self = ObjectWrap::Unwrap<Matrix>(args.This());
|
||||
|
||||
vector<cv::Mat> channels;
|
||||
cv::split(self->mat, channels);
|
||||
unsigned int size = channels.size();
|
||||
v8::Local<v8::Array> arrChannels = v8::Array::New(size);
|
||||
for (unsigned int i = 0; i < size; i++) {
|
||||
Local<Object> matObject = Matrix::constructor->GetFunction()->NewInstance();
|
||||
Matrix * m = ObjectWrap::Unwrap<Matrix>(matObject);
|
||||
m->mat = channels[i];
|
||||
arrChannels->Set(i, matObject);
|
||||
}
|
||||
unsigned int size = self->mat.channels();
|
||||
vector<cv::Mat> channels;
|
||||
|
||||
return scope.Close(arrChannels);
|
||||
// Split doesn't seem to work on empty vectors
|
||||
for (int i = 0; i < size; i++) {
|
||||
channels.push_back(cv::Mat());
|
||||
}
|
||||
|
||||
cv::split(self->mat, channels);
|
||||
|
||||
v8::Local<v8::Array> arrChannels = v8::Array::New(size);
|
||||
for (unsigned int i = 0; i < size; i++) {
|
||||
Local<Object> matObject = Matrix::constructor->GetFunction()->NewInstance();
|
||||
Matrix * m = ObjectWrap::Unwrap<Matrix>(matObject);
|
||||
m->mat = channels[i];
|
||||
arrChannels->Set(i, matObject);
|
||||
}
|
||||
|
||||
return scope.Close(arrChannels);
|
||||
}
|
||||
|
||||
|
||||
// @author SergeMv
|
||||
// img.merge(arrChannels);
|
||||
Handle<Value>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user