Image processing and computer graphics
Here you will find documents, presentations and other stuff for lectures on computer vision and computer graphics. We start with colors, color models, image formats, including compression methods, and image acquisition, focusing on medical image acquisition techniques. Next, we talk about computer algorithms for image enhancement, image segmentation and image recognition, including machine learning problems. Everything is illustrated with computer codes (C or Python) that utilize OpenCV and OpenGL libraries. The official ECTS card for the lecture is here.
- Colors and color spaces (pdf)
- Image acquisition (pdf)
- Image enhancement methods (pdf)
- Segmentation, edge detection (pdf)
- Image descriptors, ABC of pattern recognition (pdf)
- Survey on image processing Software (pdf)
- Projections and transformations in 3D space, 3D rendering (pdf)
- Programming for image and video processing (pdf)
- Image and video coding (compression) (pdf)
Python example codes for image processing (OpenCV)
Python example codes for video processing (OpenCV)
Python example codes for computer graphics (OpenGL)
Python example codes for ITK and VTK
Online 3D viewers:
Slicedrop renders Nifti 3D volumes and STL 3D models.Viewstl renders 3D STL meshes.
Excercises:
- Something wrong with colors. Correct it. (ImageJ, GIMP) Exc1.jpg
- Remove salt and pepper noise and correct the image histogram. (ImageJ, GIMP) Exc2.bmp
- Remove moire (ImageJ, GIMP)Exc3.bmp Tip: Install the FFT plugin for GIMP. GIMP_FFT.zip
- What may be a sequence of actions for segmentation of bacteria? (ImageJ, GIMP)Exc4.jpg
- There is a codec problem. Correct it. (VirtualDub, Avic)Exc5.avi
- What is a color of the car in video? How many guns are there? Make a playable video sequence out of the avi file. (GraphEdit, VirtualDub)Exc6.avi
- How many voxels fit in the tetrahedron? How many voxels fit in the tube? (MRIcro, MaZda)Exc7.dicom (zip)
- Estimate the brain volume in voxels. (MRIcro, MaZda)Exc8.dicom (zip)
- Segment endoscopic images. Exc9.zip
- Segmentation (barley+texture). Exc10.zip
- Discriminant analysis (rice varieties, texture segmentation). Exc11.zip
Code samples:
- Simple Windows application (Windows API + GDI example) win_szab.zip
- Bitmap viewer (Windows API + GDI example) bmp_szab.zip
- Simple OpenGL applicationr (Windows API + OpenGL example) gl_szab.zip
- Programming task - write unformatted image viewer (in Polish) gk_zad.zip