我在我的项目中有一个方法,在该方法中验证像素是否具有所需的可靠性(按照它的分类作为边缘),并按以下方案绘制像素:

White -> pixel doesn't have the required reliability

Blue -> pixel has the required reliability and it was classified as not edge

Red -> pixel has the required reliability and it was classified as an edge这是我的代码:

def generate_data_reliability(classification_mean, data_uncertainty, x_axis_label, y_axis_label, plot_title,

file_path, reliability):

"""

:classification_mean : given a set of images, how was the mean classification for each pixel

:param data_uncertainty : the uncertainty about the classification

:param x_axis_label : the x axis label of the data

:param y_axis_label : the y axis label of the data

:param plot_title : the title of the data

:param file_path : the name of the file

"""

plt.figure()

# 0 -> certainty

# 1 -> uncertainty

r = 0

b = 0

w = 0

has_reliability = numpy.zeros((data_uncertainty.rows, data_uncertainty.cols), float)

for x, y in product(range(data_uncertainty.rows), range(data_uncertainty.cols)):

# I the uncertainty is > then the required reliability, doesn't show it

if data_uncertainty.data[x][y] > (1.0 - reliability):

has_reliability[x][y] = 0.5

w += 1

else:

has_reliability[x][y] = classification_mean.data[x][y]

if has_reliability[x][y] == 1.0:

r += 1

if has_reliability[x][y] == 0.0:

b += 1

print reliability, w+r+b, w, r, b

plt.title(plot_title)

plt.imshow(has_reliability, extent=[0, classification_mean.cols, classification_mean.rows, 0], cmap='bwr')

plt.xlabel(x_axis_label)

plt.ylabel(y_axis_label)

plt.savefig(file_path + '.png')

plt.close()这是我得到的印刷品:

>>>> Prewitt

0.8 95100 10329 0 84771

0.9 95100 12380 0 82720

0.99 95100 18577 0 76523可以看出,随着要求的可靠性提高,像素越少,可靠性就越高(其中更多的像素会变成白色,而且没有一个是红色的)。

但是,这是我得到的情节:

我不知道为什么,如果我有更少的像素与所需的可靠性,我没有得到更多的白色像素,但这些红色的。我不会改变我的对象,惹恼他们。吴

我在大约3个小时就遇到了这个问题,不知道哪里出了问题。

编辑:

在此cmap中,0是蓝色,0.5是白色,1是红色,不是吗?我很确定问题是因为我使用的是分色色彩映射,有时并没有中心值。例如,在我发布的情况下,我没有红色值,所以我的值在0.5和1之间变化。然后,matplotlib自动将我的最小值设置为红色,并将我的最大值设置为蓝色。但我怎么能这样做?我选择这个原因想要在方案中表示颜色:0 =蓝色,0.5 =白色,1 =红色(我的值始终为0,0.5或1)。

任何帮助将非常,非常感谢。

先谢谢你。

python cmap,使用Matplotlib绘图时获取意想不到的输出 - Cmap - Python相关推荐

  1. python plt pyplot matplotlib绘图时形状异常

    问题 如图,绘制的饼图和条形图叠加了,但是又不彻底. 原因 绘制过程中我前面绘制了很多图,添加了很多参数,共同作用下导致此问题的出现. 解决 使用plt.close()关掉绘图重新绘制即可. prin ...

  2. 解决Python使用matplotlib绘图时出现的中文标签报错问题

    Python中使用matplotlib绘图时发现控制台报如下问题,可知是中文字体问题 解决方案 只需设置下参数即可,设置代码如下 import matplotlib.pyplot as pltplt. ...

  3. Python:matplotlib绘图时指定图像大小,放大图像

    matplotlib绘图时是默认的大小,有时候默认的大小会感觉图片里的内容都被压缩了,解决方法如下. 先是原始代码: from matplotlib import pyplot as pltplt.f ...

  4. python画图显示不了中文_完美解决Python matplotlib绘图时汉字显示不正常的问题

    Matplotlib是一个很好的作图软件,但是python下默认不支持中文,所以需要做一些修改,方法如下: 1.在python安装目录的Lib目录下创建ch.py文件. 文件中代码为: 保存,以后通过 ...

  5. Python+matplotlib绘图时显示中文的设置方法

    封面图片:<Python程序设计基础与应用>(ISBN:9787111606178),董付国,机械工业出版社 图书详情: =================== 在使用Python+mat ...

  6. python 3d绘图 汉字_完美解决Python matplotlib绘图时汉字显示不正常的问题

    Matplotlib是一个很好的作图软件,但是python下默认不支持中文,所以需要做一些修改,方法如下: 1.在python安装目录的Lib目录下创建ch.py文件. 文件中代码为: 保存,以后通过 ...

  7. 使用可视化库matplotlib绘图时,plt.show()过后只出现Figure size 640x480 with 1 Axes而没有生成图片

    使用可视化库matplotlib绘图时,plt.show()过后只出现<Figure size 640x480 with 1 Axes>而没有生成图片 解决: 可以在前面添加 plt.fi ...

  8. Python数据分析 2.Matplotlib绘图—常用统计图

    Python数据分析 2.Matplotlib绘图-常用统计图 1.绘制散点图 from matplotlib import pyplot as plt from matplotlib import ...

  9. 使用matplotlib绘图时出现数据重复重叠问题

    使用matplotlib绘图时出现数据重复重叠问题 问题如下: 写了一个使用matplotlib绘图的函数,功能主要是绘图然后保存为图片.但在for循环中调用这个函数时会导致第二次循环时绘制的图是在第 ...

最新文章

  1. Ubuntu Server中安装keepalived
  2. PHP-SESSION深入理解
  3. 《骑马与砍杀》:CRPG精神的另类复活
  4. mac m1下安装kubenetes的dashboard
  5. java 变参 使用数组调用_java中的可变参数使用方法
  6. QtJava笔记-Qt与Java进行SSL双向认证(Qt客户端,Java服务端)
  7. 03 Python爬虫之Requests网络爬取实战
  8. js将一维数组分割成每三个一组的算法
  9. php调试利器之phpdbg
  10. matlab排序函数sort的使用方法
  11. 怎样对系统进行优化?
  12. X86与X64之间的区别
  13. 基于Esp8266的远程开机棒设计和实现
  14. php openssl 生成der,openssl asn.1 生成DER文件,把DER文件转换成内部数据结构
  15. 这家安全厂商避谈“软件定义”,我却要为它的“反骨”点赞
  16. Elixir: Enum函数总结
  17. Java 绘制带圆角头像的二维码
  18. 均方根误差(RMSE)、平均绝对误差(MAE)、标准差
  19. 玩转西塘:感受水墨江南的迷醉风情
  20. linux怎么使用4g模块的网络,在ARM-linux上实现4G模块PPP拨号上网(示例代码)

热门文章

  1. Jenkins首次安装选择推荐插件时出现“: No such plugin: cloudbees-folder” 解决方案
  2. 面向对象的讨论-2022年5月4日
  3. 三栏布局:左右固定,中间自适应的几种方式
  4. PE系统下安装windows server 2003
  5. 服装ERP软件首要的好处都有哪些?
  6. 图像形状特征(五)--自由式变形模板
  7. ufs2.1 android bench,小米6使用的是UFS2.1闪存吗?小米6闪存AndroBench跑分成绩
  8. 在云计算大数据学习中心学习的第一天
  9. 改变input框disabled 属性的背景颜色以及字体颜色
  10. android 模拟器 启动,android开发之启动模拟器并安装游戏apk