Lab of COMP 319 Final Project: Image Compression with MATLAB Lab tutor : Yao Zhang, Shenghua ZHONG Email: zsh696@gmail.com csshzhong@comp.polyu.edu.hk Lab 4: Nov 30, 2011 1 Outline of Lab 4 Some important reminders of final project Some important steps and information of final project How to debug the user defined function 2 Important reminders of final project 1. Deadline: Mon Dec. 15 at 23:59pm . Penalty for late submission Tue. Dec. 16 Wed. Dec. 17 Thu. Dec. 18 After Dec. 18 • 00:00 - 23:59 00:00 - 23:59 00:00 - 23:59 23:59 25% deduction 50% deduction 75% deduction Zero point Please try your best to finish the project and submit it on time ! 3 Important reminders of final project 2. There are only two functions should be and can be modified and submitted: Compress.m and Decompress.m. • There is no need to submit a final project report. • your personal compress.m and decompress.m functions will be scored by using the uniform main.m function, so submission of other functions or files is useless and unallowed. 4 Important reminders of final project 3. You can observe the MSE value and the compression ratio to check the performance of your functions. • The MSE value and compression ratio will be given above your recovered image, you can check them according to the grading sample listed on the course’s webpage. • The compression ratio should larger than 1, otherwise the score of your final project will be zero! 5 Important reminders of final project 4. The components in the matrixes orig_image, comp_image and reco_image should be the integers. • The size of the reco_image should be same with the size of orig_image. • Don't make any modification of the provided functions expect Compress.m and Decompress.m. • Don't read the image file when you modify Compress.m and Decompress.m, otherwise, you will get zero point in the final project. 6 How to Debug User-Defined Function • User-defined functions are stored as M-files. Each must start with a function definition line that contains the word “function”, one or several variables that defines the function output, a function name, and one or several variables used for the input argument. Save the function as M-file using the same name in your function • Some examples: • function output = my_function(x) • function [output1, output2] = my_function(x1,x2,x3) • Hints: The function name and the names of the input and output variables are arbitrary and selected by the programmer, but the word “function” can not be changed. 7 Review of Lab 2 about User-Defined Function comments function output = poly(x) % This function calculates the value of a third-order % polynomial output = 3*x.^3+5*x.^2-2*x+1 Save above commands into an M-file and then type the below commands in command window to observe the results: >> a=4; >> poly(a) >> b=1:5; >> poly(b) 8 How to Debug User-Defined Function • Compress.m, Decompress.m, and xxx.m except main.m are both user-defined function. • They like a black box (user only know the input and output parameters) • Debug is important to check whether the programms are correct. 9 The First Step to Debug User-Defined Function Set breakpoint at the line of the Entry to the user-defined function in the main.m 10 The Second Step to Debug User-Defined Function Run main.m to the Entry 11 The Third Step to Debug User-Defined Function Click Step in button and go into the user-defined function 12