EmbDev.net

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


von Stuart (Guest)


Rate this post
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;

von Duke Scarring (Guest)


Rate this post
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

Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
No account? Register here.