Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
21615 Discussions

"RESIZE IMAGE", I need your help, please

Altera_Forum
Honored Contributor II
1,417 Views

Hello all, 

My name is Khanh :). I am a student and a new comer in digital image processing (DIP). I used to writing some DIP program by Visual C++, it is not difficult very much. But at this time, I want to apply DIP to FPGA :confused:, it is really strange to me :(. Moreover, my final thesis is " resizing image using Verilog". I really need your help about:
  • Resizing image operations. 

  • How to apply my final thesis to DE2 Kit.
Best regards, 

Khanh.
0 Kudos
5 Replies
Altera_Forum
Honored Contributor II
703 Views

Hello Khanh, 

 

I would suggest you get a book about Verilog HDL or try to find some tutorials online. It's going to be hard in the beginning but it's the best way to go about it. Taking a course at your school could speed the process up somewhat. A good tool to have when you learn is a vhdl/verilog simulator like modelsim. You can get it for free on Alteras homepage. 

 

Best Regards, 

Ola Bångdahl
0 Kudos
Altera_Forum
Honored Contributor II
703 Views

In addition to the book, I'd see if you can still audit your local verilog course. You're going to try and do image processing with no knowledge of verilog. You need to spend some time educating yourself on Verilog before you and even attempt such a thing. 

 

Jake
0 Kudos
Altera_Forum
Honored Contributor II
703 Views

Don't let verilog fool you, it's syntax is very similar to C, but the way it works is very, very different than sequential C. It is more like running a multi-threaded (lots and lots of threads), event-based application. Even that isn't exactly right but knowing that will help you understand that you must handle many things running in parallel. It's not hard necessarily but a different way of thinking. Get a book for beginner's and it will make a lot more sense. Start with very basic designs. Learn to use a simulator! You can get a free but limited version called Modelsim with the free Quartus II download. There is also a free one named Icarus that might help, if you don't have access to Modelsim for whatever reason. Doing your signal processing inside a simulator before you try to put it in hardware will greatly accelerate your learning curve and make you feel more at home than with the hardware (at first). Good luck.

0 Kudos
Altera_Forum
Honored Contributor II
703 Views

Dear all :),  

I appreciate your suggestions (alt1000, jakobjones, Bango). 

I used to study about Verilog, ASIC at basic level before. So I cannot image what I should do in the bigger project. It mean that I do not know how to separate it to small modules with specific functions:confused:. I look forward to receive your clearer suggestions. 

By the way, if you know about image resizing operations, please help me. In my thinking, I resize an image by average pixels value. For example, two sequent pixel (values 20 and 60) can be replaced by one pixel (value 40). 

 

Your faithfully,:o 

Khanh
0 Kudos
Altera_Forum
Honored Contributor II
703 Views

 

--- Quote Start ---  

Dear all :),  

I used to study about Verilog, ASIC at basic level before. So I cannot image what I should do in the bigger project. It mean that I do not know how to separate it to small modules with specific functions:confused:. I look forward to receive your clearer suggestions. 

--- Quote End ---  

 

 

Hi Khanh, there is really no shortcut to learning Verilog. If you have some basic idea of Verilog, that's good enough to begin. I would recommend the Verilog book by Samir Palnitkar. It has very simple programs to practice with and it gradually takes you towards the complicated designs (which is what you want to do, right!). As far as "separating small modules into specific functions" is concerned, you should not bother about it at all at this stage. This is something which you get with experience and practice. 

 

 

--- Quote Start ---  

 

By the way, if you know about image resizing operations, please help me. In my thinking, I resize an image by average pixels value. For example, two sequent pixel (values 20 and 60) can be replaced by one pixel (value 40). 

 

Your faithfully,:o 

Khanh 

--- Quote End ---  

 

 

There are many algorithms for resizing images (which you will find in standard DIP textbooks). What you are talking about here is essentially conversion of a finer-resolution to coarse resolution by averaging. There can be many other ways to achieve this eg. instead of taking average, you can have a median. You don't need any specific DIP function for this. This is plain arithmetic design.
0 Kudos
Reply