Command Line Error (Linux)
Hi! I'm having an error when I try to feed my images in to the program...
Here's the commands I used
convert testcard.png -flatten -resize 909x511 testcard.pgm
convert testcard.png -flatten -resize 909x511 testcard2.pgm
./apt-encode testcard.pgm testcard2.pgm > encode.raw
And here's the error I get:
apt-encode: apt-encode.cpp:79: void Image::load(): Assertion `buf[1] == '2'' failed.
Aborted
The convert command (ImageMagick) generates P5 files by default. P5 files are PGM files encoded in binary instead of ASCII, but apt-encoder expects an ASCII-encoded PGM file (P2). I've personally used GIMP to generate the images, and I am not familiar with how ImageMagick works. I've seen a suggestion on the ImageMagick forum that recommends to Use -depth 8 or -compress none..
Can you try it that way and let me know if it works? Or try to convert your image with GIMP instead?
Wow! Thank you for the prompt response!
So I tried a few things + what you recommended
First I tried what you said:
My Commands:
pi@raspberry:~ $ convert testcard.png -resize 909x909 -depth 8 testcard.pgm
pi@raspberry:~ $ convert testcard.png -resize 909x909 -depth 8 testcard2.pgm
pi@raspberry:~ $ ./apt-encoder/a.out ./testcard.pgm ./testcard2.pgm
Error Response:
a.out: apt-encode.cpp:79: void Image::load(): Assertion `buf[1] == '2'' failed.
Aborted
I also tried the -compress none and also I tried both together, but they both gave me the same response...
Next I tried another forum recommended idea.
My Commands:
pi@raspberry:~ $ convert testcard.png testcard.jp2
pi@raspberry:~ $ convert testcard.jp2 -compress none pgm:- | tr -s '\012\015' ' ' > testcard.pgm
pi@raspberry:~ $ convert testcard.jp2 -compress none pgm:- | tr -s '\012\015' ' ' > testcard2.pgm
pi@raspberry:~ $ ./apt-encoder/a.out ./testcard.pgm ./testcard2.pgm
Error Response:
a.out: apt-encode.cpp:80: void Image::load(): Assertion `buf[2] == '\n'' failed.
Aborted
I'm slightly confused as to what I should do/try next...
did you convert into ascii? because it seems like the conversion software isn't using ascii. using raw conversion format repilacated your error: apt color2.pgm > encode.raw Assertion failed: buf[1] == '2', file apt2.cpp, line 79 Solution: use gimp or use convert filein -compress none fileout.pgm it works for me