概要
readPPMプロシージャを用いてバイナリ形式(P6)のPPM画像を読み込むと、次のようなエラーが発生する。
/Volumes/momeeSSD/Developer/pien/src/pien.nim(32) pien
/Volumes/momeeSSD/Developer/pien/src/pien.nim(26) rsv
/Users/momiyama/.nimble/pkgs/pnm-2.1.1/pnm.nim(853) readPPMFile
/Users/momiyama/.nimble/pkgs/pnm-2.1.1/pnm.nim(810) readPPM
/Users/momiyama/.nimble/pkgs/pnm-2.1.1/pnm.nim(603) parsePPM
/Users/momiyama/.choosenim/toolchains/nim-1.4.0/lib/pure/strutils.nim(1129) parseInt
Error: unhandled exception: invalid integer: # [ValueError]
原因
バイナリを正しく読み取ることができていないのではないかと思います。
調べたところ、wavファイルのバイナリを読み取りたいという質問に対して、streamを用いると良いと回答されていました。現在、これを使って正しく読み取ることができないか確かめています。
私はNimでファイルを扱うことに慣れていないので、もし何か思い当たる解決策がありましたら教えていただけると助かります。
読み取ろうとした画像(一部)
P6
# Created by IrfanView
1024 768
255
59R6:S04M15N8:S>@Y8:S46O46O,.G02K8:SBB\88R??W9;R;@VCI_PRiHJa6;O6;O;@V=BV7<P8=P:@P:@P;=L79H76H87I@?Q@?Q=8N:7L1.C97L31G:8NIJ_ABWA=T<:P<:RAAY@>VGE]GE]:8P<<V::T8:Q>@W=BX>CY?AX46M79P8:Q79NCEZ@EY?DX:?R49L<AW38N48Q:>W>D\7=U7=S7?T8@W*5K-8N8CY:@Z39S59R15N13LCE^JLeDF_CG`@E[;@V5:N55M<<TPNfJH`CC[??W:8P64LB@XEC[CC[@@X<<VAA[<<TBBZLIdHE`;;UGGaMJiEEa44P/1J=?X79R9;R>@W>>X44N$"::8P<8O73J51H=9P95L<8OF@ZJD^D@YA=VGE[KI_IG_LJbMNc>?TFD\IIaKLaBDY:<Q?AVABW=>S?@UIJ_DF[=?TDF[GI^DI]MRfUWlQShKNa?BU<=Q78L?=UKIaKIaLJbDBZNLdTRhPNdSSmPPj@BY13J9;
(長すぎるので省略)
概要
readPPMプロシージャを用いてバイナリ形式(P6)のPPM画像を読み込むと、次のようなエラーが発生する。/Volumes/momeeSSD/Developer/pien/src/pien.nim(32) pien /Volumes/momeeSSD/Developer/pien/src/pien.nim(26) rsv /Users/momiyama/.nimble/pkgs/pnm-2.1.1/pnm.nim(853) readPPMFile /Users/momiyama/.nimble/pkgs/pnm-2.1.1/pnm.nim(810) readPPM /Users/momiyama/.nimble/pkgs/pnm-2.1.1/pnm.nim(603) parsePPM /Users/momiyama/.choosenim/toolchains/nim-1.4.0/lib/pure/strutils.nim(1129) parseInt Error: unhandled exception: invalid integer: # [ValueError]原因
バイナリを正しく読み取ることができていないのではないかと思います。
調べたところ、wavファイルのバイナリを読み取りたいという質問に対して、
streamを用いると良いと回答されていました。現在、これを使って正しく読み取ることができないか確かめています。私はNimでファイルを扱うことに慣れていないので、もし何か思い当たる解決策がありましたら教えていただけると助かります。
読み取ろうとした画像(一部)
(長すぎるので省略)