-1
def generalarea(self):
  for filename in glob.iglob ('*.tif'):
    img = np.asarray(Image.open(filename).convert('L'))                            
    img = 1 * (img < 127)
    garea = (img == 0).sum()
    print garea

def areasplit(self):
  for filename in glob.iglob ('*.tif'):    
    img = np.asarray(Image.open(filename).convert('L'))                            
    img = 1 * (img < 127)
    areasplit = np.split(img.ravel(), 24) # here we are splitting converted to 1D array
  for i in areasplit:
   sarea = (i == 0).sum()
   print sarea

这两种方法处理工作目录中的 .tif 图像。我需要将前缀 IMAGENAME 添加到数字结果中(如:firstimage、6786876876 或 secondimage___67876876)。如何实现这个想法?

4

2 回答 2

1

例如,对于第一个函数,而不是print garea,您可以:

print "%s___%d" % (filename, garea)

或者"%s, %d"如果你想要一个逗号。请参阅 Python 的关于字符串格式化操作的文档。

于 2013-08-23T12:10:57.770 回答
0

%样式格式将被弃用,最终....所以他们说。

使用新样式(doc)是更好的做法

print "{fname}__{garea}".format(garea=garea, fname=filename)
于 2013-08-27T02:13:59.573 回答