小编Jak*_*kob的帖子

使用numpy在Python中使用TIFF(导入,导出)

我需要一个python例程,可以打开并将TIFF图像导入到numpy数组中,这样我就可以分析和修改包含的数据,然后再将它们保存为TIFF.(它们基本上是灰度的光强度图,表示每个像素的相应值)

我试图找到一些东西,但没有关于TIFF的PIL方法的文档.我试图搞清楚,但只有错误的模式/文件类型不支持错误.

我需要在这里使用什么?

python tiff numpy python-imaging-library

67
推荐指数
7
解决办法
15万
查看次数

matplotlib.pcolor很慢.备择方案?

我想绘制一个2D数组(大约1000x1000),其值对应于色标.所以我使用了matplotlib.pcolor,它就是这样做的但是由于某种原因,当它达到那些尺寸时(例如2分钟左右才能绘制)它是超级慢的.这是什么原因?将float值转换为int16左右有帮助吗?pcolor还有其他选择吗?

from pylab import *

data=genfromtxt('data.txt',autostrip=True, case_sensitive=True)
pcolor(data,cmap='hot')
colorbar()
show()
Run Code Online (Sandbox Code Playgroud)

data.txt包含数组.加载过程确实需要几秒钟,但主要的计算时间肯定是由pcolor()和show()函数使用(大约每个60-90秒).

python numpy matplotlib

8
推荐指数
2
解决办法
5384
查看次数

numpy.array的"I; 16"图像文件

我想使用TIFF图像有效地保存大量的测量数据.将它们设置为mode ="I; 16"(对应于我的16位数据范围),它们产生2MB文件(~1000x1000"像素").这很好.

但是,在分析它们时,我遇到了将它们重新转换为数组的麻烦.对于32位数据( - >"I"),numpy.array命令工作正常.在"I; 16"的情况下,结果是0D numpy数组,其中TIFF为[0,0]条目.

有没有办法让它工作?我真的想避免使用32位图像,因为我不需要该范围,它可以将所需的硬盘空间加倍(计划中有很多很多测量...)

python tiff numpy python-imaging-library

6
推荐指数
1
解决办法
5120
查看次数

将<Key>绑定到Tkinter中的条目

当我将事件绑定到条目并读取内容时,更改会以某种方式滞后.我想"动态更新"另一个条目,一旦条目1改变,它就会显示各种条目内容的计算结果.但不知何故,这种变化并未立即得到认可,只有前述的变化.不知道问题是否清楚:如果我进行了n次更改,则会识别出更改为n-1的更改.如果数字是1000并且我按退格两次,则entry_1.get()将产生100而不是10.希望你明白我的意思现在:)

代码段(简化):

self.entry_1.bind('<Key>',lambda d: self.update())

def update(self):
    success=True
    try:
        float(self.entry_1.get())
        float(self.entry_1.get())
    except ValueError: success=False
    if success:

        self.entry_3.delete(0,"end")
        x=(float(self.entry_1.get())*float(self.entry_2.get())
        self.entry_3.insert("end", "%g" %x)
Run Code Online (Sandbox Code Playgroud)

可能是什么原因?

python binding tkinter

5
推荐指数
1
解决办法
2775
查看次数

在 Tkinter 中保持菜单打开

我想在单击级联内的命令按钮后保持菜单级联打开。因此,它基本上仅在用户单击其他任何地方时才会关闭(就像通常一样)。似乎无法找到正确的选项或方法来在回调中打开所述菜单。invoke() 函数仅适用于级联中的按钮,对吗?你会怎么做呢?

python tkinter

5
推荐指数
1
解决办法
2108
查看次数

我的Tkinter GUI太......静态?

我使用Tkinter GUI来启动测量和分析过程,基本上只需点击一下按钮即可.由于这些测量可能需要一段时间,我试图包括一个进度条,即这个:

http://tkinter.unpythonic.net/wiki/ProgressMeter

但是当我启动这个过程时,我的整个Tkinter窗口变成了废话直到测量完成并且它有点重新加载,我的进度条设置得太过100%.这有点不是我想要发生的事情.

那里发生了什么?我对这整个编程工作都很陌生,所以我猜不到所有的工具.我是否需要引入一个单独的线程或类似的东西,以便测量和tkinter主循环(那是什么?)同时运行?如果是这样,我该怎么做?

python tkinter

5
推荐指数
1
解决办法
307
查看次数

Tkinter Optionmenu回调不起作用

由于某种原因,我无法获得此选项菜单,因此请调用回调函数。这些小部件需要某些特殊处理吗?(该函数本身有效,我可以从一个按钮调用它。)

self.shapemenu=Tkinter.OptionMenu(self.frame,self.shape,"rectangle", "circular", command=self.setshape)
Run Code Online (Sandbox Code Playgroud)

self.shape是一个Tkinter.StringVar,显然setshape是回调函数。

我在这里做错了什么?

python tkinter

3
推荐指数
1
解决办法
1056
查看次数

生成图案化的numpy矩阵

是否有可能在"0"的休止矩阵中生成一个圆形图案为"1"的numpy矩阵?基本上是一个

generate(ysize, xsize, ycenter, xcenter, radius)
Run Code Online (Sandbox Code Playgroud)

应该看起来像

[000000000]
[000000000]
[000001000]
[000011100]
[000111110]
[000011100]
[000001000]
[000000000]
Run Code Online (Sandbox Code Playgroud)

(好吧,这看起来很愚蠢,但在1000x1000规模上,这是有道理的)

numpy有这种可能吗?

python numpy matrix

2
推荐指数
2
解决办法
282
查看次数