/// <summary> /// Copy the data in this cv::Mat to a CvArray /// </summary> /// <param name="m">The input array to copy to</param> /// <param name="mask">Operation mask. Its non-zero elements indicate which matrix elements need to be copied.</param> public void CopyTo(IOutputArray m, IInputArray mask = null) { using (OutputArray oaM = m.GetOutputArray()) using (InputArray iaMask = mask == null ? InputArray.GetEmpty() : mask.GetInputArray()) MatInvoke.cveMatCopyTo(Ptr, oaM, iaMask); }
/// <summary> /// Converts an array to another data type with optional scaling. /// </summary> /// <param name="m">Output matrix; if it does not have a proper size or type before the operation, it is reallocated.</param> /// <param name="rtype">Desired output matrix type or, rather, the depth since the number of channels are the same as the input has; if rtype is negative, the output matrix will have the same type as the input.</param> /// <param name="alpha">Optional scale factor.</param> /// <param name="beta">Optional delta added to the scaled values.</param> public void ConvertTo(IOutputArray m, CvEnum.DepthType rtype, double alpha = 1.0, double beta = 0.0) { using (OutputArray oaM = m.GetOutputArray()) MatInvoke.cveMatConvertTo(Ptr, oaM, rtype, alpha, beta); }
/// <summary> /// Detects QR codes in image and returns the vector of the quadrangles containing the codes. /// </summary> /// <param name="img">Grayscale or color (BGR) image containing (or not) QR codes</param> /// <param name="points">Output vector of vector of vertices of the minimum-area quadrangle containing the codes.</param> /// <returns>True if a QRCode is found.</returns> public bool DetectMulti(IInputArray img, IOutputArray points) { using (InputArray iaInput = img.GetInputArray()) using (OutputArray oaPoints = points.GetOutputArray()) return(CvInvoke.cveQRCodeDetectorDetectMulti(_ptr, iaInput, oaPoints)); }