Matlab digital image processing exercises

© All Rights Reserved

238 views

Matlab digital image processing exercises

© All Rights Reserved

- GLITCHOMETRY: An Essay on the work of Daniel Temkin
- Apple Computer Inc. v. Burst.com, Inc. - Document No. 124
- An Efficient Medical Image Compression Scheme
- Classifier Combination for Face Localization in Color Images ICIAP 2005
- JPEG Transform coding
- Expertise Exploitation of Joining (Buy, Sell) in Pair
- The Robustness of Various Test Compression Techniques
- Cs9 Batch 1 Steganography
- DSP Implementation of Lattice Vector Indexing for Image Compression
- Ieee4 Projects
- B4%5B1%5D.4-R3 Chapter Wise
- Allegro 5.0.4 Manual
- STEGANOGRAPHY
- Report of Design & Implementation of Mobile Vediopfone
- Steganography 1
- jpeg2000 pxc3872877
- Allegro 5.0.1 Manual
- Table Contents
- Intelligent Image Watermarking Using New Anti-Arnold Transform
- 01 Introduction Ac

You are on page 1of 5

the corresponding section, and perform help images in the Matlab command line for

examples of important image related commands.

Write a computer program capable of reducing the number of intensity levels in an

image from 256 to 2, in integer powers of 2. The desired number of intensity levels

needs to be a variable input to your program.

Using any programming language you feel comfortable with (it is though

recommended to use the provided free Matlab), load an image and then perform a

simple spatial 3x3 average of image pixels. In other words, replace the value of every

pixel by the average of the values in its 3x3 neighborhood. If the pixel is located at (0,0),

this means averaging the values of the pixels at the positions (-1,1), (0,1), (1,1), (-1,0),

(0,0), (1,0), (-1,-1), (0,-1), and (1,-1). Be careful with pixels at the image boundaries.

Repeat the process for a 10x10 neighborhood and again for a 20x20 neighborhood.

Observe what happens to the image (we will discuss this in more details in the very

near future, about week 3).

Rotate the image by 45 and 90 degrees (Matlab provides simple command lines for

doing this).

For every 33 block of the image (without overlapping), replace all corresponding 9

pixels by their average. This operation simulates reducing the image spatial resolution.

Repeat this for 55 blocks and 77 blocks. If you are using Matlab, investigate simple

command lines to do this important operation.

Week 2:

implemented in popular packages such as Matlab.

Quantize each block. You can do this using the tables in the video or simply

divide each coefficient by N, round the result to the nearest integer, and multiply

back by N. Try for different values of N. You can also try preserving the 8 largest

coefficients (out of the total of 8x8=64), and simply rounding them to the closest

integer.

o

Visualize the results after you invert the quantization and the DCT.

Repeat the above but instead of using the DCT, use the FFT (Fast Fourier

Transform).

Repeat the above JPEG-type compression but dont use any transform, simply

Do JPEG now for color images. In Matlab, use the rgb2ycbcr command to convert

the Red-Green-Blue image to a Lumina and Chroma one; then perform the JPEG-style

compression on each one of the three channels independently. After inverting the

compression, invert the color transform and visualize the result. While keeping the

compression ratio constant for the Y channel, increase the compression of the two

chrominance channels and observe the results.

Compute the histogram of a given image and of its prediction errors. If the pixel

predicting based on the average of the pixels at (-1,0), (-1,1), and (0,1).

Compute the entropy for each one of the predictors in the previous exercise. Which

Week 3:

(Optional programming exercises)

implementation with Matlabs built-in function.

Implement a median filter. Add different levels and types of noise to an image and

experiment with different sizes of support for the median filter. As before, compare your

implementation with Matlabs.

Implement the non-local means algorithm. Try different window sizes. Add different

levels of noise and see the influence of it in the need for larger or smaller

neighborhoods. (Such block operations are easy when using Matlab, see for example

the function at http://www.mathworks.com/help/images/ref/blockproc.html). Compare

your results with those available in IPOL as demonstrated in the video lectures.

Consider an image and add to it random noise. Repeat this N times, for different

values of N, and add the resulting images. What do you observe?

Implement the basic color edge detector. What happens when the 3 channels are

equal?

Take a video and do frame-by-frame histogram equalization and run the resulting

video. Now consider a group of frames as a large image and do histogram equalization

for all of them at once. What looks better? See this example on how to read and handle

videos in Matlab:

xyloObj = VideoReader('xylophone.mp4');

nFrames = xyloObj.NumberOfFrames;

vidHeight = xyloObj.Height;

vidWidth = xyloObj.Width;

'colormap', []);

