visionhack

Turn math into pixels

Qt-Cuda: My new playground for computer-vision

| Keine Kommentare

designedforcudaTwo weeks ago I started a new project, it’s called Qt-Cuda. As the name suggests it combines the Qt-Framework with Cuda-enabled algorithms. Algorithms for computer-vision to be precise.

Qt will only be used for the graphical interface and delegates most computations to backend-libraries, e.g. openCV, PCL and self-written ones.

Why self-written?

I hear you screaming: Why do he reinvent the wheel, when he is still using openCV? This is because I want to train implementing some basic image filters which I’ve learned during my image processing lecture. And the self-written implementations will be limited to simple filters like gaussian-blur, sobel operations, historgram calculations (histogram building/equalization) and so on. Later I will cover algorithms like feature-tracking and 3D-reconstruction. These will be implemented under heavy usage of openCV and PCL

Currently there are only basic operations implemented like loading,  displaying, rotating and zooming pictures.

Current TODOs

  • Actually I’m occupied by conversioning (image-)data from its internal representation from openCV’s IplImage to Qt’s QImage and vise versa. The image-display maybe will be reimplemented using QtOpenGL someday.
  • Implementing basic histogramm operations (calculation, equalization, thresholding)
  • System quering, if actual configuration is capable to run Cuda enabled code
  • Interface tweaks
    • Implementing widgets to use within a toolbox
    • Layout optimization
    • Mouse support for QGraphicsView, e.g. mouse-wheel events
    • Reimplementing QWidget for displaying neat histogramm charts

Screenshot

Nothing special, but a small description.

qt-cuda displaying an image of lena

qt-cuda displaying an image of lena

On the right-hand side you can see a QDockWidget containing some QPushButtons for loading, rotating and zooming the image. On the left-hand side a QGraphicsView loads a QPixmap to display the image.

Where can you find it?

If you are interested you can take a look at my Github repository. I’m using Qt-Creator and this is the recommended way if you want to build the source code. There is a Qt project file included which will take care of all neccessary things.

All other build-dependencies are explained in the project’s readme file.

Feel free to contact me if you have any suggestions or improvements.

Facebooktwittergoogle_plusredditpinterestlinkedinmailby feather

Autor: pschmidt

Student of computations visualistics. Turns math into pixels. Posts may flavored by raytracing and robotics. Backend engineer at TOMRA. Hiking if afk.

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.