2016-12-01 10 views
1

は、私たちは例を見てみましょう:次のようにASCIIモードでpbmファイルのサイズを読み取る方法は?

PBMファイル「imFile.pbmは」ピクセルが含まれています

P1 
# Comment 
9 6 
0 0 0 0 0 0 0 0 0 
0 1 1 0 0 0 0 0 0 
0 1 1 0 0 0 0 0 0 
0 1 1 0 0 0 0 0 0 
0 1 1 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0  

どのように私は、画像の幅と高さを決定することができます。私は次のコードを使用しましたが失敗しました。

with open("imFile.pbm", 'rb') as f: 
    image = f.size 
    print image 
    f.close() 

ubuntu14.04 osでコンパイルすると、エラーが表示されます。どんな提案も感謝します。前もって感謝します。

+0

幅と高さは、コメントをスキップし、最初の後の最初の行に、ファイル内の権利があります。それは ''サイズ ''のものではありません。ファイルを読み込んで解析する必要があります。 – Amadan

+0

@アマダン - どうすればいいですか?私はpleseを説明できますか? –

答えて

0

ファイル内の最初の行の後ろの最初の行に、コメントをスキップして幅と高さが表示されます。それは大きさのものではありません。ファイルを読み込んで解析する必要があります。

with open("imFile.pbm", 'r') as f: 
    lines = f.readlines() 
lines.pop(0)      # skip header 
line = lines.pop(0)    # get next line 
while line.startswith("#"):  # repeat till that line is not a comment 
    line = lines.pop(0) 
width, height= line.split()  # split the first non-comment lin 
print("%s x %s" % (width, height)) # => 9 x 6 
関連する問題