please post an example of what that should look like, and what your code currently does produce.
you need alpha compositing (overlay/transparency/…). opencv doesn’t yet have a function for that. you’d have to do your own multiplications… there are plenty of recipes around.
construct the “background” that is a constructed “shadow” of the foreground’s silhouette.
alpha-composite the foreground on the background.