python--TypeError: 'int' objectt is not interable

  目的:批量本地讀圖進行語義分割處理

  錯誤提示如圖:

       搜索出來的結果一般是說Python在迭代的時候需要加 range 但是介於本文已經加了,所以問題不出現在這裏.

     根據錯誤提示,發現是在 image.size這兒出問題的,所以應該要敏感地覺察出是輸入圖片有問題,而不是迭代有問題.

     可以用下面的輸出指令查看圖像格式.

    

print(image.dtype)

本文這裏一開始輸出是Unit8,和需求不匹配,所以需要改.(可見,Python讀圖和處理圖時也是需要注意使用的圖像類型的,感覺自己有點愚蠢了...)

image = Image.fromarray(coll[i],mode='RGB')

   具體的python中的圖像格式問題,下一篇會轉載查到的別人寫的資料.

   所以最終的代碼如下:   

#批量local讀取圖片  yyt
data_dir="/mnt/yyt/slam/colmap_data/ColMap/gerrard-hall/images"
str=data_dir + '/*.JPG'


def run_visualization(num,image):
  """Inferences DeepLab model and visualizes result.""" 
  try:
    #orignal_im = Image.open(path)
    #print('running deeplab on image %s...' % path)
    #num = np.str(i)
    orignal_im = image
    resized_im, seg_map = MODEL.run(orignal_im)
    vis_segmentation(num,resized_im, seg_map)
  except IOError:
    #print('Cannot retrieve image. Please check path: ' + path)
    print('Cannot retrieve image.')
    return


coll = io.ImageCollection(str)
#print(len(coll))
for i in range(len(coll)):
    IMAGE = Image.fromarray(coll[i],mode='RGB')
    num = np.str(i)
    run_visualization(num,IMAGE)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章