项目作者: saman-nia

项目描述 :
Cutting Edge in Image Processing
高级语言: Jupyter Notebook
项目地址: git://github.com/saman-nia/Cutting-Edge-Image-Processing.git
创建时间: 2017-10-22T23:53:10Z
项目社区:https://github.com/saman-nia/Cutting-Edge-Image-Processing

开源协议:

下载


Image Signal and Image Processing

I have done two major tasks including:

Image Transformations:

Write functions to do each of the following to an input grayscale image of ‘Lena’:

  1. 1. map a grayscale image to its 'negative image', in which the lightest values
  2. appear dark and vice versa.
  3. 2. map the image to its 'mirror image', i.e., flipping it left to right.
  4. 3. add or subtract a random value between [0,255] to every pixel in a
  5. grayscale image, then clip the resulting image to have a minimum value
  6. of 0 and a maximum value of 255.
  7. 4. take the Lena image and break it into 16 * 16 non overlapping
  8. blocks. For each of the block compute the histogram and visualize them in a
  9. 4 by 4 grid (it should fit in a page).
  10. How would you compute the histograms if the image would have been in
  11. color? Are histograms invariant to translation, rotation and scale? For
  12. each of the blocks compute the mean value and show the image of size
  13. 16 * 16 pixels produced (low resolution image).

Canny Edges Detector:

For this assignment you should implement Canny’s edge detection algorithm as
described in the class. Your implementation should take as input a grayscale
image and the edge detection parameters. These are the partial derivative for the gaussian
convolution and the gradient magnitude thresholds. The output should be a
binary image.
You should implement gaussian convolution as a sequence of horizontal and
vertical convolutions (separability of the filter).
The output of should NOT have fat edges! You should implement the hys-
theresis mechanism that uses two thresholds. Your implementation of hysthere-
sis should be efficient. You should submit what each part of your code does,
and a comparison of the results with the already existing implementation. Show
some results and discuss the effects of parameters. Please write a lot of com-
ments in the source code, explaining what is going on.