[英]Python 'rawpy._rawpy.RawPy' object has no attribute 'imread' after second pass
我嘗試處理一系列DNG原始圖片文件,並且對於第一遍(第一批fils)來說一切都很好。 當我嘗試通過for-next循環進行第二次讀取第二個DNG文件時,在執行帶有raw.imread(file)的行時收到錯誤消息“ rawpy._rawpy.RawPy”對象沒有屬性“ imread” )作為原始文件:”。
import numpy as np
import rawpy as raw
import pyexiv2
from scipy import stats
for file in list:
metadata = pyexiv2.ImageMetadata(file)
metadata.read()
with raw.imread(file) as raw:
rgb16 = raw.postprocess(gamma=(1,1), no_auto_bright=True, output_bps=16)
avgR=stats.describe(np.ravel(rgb16[:,:,0]))[2]
avgG=stats.describe(np.ravel(rgb16[:,:,1]))[2]
avgB=stats.describe(np.ravel(rgb16[:,:,2]))[2]
print i,file,'T=', metadata['Exif.PentaxDng.Temperature'].raw_value,'C',avgR,avgG,avgB
i+=1
我已經嘗試關閉原始對象,但是通過谷歌搜索,我了解到使用上下文管理器時沒有必要。 幫助或建議非常歡迎。 提前致謝。
您正在用正在讀取的圖像覆蓋rawpy
模塊的別名( raw
)。 這意味着您將在第二遍循環中得到一個錯誤。
import rawpy as raw # here's the first thing named "raw"
#...
for file in list:
#...
with raw.imread(file) as raw: # here's the second
#...
為變量之一選擇一個不同的名稱,您的代碼應該可以工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.