Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

655
Views
Emgu CV and IInputArrayOfArrays on Merge() function

I am struggling to understand what is an IInputArrayOfArrays.

It's a bit confusing when you check the docs of OpenCV or EmguCV and most of the functions got IInputArray or IOutputArray on the function parameters, but with some search you get to know that it means basically a Mat.

But in this case, I thought that a IInputArrayOfArrays must be an array of Mat, but this is not working on C#:

Mat[] channels = hsv.Split();
channels[1] = customMask;
CvInvoke.Merge(channels, hsv);

Because Can't convert from Emgu.CV.Mat[] to Emgu.CV.IInputArrayOfArrays.

Since the Split() function returns Mat[], it would be logical that the Merge() function (that is exactly the opposite of the Split()) needs a Mat[] also...

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Pay attention to not confuse CvInvoke.Split() and Mat.Split().

Using Mat.Split() will return a Mat[] but CvInvoke.Merge() does not accept that.

Instead, if you use CvInvoke.Split() it will return you a VectorOfVectorOfByte, the same type that the CvInvoke.Merge() method needs, making it exactly the opposite of the CvInvoke.Split() indeed.

Here's an example with your case:

VectorOfVectorOfByte splitted = new VectorOfVectorOfByte();
CvInvoke.Split(channels, splitted);
// ... //
CvInvoke.Merge(splitted, channels);
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!