擅长:python、mysql、java
<p>如果希望不使用红色填充背景,但使其透明,可以向解决方案中添加以下行:</p>
<pre><code># split image into channels
c_red, c_green, c_blue = cv2.split(img)
# merge with mask got on one of a previous steps
img_a = cv2.merge((c_red, c_green, c_blue, mask.astype('float32') / 255.0))
# show on screen (optional in jupiter)
%matplotlib inline
plt.imshow(img_a)
plt.show()
# save to disk
cv2.imwrite('girl_1.png', img_a*255)
# or the same using plt
plt.imsave('girl_2.png', img_a)
</code></pre>
<p>如果你想,你可以调整一些png压缩参数,使文件更小。</p>
<p>图片在下面的白色背景上。或者是黑色的-<a href="https://imgur.com/a/4NwmH" rel="noreferrer">http://imgur.com/a/4NwmH</a></p>
<p><a href="https://i.stack.imgur.com/WkYsv.png" rel="noreferrer"><img src="https://i.stack.imgur.com/WkYsv.png" alt="enter image description here"/></a></p>