Difference between revisions of "Function:Multiply"

From CUVI Wiki
(Created page with "__NOTOC__ Multiplies two images ===Function=== {| |style="font-size:150%;"| <syntaxhighlight lang="cpp"> CuviStatus multiply(CuviImage* srcImage1, CuviImag...")
 
Line 65: Line 65:
{|
{|
|-
|-
|[[File:MultiplyIn1.png|frame|First Input Image]]
|[[File:MultiplyIn1.png|frame|First Input Image (8-bit)]]
|[[File:MultiplyIn2.png|frame|Second Input Image]]
|[[File:MultiplyIn2.png|frame|Second Input Image (8-bit)]]
|-
|-
|[[File:MultiplyOut.png|frame| Resultant Image]]
|[[File:MultiplyOut.png|frame| Resultant Image (16-bit)]]
|}
|}


===Example===
===Example===

Revision as of 14:08, 14 May 2012

Multiplies two images

Function

CuviStatus multiply(CuviImage* srcImage1,
                    CuviImage* srcImage2,
                    CuviImage* dstImage,
                    CuviStream* stream =  NULL);

Parameters

Name Type Description
srcImage1 CuviImage* First Input Image
srcImage2 CuviImage* Second Input Image
dstImage CuviImage* Resultant Image
stream CuviStream* GPU stream ID for execution

Image Type Support

Input 1 Input 2 Output
8u 8u 8u
8u 8u 16u
16u 16u 16u
32f 32f 32f

Sample

Error creating thumbnail: Unable to save thumbnail to destination
First Input Image (8-bit)
Error creating thumbnail: Unable to save thumbnail to destination
Second Input Image (8-bit)
Error creating thumbnail: Unable to save thumbnail to destination
Resultant Image (16-bit)

Example

CuviImage* gimg1 = new CuviImage(size,img1->depth,img1->nChannels);
CuviImage* gimg2 = new CuviImage(size,img2->depth,img2->nChannels);
CuviImage* gout = new CuviImage(size,output->depth,output->nChannels);

//Upload input data
gimg1->upload(img1->imageData,img1->widthStep);
gimg2->upload(img2->imageData,img2->widthStep);

//Add	
cuvi::arithmeticLogical::multiply(gimg1,gimg2,gout);