EmbDev.net

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


Author: Nitish Kv (Company: Student) (nitish_55)
Posted on:

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

Author: Lothar Miller (lkmiller) (Moderator)
Posted on:

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

Author: jen opt (Guest)
Posted on:

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

Author: Lothar Miller (lkmiller) (Moderator)
Posted on:

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

Author: Nitish Kv (Company: Student) (nitish_55)
Posted on:

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

Author: jen opt (Guest)
Posted on:

Rate this post
0 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 :-)

Author: Nitish Kv (Company: Student) (nitish_55)
Posted on:

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

Author: Nikolaos Kavvadias (Company: http://www.nkavvadias.com) (nikolaos_k)
Posted on:

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

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.