for k = 1 : nFrames

im = read(xyloObj, k);

mov(k).cdata = im;

end

hf = figure;

Take a video and do frame-by-frame non-local means denoising. Repeat but now

using a group of frames as a large image. This allows you for example to find more

matching blocks (since you are searching across frames). Compare the results. What

happens if now you use 3D spatio-temporal blocks, e.g., 553 blocks and consider

the group of frames as a 3D image? Try this and compare with previous results.

Search for camouflage artist liu bolin. Do you think you can use the tools you are

learning to detect him?

Week 4:

(Optional programming exercises)

your choice. Evaluate what levels of noise you consider still acceptable for visual

inspection of the image.

Apply median filter to the images you obtained above. Change the window size of

the filter and evaluate its relationship with the noise levels.

Practice with Wiener filtering. Consider for example a Gaussian blurring (so you

know exactly the H function) and play with different values of K for different types and

levels of noise.

Compare the results of non-local-means from the previous week (use for example

the implementation in www.ipol.im) with those of Wiener filtering.

Blur an image applying local averaging (select different block sizes and use both

overlapping and not overlapping blocks). Apply to it non-local means. Observe if it helps

to make the image better. Could you design a restoration algorithm, for blurry images,

that uses the same concepts as non-local-means?

Make multiple (N) copies of the same image (e.g., N=10). To each copy, apply a

random rotation and add some random Gaussian noise (you can test different noise

levels). Using a registration function like imregister in Matlab, register the N images

back (use the first image as reference, so register the other N-1 to it), and then average

them. Observe if you manage to estimate the correct rotation angles and if you manage

to reduce the noise. Note: Registration means that you are aligning the images again,

see for example http://www.mathworks.com/help/images/ref/imregister.html or

http://en.wikipedia.org/wiki/Image_registration

Apply JPEG compression to an image, with high levels of compression such that

the artifacts are noticeable. Can you apply any of the techniques learned so far to

enhance the image, for example, reduce the artifacts or the blocking effects? Try as

many techniques as you can and have time to do.

Apply any image predictor as those we learned in Week 2. Plot the histogram of the

prediction error. Try to fit a function to it to learn what type of distribution best first the

prediction error.

Week 5:

Implement the Hough transform to detect straight lines and circles in the same

image.

Consider an image with 2 objects and a total of 3 pixel values (1 for each object and

one for the background). Add Gaussian noise to the image. Implement and test Otsus

algorithm with this image.

Implement a region growing technique for image segmentation. The basic idea is to

start from a set of points inside the object of interest (foreground), denoted as seeds,

and recursively add neighboring pixels as long as they are in a pre-defined range of the

pixel values of the seeds.

Implement region growing from multiple seeds and with a functional like MumfordShah. In other words, start from multiple points (e.g., 5) randomly located in the image.

Grow the regions, considering a penalty that takes into account average gray value of

the region as it grows (and error it produces) as well as the new length of the region as

it grows. Consider growing always from the region that is most convenient.

- GLITCHOMETRY: An Essay on the work of Daniel TemkinUploaded byDaniel Rourke
- Apple Computer Inc. v. Burst.com, Inc. - Document No. 124Uploaded byJustia.com
- An Efficient Medical Image Compression SchemeUploaded byachutha
- Classifier Combination for Face Localization in Color Images ICIAP 2005Uploaded byRB117
- JPEG Transform codingUploaded bysprynavid
- Expertise Exploitation of Joining (Buy, Sell) in PairUploaded byAnonymous 8erOuK4i
- The Robustness of Various Test Compression TechniquesUploaded byDeepak Chanda
- Cs9 Batch 1 SteganographyUploaded bykabbisharma
- DSP Implementation of Lattice Vector Indexing for Image CompressionUploaded byijesajournal
- Ieee4 ProjectsUploaded byshankar
- B4%5B1%5D.4-R3 Chapter WiseUploaded bytabishkhan12345
- Allegro 5.0.4 ManualUploaded byDejaime Neto
- STEGANOGRAPHYUploaded bySheshu Geddi
- Report of Design & Implementation of Mobile VediopfoneUploaded byernilav_choksi11
- Steganography 1Uploaded byJayesh Sawant
- jpeg2000 pxc3872877Uploaded bymcccccc
- Allegro 5.0.1 ManualUploaded byShourie Ganguly
- Table ContentsUploaded byJilpa Dedhia
- Intelligent Image Watermarking Using New Anti-Arnold TransformUploaded byijfcstjournal
- 01 Introduction AcUploaded byVedran Erdeljan
- C41_LSTUploaded byPass Eigen
- 2DINVERSEUploaded byMinyare NJ
- Multi-View Video Coding Algorithms/Techniques: A Comprehensive StudyUploaded byAnonymous 7VPPkWS8O
- Configuration of FFmpeg for High Stability During EncodingUploaded byHuyQuoc2311
- ArcPy_Mapping.pdfUploaded byHenrique Ramos
- Vanishing point detection in corridors: using Hough transform and K-means clusteringUploaded byMohammed Abdul Rahman
- Finding Skewness and Deskewing Scanned DocumentUploaded bybbaskaran
- Ready ReckonerUploaded byAmisha kaparwan
- Slide TambahanUploaded byhack hack
- Adaptive order search and tangent-weighted 4 trade-off for motion estimation in H.264Uploaded bySrinivas Bachu

