Image Processing with Terasic FPGA-Boards

Поділитися
Вставка
  • Опубліковано 20 гру 2024

КОМЕНТАРІ • 63

  • @FPGABeginner
    @FPGABeginner 4 роки тому +4

    I tried to start with FPGA programming, but didn't really get my head around it.
    I found the VHDPlus IDE and with the simple language, embedded libraries and other features it helped me a lot to make some cool projects :)
    Just in case someone has the same problem

  • @مروانعبدالخالقذنون

    Dear Sir, Thank you very much for your helpful videos. I only have the DE 10 FPGA board. Please, can I do this tutorial without using the additional board (i.e. HDMI Rx)?

    • @marcowinzker3682
      @marcowinzker3682  2 роки тому +1

      If you don't have a video input, you can use an image generator on the FPGA. There is a video for that: Image Generator for DE10-Lite FPGA Evaluation Board
      ua-cam.com/video/qw2aAbzBLH4/v-deo.html

    • @مروانعبدالخالقذنون
      @مروانعبدالخالقذنون 2 роки тому

      Sir, thank you very much for replying.

  • @firedrive45
    @firedrive45 Рік тому

    ​ @marcowinzker3682 Hi Mr.Winzker, I am developing the implementation of image correction on camera feed and wanted to know what kind of FPGA approach would be adequate for changing the addresses (positions within the images) of pixels. Each pixel has an initial address and each pixel has a final address at which they should be displayed instead. Please let me know and thanks for the great videos. This is done at 30Hz with 1920x1080 resolution. Is such a thing even possible?

    • @marcowinzker3682
      @marcowinzker3682  Рік тому +1

      For this task you need a large memory. The on-chip memory of an FPGA is not suited, so you need an external memory like SRAM or DRAM. Then you have to calculate the data rate for accessing the memory.
      You find an example in the following paper:
      M. Winzker; P. Pirsch; J. Reimers, "Architecture and memory requirements for stand-alone and hierarchical MPEG2 HDTV-decoders with synchronous DRAMs," IEEE ISCAS 1995.

  • @مروانعبدالخالقذنون

    Dear doctor
    I am beginner in FPGA field.
    Please, Could I use a VHDL code to process a video in real-time?
    If you give me any advice to do that.
    Thanks for your videos.

    • @marcowinzker3682
      @marcowinzker3682  3 роки тому +2

      The lectures of "FPGA FIR Filter" are a good starting point. They have ready to use VHDL code on GitHub. First lecture video is: ua-cam.com/video/LO2DgIsEml4/v-deo.html

    • @مروانعبدالخالقذنون
      @مروانعبدالخالقذنون 3 роки тому

      Thank you very much doctor for interesting.

  • @jcavalcante23
    @jcavalcante23 3 роки тому +1

    Hi Professor: I need a good fpga course, Digital processing video and image, do you know any place I Can learn It (online training)?

    • @marcowinzker3682
      @marcowinzker3682  3 роки тому +1

      Sorry, I don't have an overview about such courses.

  • @anishkaverma7732
    @anishkaverma7732 2 роки тому +1

    Hi not be able to download the source code. Can you please share the google link

    • @marcowinzker3682
      @marcowinzker3682  2 роки тому

      Thank you for the comment. My cloud-provider changed their file structure. The link in the video description has been updated and should be OK now. Please comment again, in case it does not work.

  • @yihuang200
    @yihuang200 8 місяців тому

    professor, is it fine if i change the raspberry Pi into my own laptop as the HDMI input? the result of the HDMI receiver software shows lots of read/write fails after i try it. What should i do?

    • @marcowinzker3682
      @marcowinzker3682  8 місяців тому

      Yes, you can use another HDMI source. I only checked the setup with the Raspberry Pi and 720p video format.
      For your error messages, i have two assumptions:
      a) The video format is unknown. Try 720p@60Hz (1280x720 pixel).
      b) There is a problem with the interconnection. Try another cable and another laptop (from a friend).

    • @yihuang200
      @yihuang200 8 місяців тому

      @@marcowinzker3682 Sure, I'll try it, thanks for the assumptions. By the way, the window of the HDMI receiver's software shows like below:
      HDMI-RX
      [TERASIC-00000.001]RX hardware Reset
      I2C Read Fail: Address+1 NACK!
      I2C Write Fail: SubAddress NACK!
      [TERASIC-00000.075]write eeporm-0 fail
      I2C Read Fail: Address+1 NACK!
      I2C Write Fail: SubAddress NACK!
      [TERASIC-00000.092]write eeporm-1 fail
      I2C Read Fail: Address NACK!
      I2C Read Fail: Address NACK!
      I2C Read Fail: Address NACK!
      I2C Write Fail: Address NACK!
      I2C Write Fail: Address NACK!
      I2C Read Fail: Address NACK!
      I2C Read Fail: Address NACK!
      I2C Write Fail: Address NACK!
      Please help me with it, thanks.

    • @marcowinzker3682
      @marcowinzker3682  8 місяців тому

      @@yihuang200 It seems, there is no connection. Maybe the design of the FPGA is not correct. Do you have correct pin assignments? Did you import of the constraints?

    • @yihuang200
      @yihuang200 7 місяців тому

      @@marcowinzker3682 Sir, can you update the files again? thanks!

    • @marcowinzker3682
      @marcowinzker3682  7 місяців тому

      Yes, I did an update: magentacloud.de/s/GjKTHr2GQazibNf

  • @da_druuskee7709
    @da_druuskee7709 4 роки тому

    very interesting video. I have a senior project coming up and i want to try and implement fpga video processing for a camera on a submarine drone. You have any suggestions on any special skill set of fpga programming i should start reading into?

    • @marcowinzker3682
      @marcowinzker3682  4 роки тому

      A free and good English language book is : B. Mealy, F. Tappero , “Free Range VHDL” freerangefactory.org

  • @danielbergmann397
    @danielbergmann397 2 роки тому

    Wahnsinnig interessant die Möglichkeiten eines FPGAs für so innovative Anwendungsfälle wie Image Processing oder Deep learning zu nutzen. Ich habe Embedded Systems im Master als Schwerpunkt gehabt, arbeite jetzt in der industriellen Bildverarbeitung und erwäge in Zukunft zu promovieren. Das Oberthema FPGA in Kombination Image Processing und Deep Learning wäre dabei besonders reizend für mich. Hätten Sie da einen Tipp, an welchem Lehrstuhl ich dort ein Anschreiben schicken kann?

    • @marcowinzker3682
      @marcowinzker3682  2 роки тому +1

      So etwas ist immer abhängig davon, dass gerade ein Projekt in dem Themengebiet finanziert wird. Daher am besten die einschlägigen Job-Portale beobachten. Viel Erfolg!

  • @daneru
    @daneru 4 роки тому

    I am thinking of using a cheap high sample rate A/D chip like AD9288 to sample VGA signal. I would need two since it has two 8 bit channels.

    • @marcowinzker3682
      @marcowinzker3682  4 роки тому

      You need three channels for RGB (red, green, blue). Plus two inputs for horizontal and vertical sync.
      Dedicated decoder are available, for example ADV703.

  • @qamarrasheed8710
    @qamarrasheed8710 9 місяців тому

    Hi Sir,
    I am working on image processing using de 10 fpga. The code provided in the description and comments section is not working. Kindly update it or share via google drive if possible.
    Thanks

    • @marcowinzker3682
      @marcowinzker3682  9 місяців тому

      Hello, there are several DE10 boards and they are really different: Standard, Lite, Nano
      The design is for DE10-Standard.

  • @jesuschrist1501
    @jesuschrist1501 3 роки тому

    this is crazy, how much of a fps was going at while using the processing? and also if hypothetically, say adding on top of each layer, lets say 3 other image processing effects, what fps would it be at in real time? this project got me thinking of doing some drone projects for the police force or some kind of video capture card from the pc to the fpga board in real time accessibly reasonable fps that can apply processing effects on footages lets say by a game footage to detect something. thoughts?

    • @marcowinzker3682
      @marcowinzker3682  3 роки тому +1

      You don't get fps (frames per second) as a result. It works the other way round: You have a frame rate and image resolution and from that you get a pixel frequency, like 74 MHz. Then your digital design must match this frequency.
      If you have several tasks, the FPGA needs sufficient ressources. As you can see at minute 3:55 there is still capacity in the FPGA: Only 5% logic and 4% DSP is used. 40% memory is used, but there is still capacity and maybe memory can be shared.

  • @koreanhomechef8559
    @koreanhomechef8559 4 роки тому

    I have a question. The functions of the borad are
    - image contrast?
    - image segmentation?

    • @marcowinzker3682
      @marcowinzker3682  4 роки тому +1

      You can do nearly any type of processing. In this video I use edge detection.

  • @JonathanSantosDeveloper
    @JonathanSantosDeveloper 4 роки тому

    Marco, Can I use this solution for pixel streamming processing? I am vision impaired and I want to design a hardware with 1 HDMI input and 1 HDMI output, between them I want to invert each pixel. So it should be an implementation at hardware level of "Negative Colors"(an important accessibility feature for me). Do you think can it be something possible with the mentioned setup in this video?

    • @marcowinzker3682
      @marcowinzker3682  4 роки тому

      Yes, this is no problem. We do exactly this processing as a first exercise.

  • @ehabal8781
    @ehabal8781 4 місяці тому

    Hi Doctor
    Can please suggest phd topic based on Vhdl research

    • @marcowinzker3682
      @marcowinzker3682  4 місяці тому

      I regret, I can not provide individual tuition or consulting.

  • @مروانعبدالخالقذنون

    Dear Sir. Please, could you give me a link for a good tutorial about Terasic Boards? Thank you very much.

  • @GDSx2
    @GDSx2 3 роки тому

    Instead of Pi as video source, can we use HPS as a video source? I mean using a video in linux or utilizing USB / Ethernet interface for camera? Then I don't have to spend money to buy HSMC daughter board and raspberry pi to load the video.

    • @marcowinzker3682
      @marcowinzker3682  3 роки тому +1

      Yes, you can generate the image on the FPGA. Please have a look at the lecture video "Image Generator for DE10-Lite FPGA Evaluation Board". ua-cam.com/video/qw2aAbzBLH4/v-deo.html
      You can use that approach as a starting point and make the image generation more advanced.

  • @maheddindolleshwar1697
    @maheddindolleshwar1697 3 роки тому

    sir i want to know that i am doing a project by using a image processing technique ,there i just need to capture the image and to compare it with template image ,to identify the sample. can i do it with help of terasic fpga board or is there any other cheaper way to do this...help me please

    • @marcowinzker3682
      @marcowinzker3682  3 роки тому +1

      The cheapest way is using VHDL simulation. See my video "FPGA FIR Filter: Self-Checking Testbench" ua-cam.com/video/wTIHEX7WWvg/v-deo.html
      If you implement the design on our remote-lab, you get the output image as a file.
      With the Terasic FPGA board you can store the image in the SDRAM and read it out. You need a memory controller for that and it is a nice project but a lot of effort.

    • @maheddindolleshwar1697
      @maheddindolleshwar1697 3 роки тому

      @@marcowinzker3682 i need some personal guidance for my project. Will you please help me

  • @serifylmaz3744
    @serifylmaz3744 Рік тому

    sir,can you update source file again?

    • @marcowinzker3682
      @marcowinzker3682  Рік тому

      Yes, it is updated: magentacloud.de/s/nrGZE7Jnfb6oTqX
      Short question: Do you have access to the Terasic-board or are you using it as a information for another project?

    • @serifylmaz3744
      @serifylmaz3744 Рік тому +1

      @@marcowinzker3682 I have a private terasic board, i am not asking for remote labs. Yes, I will use this project as a information and thank you for sharing source files. Have a nice day. 🙏

  • @Ajithkumar-r2v
    @Ajithkumar-r2v Рік тому

    pls send the source code

  • @duddumonica2593
    @duddumonica2593 5 років тому

    can we do image processing on de10 nano board?

    • @marcowinzker3682
      @marcowinzker3682  5 років тому +1

      For image processing you need image input and image output.
      The DE10-Nano has a video output (HDMI TX) but no video input. So it is not possible to get an image into the FPGA.
      The board has some GPIOs but no high-frequency connector for a VGA or HDMI receiver.
      You have the option to generate a test image inside the FPGA. This is described in the video "Image Generator for DE10-Lite FPGA Evaluation Board". ua-cam.com/users/videoqw2aAbzBLH4 But this is a simple image and you can not provide your own JPG photo.
      Therefore, we developed the remote-lab with image input and output and without cost. :-)

    • @duddumonica2593
      @duddumonica2593 5 років тому

      can't we store images in sd card of hps and do processing using fpga?

    • @marcowinzker3682
      @marcowinzker3682  5 років тому +1

      The bandwidth of the SD card is too low for direct display output.
      But there is an option: The HPS can copy an image from SD card to DDR3-DRAM. Then the HPS can read the image with high datarate and give it to the FPGA. The HPS has 800 MHz and the DRAM a 32 bit interface. A 720p signal requires 24 bit (red, green, blue) at 74.25 MHz. So this should work and is certainly an interesting project.

    • @duddumonica2593
      @duddumonica2593 5 років тому

      Can i know something about arduino pins of de10 nano board?

    • @marcowinzker3682
      @marcowinzker3682  5 років тому +1

      You can attach shields to the Arduino pins, but there is no video-input-shield for Arduino.
      If you have general questions about the Arduino pins, I regret, I cannot give support for the DE10 nano.

  • @shinnychinni4408
    @shinnychinni4408 5 років тому +1

    How load image in fpga using xilinx ise design .
    And in xilinx where i have to find area and dealy .if i change anthoer image . How to do? Plz tell me sir

    • @marcowinzker3682
      @marcowinzker3682  5 років тому +1

      I am sorry, I can not give support for general FPGA questions. The video uses Intel/Altera FPGAs with an HDMI video input. If you have questions to that design you are welcome to aks.

    • @alfaromeo272
      @alfaromeo272 5 років тому

      In general - www.xilinx.com/products/intellectual-property/video-processing-subsystem.html Free to use in latest Vivado versions. Although, like any complex IP use - it's not trivial and requires knowledge and experience in creating system designs even to integrate 3rd party blocks and components

    • @opressedrage
      @opressedrage 4 роки тому

      you can do it from the shell go to xilinx tools then shell after that run this command mfsgen -cvbfs ../image.mfs yourimage.png
      after that go to run as then run configurations and give it the image created