EmbDev.net

Forum: FPGA, VHDL & Verilog Writing into a .ppm file in VHDL


von Nitish K. (Company: Student) (nitish_55)


Rate this post
useful
not useful
Hi all

I want to write into a .ppm file using RGB data as inputs.

Has anybody got any VHDL code for reference?
Please help.

Many Thanks.

von Lothar M. (Company: Titel) (lkmiller) (Moderator)


Rate this post
useful
not useful
Nitish Kv wrote:
> I want to write into a .ppm file using RGB data as inputs.
It looks fairly easy:
http://orion.math.iastate.edu/burkardt/data/ppm/ppm.html
You will need a little bit textio and then you're done.

> Has anybody got any VHDL code for reference?
What about you trying it on your own. And when an actual question occurs 
you will find help here. But no one is intended to do all of your 
homework...

von jen opt (Guest)


Rate this post
useful
not useful
I am pretty sure he has a RGB sensor input in real and want's to store 
the data. I wonder if "text.io" is the helper in this case.

von Lothar M. (Company: Titel) (lkmiller) (Moderator)


Rate this post
useful
not useful
jen opt wrote:
> I am pretty sure he has a RGB sensor input in real and want's to store
> the data.
I had that thought for the shortest possible time span. But the task to 
do this completely in hardware (=VHDL) sounds totally unrealistic. And 
so my second thought is that it must be for simulation only.

But lets wait for the answer...

von Nitish K. (Company: Student) (nitish_55)


Rate this post
useful
not useful
Thanks all

It is for simulation(for comparison tests).

There is no standard resolution for the image. The RGB data can be of 
any size. It is given as an input. And the input data must be written 
into a .ppm file which can be opened as an image.

von jen opt (Guest)


Rate this post
useful
not useful
Me too Lothar but we also had these guys in here who asked for such a 
design being capable o doing this, but it seems as if you were right 
this time :-)

von Nitish K. (Company: Student) (nitish_55)


Rate this post
useful
not useful
Hi
Thank you for your response.
 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 Nikolaos K. (Company: http://www.nkavvadias.com) (nikolaos_k)


Rate this post
useful
not useful
Hi,

I would suggest having a look to Martin J. Thompson's "image processing 
primitives". He has a good and generic approach for reading and writing 
ASCII PGM images. It should be somewhere on github, google for it.

I have built upon this work, in order to support PBM, PGM and PPM (if i 
recall correctly both binary and ASCII).

Let me know if you are interested in my version, it is on sale.


Best regards
Nikolaos Kavvadias
http://www.nkavvadias.com

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.