- 8 Robust Techniques for BSS and ICA.pdfUploaded byj_salazar20
- Computer vision algorithms in image algebraUploaded byj_salazar20
- 0270_PDF_C22.pdfUploaded byBao Tram Nguyen
- ThoRR - Electric Sports Car - ThoRR Techical InformationUploaded byj_salazar20
- LicenseUploaded bym1chell3
- Digital FiltersUploaded byj_salazar20
- baterias infoUploaded byj_salazar20
- Blind Filtering and SeparationUploaded byj_salazar20
- LicenseUploaded byKristel Cervantes
- US Navy Course NAVEDTRA 14090 Vol 05 - Electronics Technician—Navigation SystemsUploaded byGeorges
- Ultra Analog VA-2 Manual.pdfUploaded bykyra
- EulaUploaded bylinuxmani
- Kinsler Solutions ManualUploaded byj_salazar20
- Third Party ContentUploaded byGeorgia Irakli
- LicenseUploaded byGiuseppe Di Falco
- Kontakt Factory Selection Manual EnglishUploaded byJesús Daniel Lau Acosta
- README.txtUploaded byj_salazar20
- Rock Smith ConfigurationUploaded byRaúlÁlvarezM
- DspUploaded byj_salazar20

- Contact Analysis PlanetaryUploaded bySezgin Bayrak
- 05771809Uploaded bypierre_dantas
- Iran to India Natural Gas PipelineUploaded byMohit Bhatia
- 2015 Electrofacies Research Review PosterUploaded byFelipe Vasconcelos
- Use of carbon materialsUploaded byClaramaria Rodriguez
- R1-113108 PHICH Resource Allocation Schemes for Downlink CoMP Scenario 4Uploaded bygrasspacking
- APPROXIMATE-ANALYSIS-OF-PILED-RAFT.pdfUploaded byMisgun Samuel
- 10.1.1.84.3111Uploaded bybindug1
- Hwx SparesUploaded byPrasad Shah
- GIA, Sapphire Series Part 3_ Modern Synthetic Sapphire Applications _ Research & NewsUploaded bykaveh25
- OreganoUploaded byapi-3827523
- Soccer Fitness Training MethodsUploaded byAlang2010
- Msc ChemistryUploaded byanon_30148465
- Process Control System PCS 7 Part2Uploaded byNoNick74
- Heron’s formulaUploaded byApoorva Jakhar
- DehydrationUploaded byRodel Aguila Saño
- Vintage Airplane - May 2012Uploaded byAviation/Space History Library
- Water Jar Test DoneUploaded byNasEvan's
- Sew a Water calculationUploaded byYan Laksana
- Atheros AR9002 (AR9287+AR7010)Uploaded byKristatus Kinsky
- Tarpana SanskritUploaded bynavinnaithani
- Material ManagementUploaded bypritymama
- Microcellular Shoes Ole SystemsUploaded byA Mahmood
- DG ENGINEUploaded byMuhammad Naqash
- boundary-wall.pdfUploaded bymustarif
- 700_Armox the Steel You Want Between You and RiskUploaded byAnonymous DehXfSd4xM
- Acceptance Quality Limits and Visual InspectionUploaded byschumon
- "Exposure to the Tantric Path"Uploaded byloquel
- Pid Controller IzzatiUploaded byMohd Sazli Saad
- Mother India and Swami VivekanandaUploaded bySatchidananda

## Much more than documents.

Discover everything Scribd has to offer, including books and audiobooks from major publishers.

Cancel anytime.