EmbDev.net

Forum: FPGA, VHDL & Verilog Creating a .ppm file


Author: Stuart (Guest)
Posted on:

Rate this post
0 useful
not useful
Hi all

I find difficulty in creating an Image file of .ppm format. I tried 
writing a file with rgb data in hex format. But when written the image 
is wrong . I just get a grayscale image.

When I tried opening a random .ppm image in text format it is not in 
human readable format.

I am still trying to find in what format the data is written into the 
file. (binary and hex did not work).

Please help.

Thanks in advance

Code:
  ppm_file : process
  file ppm_file : TEXT ;
  variable l_handle : line ;
  variable P6    : string(1 to 2 ) := "P6";
  variable name  : string(1 to 17) := "# ppm image";
  variable size  : string (1 to 7) := "800 480";
  variable space : string (1 to 1) := " ";
  variable scope : string (1 to 3) := "255";
  VARIABLE char : integer:= 0;
  begin

    file_open(ppm_file,"image_ppm",write_mode);

        write(l_handle,P6);
        writeline(ppm_file,l_handle);
        write(l_handle,name);
        writeline(ppm_file,l_handle);
        write(l_handle,size);
        writeline(ppm_file,l_handle);
        write(l_handle,scope);
        writeline(ppm_file,l_handle);

    loop
      wait until(rising_edge(clk));

         write(l_handle, (to_hstr(red))); write(l_handle, space);
         write(l_handle, (to_hstr(green))); write(l_handle, space);
         write(l_handle, (to_hstr(blue)));write(l_handle, space);

         writeline(ppm_file,l_handle);
    end loop ;
    file_close(ppm_file);
  end process ppm_file;

Author: Duke Scarring (Guest)
Posted on:

Rate this post
0 useful
not useful
Stuart wrote:
> When I tried opening a random .ppm image in text format it is not in
> human readable format.
>
> I am still trying to find in what format the data is written into the
> file. (binary and hex did not work).

According to http://en.wikipedia.org/wiki/Netpbm_format is P6 the 
identifier for binary and P3 for readable ASCII.

I suggest to start with ASCCI (P3).

Duke

Reply

Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [avrasm]AVR assembler code[/avrasm]
  • [vhdl]VHDL code[/vhdl]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]




Bild automatisch verkleinern, falls nötig
Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.