Skip to content

multiply : The function however expects a 4-layer #26

@B14ckP4nd4

Description

@B14ckP4nd4

I tried to use multiply effect and I got this error

TypeError: The blend_modes function "multiply" received a numpy array with 3 layers for its argument "img_in". The function however expects a 4-layer array representing red, green, blue, and alpha channel for this argument. Please supply a numpy array that includes all 4 layers to the "img_in" argument.

here is my code :

# Import background image
background_img_float = cv2.imread('bg.jpg', -1).astype(float)

# Import foreground image
foreground_img_float = cv2.imread('personal.jpg', -1).astype(float)


# Blend images
opacity = 0.7  # The opacity of the foreground that is blended onto the background is 70 %.
blended_img_float = multiply(background_img_float, foreground_img_float, opacity)

# Display blended image
blended_img_uint8 = blended_img_float.astype(np.uint8)  # Convert image to OpenCV native display format
cv2.imshow('window', blended_img_uint8)
cv2.waitKey()  # Press a key to close window with the image.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions