联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp

您当前位置:首页 >> Web作业Web作业

日期:2025-02-10 05:07

Fundamentals of Image Processing with Matlab

The assignment consists of four independent tasks.

Task 1a (4 points): Nonlinear image filtering.  Given a grey-scale image I(x, y), consider the following non-linear iterative process: 

where K is a positive constant. Note that the weights {Wij} depend on the pixel positions (x, y) and the iteration number n. After a certain number of iterations, you should get results like those shown in the picture below: small-scale image details are removed while salient image edges are sharpened.

Your first task is to implement the above non-linear iterative procedure, perform. a number of experiments (with different images, different numbers of iterations, and various values of parameter k).

A matlab script. simple_averaging.m implements the above iterative scheme in the simplest case when all the weights are equal to one: wij = 1.

Task 1b (3 points): Low-light image enhancement. The above filtering scheme can be used for enhancing low-light images. Given a colour RGB image, convert it to the HSV space (use matlab’s rgb2hsv function) and consider only the V(x, y) component of the converted image Let U(x, y) be obtained from V(x, y) by applying the image filtering scheme from 1a described above (20 iterations should be sufficient). Generate an enhanced version of V(x, y) by

where r is a small positive parameter used to avoid division by zero (simply set r = 0.01). Substitute E(x, y) instead of V(x, y) in your HSV image and convert the modified image back to the RGB space (use matlab’s hsv2rgb function). You are expected to get a result similar  to that shown below:

Include 3-4 images from the Dark Face dataset

https://www.kaggle.com/datasets/ironheadboya/darkface 

in your experiments with low-light image enhancement.

Task 1c (3 points): Face detection or object detection for dark and brightened images

Find a publicly available program (matlab/python) for face detection or object detection in images. Use the program to detect faces or objects in low-light images (use Dark Face images in your experiments) and images brightened/enhanced by the matlab program you wrote for Task 1b. Conclude whether brightening dark images improves face/object detection.

Task 2 (4 points): Image filtering in frequency domain.


This task is devoted to using the Fourier transform. for image filtering purposes.

Matlab function fftshift shifts the zero-frequency component of an image to the centre of the array

Try Fourier4ip.m matlab script. and see how the Fourier transform. can be used for image processing and filtering purposes.

Your task is as follows. Image eye-hand.png is corrupted by periodic noise. Find the Fourier transform. of the image, visualise it by using log(abs(fftshift(.))), as seen below.

The four small crosses in the frequency domain correspond to the frequencies behind the periodic noise.  Use impixelinfo to locate the frequencies. Construct a notch filter (a band-stop filter, you can use small-size rectangles or circles to kill the unwanted frequencies) and use it to remove/suppress the periodic noise while preserving the image quality. The Part 3 of your report must include the reconstructed image and the filter used in the frequency domain.

Task 3a (4 points): Image deblurring by the Wiener filter.  

Given a grey-scale image I(x, y), consider the following non-linear iterative process: 

,

where f (x,y) is the latent (unblurred) image, g(x,y)  is the degraded image, h(x,y) is a known blurring kernel,  denotes the convolution operation, and n(x,y) stands for an additive noise. Applying the Fourier transform. to both sides of the above equation yields

.

The Wiener filter consists of approximating the solution to this equation by

,      

where H(u, v) is the complex conjugate of H(u, v). Implement Weiner filter restoration scheme (1) and test it for different types of blur kernels (motion blur and Gaussian blur). In your implementation of the Wiener filter restoration scheme (1) you may need to use

H = psf2otf(h,size(g));

See https://uk.mathworks.com/help/images/ref/psf2otf.html for details. See also deblur.m.

Task 3b (4 points): Image deblurring by ISRA.  The matlab script. deblur.m contains simple implementations of two popular image deblurring schemes, the Landweber method and the Richardson-Lucy method (in addition, the matlab built-in implementation of the Wiener filter is presented in deblur.m). In particular, the Richardson-Lucy method consists of the following iterative process

 

where  stand for the pixel-wise multiplication and the pixel-wise division is also used. Let us consider the so-called ISRA (Image Space Reconstruction Algorithm) method 

.

Your task is to implement ISRA and use PSNR graphs (see again deblur.m) to compare ISRA against the Wiener, Landweber, and Richarson-Lucy methods for the two types of motion blur and Gaussian blur considered in deblur.m.

Remark. In this particular example of additive gaussian noise, advantages of the Richardson-Lucy and ISRA methods are not revealed.

Task 4 (3 points): Handwritten digit recognition with basic artificial neural networks.

Matlab script. handwritten_digit_recognition_simple.m provides you with a simple application of ANN for handwritten digit recognition. Your task is to modify the hidden layers of the network in order to achieve the accuracy higher than 93%. You are not allowed to use CNN layers. You are not allowed to use more than 100 neurons in total for all your hidden layers. You are not allowed to modify the training options.

You can observe that a higher accuracy can be easily achieved if convolutional layers are used:

handwritten_digit_recognition.m. You can get more information about various layers used in ANN from https://uk.mathworks.com/help/deeplearning/ug/create-simple-deep-learning-network-for-classification.html 

Please submit a single report describing briefly your results achieved for Tasks 1, 2, 3, and 4 of the assignment. Together with the report, please submit your matlab (possibly python) scripts implementing your solutions to Tasks 1, 2, 3, and 4.

 


版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp