Method
VipsImagemerge
Declaration [src]
int
vips_merge (
VipsImage* ref,
VipsImage* sec,
VipsImage** out,
VipsDirection direction,
int dx,
int dy,
...
)
Description [src]
Optional arguments:
mblend
: %gint, maximum blend size
This operation joins two images left-right (with ref
on the left) or
up-down (with ref
above) with a smooth seam.
If the number of bands differs, one of the images must have one band. In this case, an n-band image is formed from the one-band image by joining n copies of the one-band image together, and then the two n-band images are operated upon.
The two input images are cast up to the smallest common type (see table Smallest common format in arithmetic).
dx
and dy
give the displacement of sec
relative to ref
, in other words,
the vector to get from the origin of sec
to the origin of ref
, in other
words, dx
will generally be a negative number.
mblend
limits the maximum width of the
blend area. A value of “-1” means “unlimited”. The two images are blended
with a raised cosine.
Pixels with all bands equal to zero are “transparent”, that is, zero pixels in the overlap area do not contribute to the merge. This makes it possible to join non-rectangular images.
See also: vips_mosaic(), vips_insert().
This method is not directly available to language bindings.
Parameters
sec
-
Type:
VipsImage
Secondary image.
The data is owned by the caller of the method. out
-
Type:
VipsImage
Output image.
The argument will be set by the function. The caller of the method takes ownership of the returned data, and is responsible for freeing it. direction
-
Type:
VipsDirection
Horizontal or vertical merge.
dx
-
Type:
int
Displacement of ref from sec.
dy
-
Type:
int
Displacement of ref from sec.
...
-
Type:
NULL
-terminated list of optional named arguments.