python背景图颜色_python – 使图形透明与彩色背景
编辑3:
已经澄清,基本问题是:
如何把’黑&在imshow制作的matplotlib图像前面的透明’面具?
掩模应由先前绘制的黑色和暗色的matplotlib产生.白色的身影.
以下代码通过访问和混合图形rgba位图来演示此功能:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cm as cm
import matplotlib.mlab as mlab
def get_rgba_bitmap(fig):
fig.canvas.draw()
tab = fig.canvas.copy_from_bbox(fig.bbox).to_string_argb()
ncols, nrows = fig.canvas.get_width_height()
return np.fromstring(tab, dtype=np.uint8).reshape(nrows, ncols, 4)
def black_white_to_black_transpa(rgba):
rgba[:, :, 3] = 255 - rgba[:, :, 0]
rgba[:, :, 0:3] = 0
def over(rgba1, rgba2):
if rgba1.shape != rgba2.shape:
raise ValueError("rgba1 and rgba2 shall have same size")
alpha = np.expand_dims(rgba1[:, :, 3] / 255., 3)
rgba = np.array(rgba1 * alpha + rgba2 * (1.-alpha), dtype = np.uint8)
return rgba[:, :, 0:3]
# fig 1)
fig1 = plt.figure(facecolor = "white")
fig1.set_dpi(300)
ax1 = fig1.add_subplot(1, 1, 1, aspect = "equal", axisbg = "black")
ax1.add_artist(plt.Circle((0., 0., .5), color = "white"))
ax1.set_xlim(-5, 5)
ax1.set_ylim(-5, 5)
bitmap_rgba1 = get_rgba_bitmap(fig1)
black_white_to_black_transpa(bitmap_rgba1)
# fig 2
fig2 = plt.figure(facecolor = "white")
fig2.set_dpi(300)
delta = 0.025
ax2 = fig2.add_subplot(1, 1, 1, aspect = "equal", axisbg = "black")
ax2.set_xlim(-5, 5)
ax2.set_ylim(-5, 5)
x = y = np.arange(-3.0, 3.0, delta)
X, Y = np.meshgrid(x, y)
Z1 = mlab.bivariate_normal(X, Y, 1.0, 1.0, 0.0, 0.0)
Z2 = mlab.bivariate_normal(X, Y, 1.5, 0.5, 1, 1)
Z = Z2-Z1 # difference of Gaussians
im = ax2.imshow(Z, interpolation='bilinear', cmap=cm.jet,
origin='lower', extent=[-5, 5, -5, 5],
vmax=abs(Z).max(), vmin=-abs(Z).max())
bitmap_rgba2 = get_rgba_bitmap(fig2)
# now saving the composed figure
fig = plt.figure()
fig.patch.set_alpha(0.0)
ax = fig.add_axes([0., 0., 1., 1.])
ax.patch.set_alpha(0.0)
ax.imshow(over(bitmap_rgba1, bitmap_rgba2))
plt.axis('off')
fig.savefig("test_transpa.png", dpi=300)
plt.show()
赠送:
我测试了你的初始光子测试案例,图片质量似乎没问题
现在,如果你想让图形背景透明:
>将fig1背景设置为’white’,即fig1 = plt.figure(facecolor =’white’),白色将传递给black_white_to_black_transpa时变为透明
>将fig2背景设置为透明fig2.patch.set_alpha(0.0),因为它将被存储而不会修改为bitmap_rgba2
>最后,在函数内部混合bitmap_rgba1和bitmap_rgba2时,请注意alpha通道(参见下面的可能修改)
06001
最后(?)编辑:
似乎在to_string_argb返回的数组与imshow预期的数组(rgb通道的顺序)之间存在不一致.一种可能的解决方案是将ax.imshow(over(bitmap_rgba1,bitmap_rgba2))更改为:
over_tab = over(bitmap_rgba1, bitmap_rgba2)
over_tab[:, :, 0:3] = over_tab[:, :, ::-1][:, :, 1:4]
ax.imshow(over_tab)
python背景图颜色_python – 使图形透明与彩色背景相关推荐
- python 热图颜色_Python可视化matplotlibseborn14-热图heatmap
热力图(heatmap)可通过颜色深浅变化,优雅的展示数据的差异. 详细介绍python seaborn绘制热图 本文速览Matplotlib热图heatmapseaborn热图1seaborn热图2 ...
- python箱形图颜色_python绘图:箱线图
箱线图 boxplot函数的参数解读 绘图之前,我们先来讲解一下matplotlib包中boxplot函数的参数含义及使用方法: plt.boxplot(x, notch=None, sym=None ...
- 【最简洁】一句CSS3代码实现不规则自定义背景图拼接样式,多用于异形弹窗背景图
如果阁下想玩进阶版的背景图样式请移步[进阶版九宫格背景图片]如何仅仅依靠background的几个属性组合搭配出酷炫的背景图片效果,并自适应任何宽高效果?_你挚爱的强哥❤给你发来1条消息❤-CSDN博 ...
- .Net C# 发送带背景图html邮件(解决Outlook不显示背景图问题)
发送带背景图html邮件(解决Outlook不显示背景图问题) (二)示例背景图 (三)示例定义好的html邮件图 (四)html代码 (五)C#邮件发送代码(示例:控制台应用程序) 1.考虑兼容性问 ...
- python turtle绘制柱状图_python绘制图形(Turtle模块)
用python的Turtle模块可以绘制很多精美的图形,下面简单介绍一下使用方法. 需要用到的工具有python,python 的安装这里就不再细说.自行搜索. from turtle import ...
- python 三维图直方图_Python | 阶梯直方图
python 三维图直方图 A histogram is a graphical technique or a type of data representation using bars of di ...
- php添加背景图及设置格式,PHP添加PNG图片背景透明水印操作类定义与用法示例
本文实例讲述了PHP添加PNG图片背景透明水印操作类定义与用法.分享给大家供大家参考,具体如下: 图片相关操作类 class ImageTool { private $imagePath;//图片路径 ...
- python窗体加背景图_第二十三篇 -- 为窗体添加背景图片和图标以及设置窗体透明度...
效果图: play.py #!/usr/bin/env python#_*_ coding: UTF-8 _*_ """========================= ...
- 怎么将自己的头像p到特定的背景图_怎么把自己的头像和背景分离出来:用ps抠图...
抠图的实用性非常强,可以说随时随地都用得上,掌握其中的技巧就显得非常重要了.在使用adobe photoshop(即PS)软件时,有多种抠图的方法,下面是几种最常用的手法,也是最基础的技巧.对于大部分 ...
最新文章
- 北大毕业典礼上,一男博士求婚女硕士成功,网友直呼:科研人的爱情太甜了!...
- java条件查询excel_[转]EXCEL中的多条件查询(整理)
- 【Git】Git 标签使用 ( 查询哈希码 | 创建标签 git tag v1.0 | 查询标签 git tag | 查询标签信息 git show v1.0 | 创建标签并指定说明 | 删除标签 )
- lua实现stack(lua程序设计21.7 练习21.1题)
- 在Spring中了解事务注释
- Linux 网络相关命令
- 决策树之 GBDT 算法 - 回归部分
- 关于阿拉伯数字转化成为大写汉字
- 软件测试准备(摘要)
- java回车后自动从一个文本框切换到另一个_Java实用教程-Java基本语法-Java程序的构成...
- 郑州大学Oracle期末,郑州大学软件学院2011到2012学年第二学期Oracle期末试卷.doc
- petshop 中的 cache机制
- spring扫描bean总结
- 遗传算法c语言代码实验报告,遗传算法的c语言程序
- 微信 iOS 收款到帐语音提醒开发总结
- Python Computer Vision Programming学习笔记(一)——Python以及各Package安装
- JAVA数组常见例题(转置,排序,求和平均,插入,删除)
- 关于Label Bais 最好的解释方式
- local_policy.jar和US_export_policy.jar资源免费下载
- Linux的route命令
热门文章
- 微软亚研院华刚对科研的见解
- python解析器是什么_如何用python写一个简单的词法分析器
- 上线不到两年 腾讯“小鹅拼拼”被曝即将关停
- 星巴克全面上线美团外卖 并联合美团推出“1971客厅”
- 荣耀Magic V真机首曝:2022折叠机的引领之作
- 万达辟谣王健林去世:已报警!造谣账号已封禁
- 微信公布6月朋友圈十大谣言 包括不打疫苗不让上飞机高铁等
- 集五福开奖啦!六年累计7亿人参加 今年你中了多少?
- 路痴福音!高德地图上线真AR步行导航,可实景指引
- “秃如其来”的90后,造就了一个蒸蒸日上的产业