Image Processing 1 Digital Image Processing Teacher Assistant: Elhanan Elboher course personal

Slides:



Advertisements
Similar presentations
Matlab Intro Simple introduction to some basic Matlab syntax. Declaration of a variable [ ] Matrices or vectors Some special (useful) syntax. Control statements.
Advertisements

Introduction to MATLAB The language of Technical Computing.
1 A L L A H. Command-Window Workspace & Directory Command- History The Matlab Command window - Finding your way around.
Introduction to Matlab
Introduction to Matlab Workshop Matthew Johnson, Economics October 17, /13/20151.
Introduction to MATLAB for Biomedical Engineering BME 1008 Introduction to Biomedical Engineering FIU, Spring 2015 Lesson 2: Element-wise vs. matrix operations.
Laboratory of Image Processing Pier Luigi Mazzeo
MATLAB – What is it? Computing environment / programming language Tool for manipulating matrices Many applications, you just need to get some numbers in.
Image Processing Lecture 4
Chapter 3 Image Enhancement in the Spatial Domain.
CS231A Matlab Tutorial Philip Lee Winter Overview  Goals › Introduction to Matlab › Matlab Snippets › Basic image manipulations › Helpful Matlab.
Image Processing in Matlab An Introductory Approach by Sabih D. Khan
Digital Image Processing Lecture11: Histogram Processing.
Intensity Transformations
Arrays  An array is a collection of like elements.  There are many engineering applications that use arrays.  MATLAB ® stores data in arrays and performs.
Chapter 8 and 9 Review: Logical Functions and Control Structures Introduction to MATLAB 7 Engineering 161.
MATLAB for Image Processing April 10 th, Outline Introduction to MATLAB –Basics & Examples Image Processing with MATLAB –Basics & Examples.
Computer Science in Practice This course is an introduction to problems (and solutions) that arise in applied fields of computer science such as machine.
Week 6 - Programming I So far, we’ve looked at simple programming via “scripts” = programs of sequentially evaluated commands Today, extend features to:
Computer Science in Practice This course is an introduction to problems (and solutions) that arise in applied fields of computer science such as machine.
Introduction to MATLAB MECH 300H Spring Starting of MATLAB.
Digital Image Processing Lecture3: Introduction to MATLAB.
EPSII 59:006 Spring Topics Using TextPad If Statements Relational Operators Nested If Statements Else and Elseif Clauses Logical Functions For Loops.
January 24, 2005 Lecture 3 - By P. Lin 1 CPET 190 Lecture 3 Problem Solving with MATLAB
MATLAB Lecture One Monday 4 July Matlab Melvyn Sim Department of Decision Sciences NUS Business School
Matlab tutorial course Lesson 2: Arrays and data types
Martin Ellison University of Warwick and CEPR Bank of England, December 2005 Introduction to MATLAB.
Engineering Analysis ENG 3420 Fall 2009 Dan C. Marinescu Office: HEC 439 B Office hours: Tu-Th 11:00-12:00.
Introduction to MATLAB Session 1 Prepared By: Dina El Kholy Ahmed Dalal Statistics Course – Biomedical Department -year 3.
Introduction to MATLAB
1 Lab of COMP 406 Teaching Assistant: Pei-Yuan Zhou Contact: Lab 1: 12 Sep., 2014 Introduction of Matlab (I)
Computational Methods of Scientific Programming Lecturers Thomas A Herring, Room A, Chris Hill, Room ,
1 Computer Programming (ECGD2102 ) Using MATLAB Instructor: Eng. Eman Al.Swaity Lecture (1): Introduction.
Introduction to MATLAB Session 3 Simopekka Vänskä, THL Department of Mathematics and Statistics University of Helsinki 2011.
Image Processing:Fundementals Lecture: Introduction –An image is digitized to convert it to a form which can be stored in a computer's memory or.
Digital Image Processing Lecture10: MATLAB Example – Utility M-functions for Intensity Transformations.
Flow Control and Functions ● Script files ● If's and For's ● Basics of writing functions ● Checking input arguments ● Variable input arguments ● Output.
CS112 Scientific Computation Department of Computer Science Wellesley College Numb3rs Number and image types.
Digital Image Processing Lecture9: Intensity (Gray-level) Transformation Functions using MATLAB.
Computational Methods of Scientific Programming Lecturers Thomas A Herring, Room , Chris Hill, Room ,
Introduction MATLAB stands for MATrix LABoratory.  Basics  Matrix Manipulations  MATLAB Programming  Graphics  Image types  Image Processing  Useful.
Introduction to MATLAB Session 1 Simopekka Vänskä, THL 2010.
Digital Image Processing Lecture4: Fundamentals. Digital Image Representation An image can be defined as a two- dimensional function, f(x,y), where x.
Chapter 1 – Matlab Overview EGR1302. Desktop Command window Current Directory window Command History window Tabs to toggle between Current Directory &
Lecture 26: Reusable Methods: Enviable Sloth. Creating Function M-files User defined functions are stored as M- files To use them, they must be in the.
Digital Image Processing Lecture 6: Introduction to M- function Programming.
Digital Image Processing Introduction to M-function Programming.
Outline Introduction to MATLAB Image Processing with MATLAB
INTRODUCTION TO MATLAB DAVID COOPER SUMMER Course Layout SundayMondayTuesdayWednesdayThursdayFridaySaturday 67 Intro 89 Scripts 1011 Work
Digital Image Processing Introduction to MATLAB. Background on MATLAB (Definition) MATLAB is a high-performance language for technical computing. The.
Introduction to MATLAB 1.Basic functions 2.Vectors, matrices, and arithmetic 3.Flow Constructs (Loops, If, etc) 4.Create M-files 5.Plotting.
1 Faculty Name Prof. A. A. Saati. 2 MATLAB Fundamentals 3 1.Reading home works ( Applied Numerical Methods )  CHAPTER 2: MATLAB Fundamentals (p.24)
SCRIPTS AND FUNCTIONS DAVID COOPER SUMMER Extensions MATLAB has two main extension types.m for functions and scripts and.mat for variable save files.
Digital Image Processing. Converting between Data Classes The general syntax is B = data_class_name (A) Where data_class_name is one of the names defined.
Math 252: Math Modeling Eli Goldwyn Introduction to MATLAB.
Introduction to MATLAB Ehsan Adeli M. Iran University of Science and Technology, E-Learing Center, Fall 2008 (1387)
Graphics and Image Data Representations 1. Q1 How images are represented in a computer system? 2.
การใช้งานโปรแกรม MATLAB ดร. อำนาจ ขาวเน. BASIC ELEMENTS OF MATLAB MATLAB Desktop MATLAB Editor Help System MATLAB (MATrix LABoratory)
An Introduction to Programming in Matlab Emily Blumenthal
Basics of MATLAB 2- Programming in MATLAB By DR. Wafaa Shabana
The images used here are provided by the authors.
Matlab Training Session 4: Control, Flow and Functions
Scripts & Functions Scripts and functions are contained in .m-files
Outline Matlab tutorial How to start and exit Matlab Matlab basics.
MATLAB DENC 2533 ECADD LAB 9.
Digital Image Processing using MATLAB
Use of Mathematics using Technology (Maltlab)
Matlab tutorial course
CSE107 Matlab Introduction
Fundamentals of Image Processing Digital Image Representation
Presentation transcript:

Image Processing 1 Digital Image Processing Teacher Assistant: Elhanan Elboher course personal Reception hour: Thursday 14:00-15:00 Web site:

Image Processing 2 Administration All exercises are mandatory 3 Exams and Moed B Please register online asap!

Image Processing 3 Today Outline Matlab Basics Intensity transform and Histogram Equalization Exercise #1 – Basic Image Processing

Image Processing 4 Matlab Desktop To operate Matlab : type matlab from linux xterm Matlab 7.8 is the current default version

Image Processing 5 Matlab Advantages Every variable in Matlab is a multidimensional matrix. Highly modular. No memory allocation is necessary. Matlab enables its own garbage collection. Simple interface for complex mathematical concepts.

Image Processing 6 Getting Help >> help help (explain how to get help) >> helpbrowser / doc (open the online Matlab documentation) >> help images (list of all commands in the Image Processing Toolbox) >> demo >> lookfor read (display list of function with ‘read’ in the name or help text)‏ >> type imread >> help imread (function name + % block)‏ >> doc imread (function documentation in help browser)‏ Using [tab] is useful to auto-complete function names and variables Mathworks website:

Image Processing 7 Matlab Basics Digital image representation : 2D function f(x,y) -> finite discrete quantities Coordinate Conventions img(r,c) r – rows (height) c – cols (width)‏ >> size(img) The first pixel: img(1,1)‏

Image Processing 8 Image Types Intensity images scaled to represent intensities (uint8 – [0,255], double [0,1]) Binary images logical array of 0s and 1s Indexed images Look up table [x, map] RGB images truecolor, array of (m*n*3)‏ Checking the image type : isind, isbw, isgray, isrgb Converting image types: rgb2ind, rgb2gray, gray2ind, ind2gray,….

Image Processing 9 Reading Images >> f = imread(‘filename’); filename is a string including the file type (jpg, tiff, bmp, gif,…)‏ ; is used for suppressing output >> [height, width] = size(f); >> whos f display additional information about an array Name Size Bytes Class f 512x512x uint8 array Grand total is elements using byte

Image Processing 10 Displaying Images >> imshow(f)‏ display the image f according to its type >> imshow(f, [low high]) display as black all values less than ‘low’ and as white all values greater or equal to ‘high’ (in grayscale images)‏ >> imshow(f, []) set low and high as the minimal and maximal values of array f useful for low dynamic range images or that have negative values >> impixelinfo display intensity value of individual pixel interactively >> figure(2), imshow(g)‏ Open a new figure before displaying the image (the default – using the same figure)‏

Image Processing 11 Writing Images >> imwrite(f, ‘filename’) f is an image array ‘filename’ must include the file format (tif, jpg, bmp,..)‏ >> k = imfinfo(‘test1.jpg’) Filename: 'test1.jpg' FileModDate: '22-Oct :07:36' FileSize: 3464 Format: 'jpg' FormatVersion: '' Width: 256 Height: 256 BitDepth: 24 ColorType: 'truecolor' FormatSignature: '' Comment: {} The answer is a structure variable with different fields: k.Width

Image Processing 12 Data Classes Converting between types : B = data_class_name(A) for example: B = double(A)‏

Image Processing 13 Conversions When converting between data classes and types it is important to keep the value range for each data class >> img = double(img)/255; >> img = im2double(img);

Image Processing 14 Variable Decleration and Memory issues Matlab variables do not need to be declared in advance. ‘ans’ is a defined variable containing the last result Memory is allocated and freed automatically. >> A = [1 2 3; 2 3 4; 3 4 5]; >> A = double(A); >> A = ans = >> A = logical(ans);

Image Processing 15 Vector indexing row vector (1xN) >> v = [ ]; (elements separated by space or comma (,))‏ >> v(2) = 3; column vector (MX1)‏ >> w = [1;3;5;7]; (elements separated semi-comma (;))‏ >> w = v’ (transpose operation) w = To Access blocks of elements we use colon notation >> v(2:4)‏ ans = >> v(1:end) end is the last element in the vector >> v(:) produce a column vector >> v(1:2:end) enables steps (jumps)‏ >> v(end:-2:1) steps can be negative as well Vector can be used as an index into another vector >> v([1 3 4])‏ ans = 1 5 7

Image Processing 16 Matrix indexing Image – 2D array, matrix Matrix can be represented as a sequence of row vectors >>A = [1 2 3; 4 5 6; 7 8 9] A = To access an element, 2 indexes are used – row index and column index >> A(2,3)  6 >> A(:,3) >> A(2,:) >> a(1:2,1:3) >> B = A; >> B(:,3) = 0 B = Using vectors to index into a matrix provide a powerful tool for element selection A([1 3], [2 3])

Image Processing 17 Matrix indexing cont. Image – 2D array, matrix A matrix is also represented as a long vector >> A = [1 2 3; 4 5 6; 7 8 9] A = To access sequential elements in a matrix a single index can also be used: >> A(1:9)‏ A = Sometimes changing the shape of the matrix is of use: >> reshapse(A(1:2,1:3), 3, 2)‏ A = The size of the output matrix is the size of the index matrix!

Image Processing 18 Matrix Addressing A very useful approach is to use logical matrix as an index to the matrix >> D = logical([1 0 0; 0 0 1; 0 0 0])‏ D = >> A(D)‏ ans = 1 6 The use of column operation on a matrix produce a single column vector from the matrix (on a column by column basis). It is very useful for image operations like sum or max >> s = sum(f(:)) (equivalent to: sum(sum(f)))‏

Image Processing 19 Operators Arithmetical operators have their algebraic meaning: >> A = [1 2 3; 4 5 6; 7 8 9]; >> A + A ans = >> A * [1 1 1] ??? Error using ==> times Matrix dimensions must agree >> A * [1 1 1]’ ans =

Image Processing 20 Operators cont. Vector multiplication depends on the order of the two vectors >> [1 2 3] * [2 3 4] ??? Error using ==> times Matrix dimensions must agree >> [1 2 3] * [2 3 4]’ ans = 20 >>[1 2 3]’ * [2 3 4] ans =

Image Processing 21 Operators cont. Element by element operators -.*.^./ >> [1 2 3].* [2 3 4] ans = >> [1 2 3].^ 2 ans = >> [1 2 3]./ (2:2:6)‏ ans =

Image Processing 22 Ambiguity Since each variable is a multi dimensional matrix, matlab solves ambiguity on its own – variables with no dimension can be seen as vectors/matrices >> [1 2] + 1 ans = 2 3

Image Processing 23 Array dimensions Matlab arrays can be of any dimensions It is useful to operate on specific dimension of the array, for example: >> height = size(i,1); Usually we deal with 2D arrays but there are cases we need to address higher dimensions (such as color images)‏ >> i(200:300, 200:400, 3)‏ To get the number of dimensions of an array >> d = ndims(f)‏

Image Processing 24 Standard Arrays Generating simple array enables trying out simple ideas and test the syntax of a function during development >> zeros(m,n)‏ >> ones(m,n)‏ >> true(m,n)‏ >> false(m,n)‏ >> magic(m) >> rand(n)‏ >> randn(n)‏ >> pascal(n)‏

Image Processing 25 Additional Operators Arithmetic operators (numeric computations)‏ –matrix arithmetic (linear algebra A*B)‏ –array arithmetic (element by element A.*B) +, -,./,.^,:.. Relational operators (compare)‏ –Compare corresponding elements of arrays of equal dimensions (, =, ==, ~=) or an array to scalar Logical operators can operate both on logical and numeric data (and: &, or: |, not: ~) true: logical 1 or non-zero numeric quantity false: logical or numerical 0 logical functions : xor, any, all

Image Processing 26 Examples - Matrix indexing >> i = imread('sowrds0040.bmp'); >> i = rgb2gray(double(i)/255); >> imshow(i)‏

Image Processing 27 Examples - Matrix indexing >> i = imread('sowrds0040.bmp'); >> i = rgb2gray(double(i)/255); >> imshow(i)‏

Image Processing 28 Examples - Matrix indexing >> i = imread('sowrds0040.bmp'); >> i = rgb2gray(double(i)/255); >> imshow(i)‏ >> s = i(end:-1:1, :); >> imshow(s);

Image Processing 29 Examples - Matrix indexing >> i = imread('sowrds0040.bmp'); >> i = rgb2gray(double(i)/255); >> imshow(i)‏ >> s = i(end:-1:1,:); >> imshow(s);

Image Processing 30 Examples - Matrix indexing >> i = imread('sowrds0040.bmp'); >> i = rgb2gray(double(i)/255); >> imshow(i)‏ >> s = i(end:-1:1,:); >> imshow(s); >> a = i(200:300,200:400); >> imshow(a);

Image Processing 31 Examples - Matrix indexing >> i = imread('sowrds0040.bmp'); >> i = rgb2gray(double(i)/255); >> imshow(i)‏ >> s = i(end:-1:1,:); >> imshow(s); >> a = i(200:300,200:400); >> imshow(a);

Image Processing 32 Examples - Matrix indexing >> i = imread('sowrds0040.bmp'); >> i = rgb2gray(double(i)/255); >> imshow(i)‏ >> s = i(end:-1:1,:); >> imshow(s); >> a = i(200:300,200:400); >> imshow(a); >> t = i(1:2:end, 1:2:end); >> imshow(t);

Image Processing 33 Examples - Matrix indexing >> i = imread('sowrds0040.bmp'); >> i = rgb2gray(double(i)/255); >> imshow(i)‏ >> s = i(end:-1:1,:); >> imshow(s); >> a = i(200:300,200:400); >> imshow(a); >> t = i(1:2:end, 1:2:end); >> imshow(t);

Image Processing 34 Examples - Matrix indexing >> i = imread('sowrds0040.bmp'); >> i = rgb2gray(double(i)/255); >> imshow(i)‏ >> s = i(end:-1:1,:); >> imshow(s); >> a = i(200:300,200:400); >> imshow(a); >> t = i(1:2:end, 1:2:end); >> imshow(t); >> i(200:300, 200:400) = 0; >> imshow(i);

Image Processing 35 Examples - Matrix indexing >> i = imread('sowrds0040.bmp'); >> i = rgb2gray(double(i)/255); >> imshow(i)‏ >> s = i(end:-1:1,:); >> imshow(s); >> a = i(200:300,200:400); >> imshow(a); >> t = i(1:2:end, 1:2:end); >> imshow(t); >> i(200:300, 200:400) = 0; >> imshow(i);

Image Processing 36 Examples - Matrix indexing >> i = imread('sowrds0040.bmp'); >> i = rgb2gray(double(i)/255); >> imshow(i)‏ >> s = i(end:-1:1,:); >> imshow(s); >> a = i(200:300,200:400); >> imshow(a); >> t = i(1:2:end, 1:2:end); >> imshow(t); >> i(200:300, 200:400) = 0; >> imshow(i); >> imshow(i/2);

Image Processing 37 Examples - Matrix indexing >> i = imread('sowrds0040.bmp'); >> i = rgb2gray(double(i)/255); >> imshow(i)‏ >> s = i(end:-1:1,:); >> imshow(s); >> a = i(200:300,200:400); >> imshow(a); >> t = i(1:2:end, 1:2:end); >> imshow(t); >> i(200:300, 200:400) = 0; >> imshow(i); >> imshow(i/2);

Image Processing 38 Examples - Matrix indexing >> i = imread('sowrds0040.bmp'); >> i = rgb2gray(double(i)/255); >> imshow(i)‏ >> s = i(end:-1:1,:); >> imshow(s); >> a = i(200:300,200:400); >> imshow(a); >> t = i(1:2:end, 1:2:end); >> imshow(t); >> i(200:300, 200:400) = 0; >> imshow(i); >> imshow(i/2); >> imshow((i>0.8).*i);

Image Processing 39 Examples - Matrix indexing >> i = imread('sowrds0040.bmp'); >> i = rgb2gray(double(i)/255); >> imshow(i)‏ >> s = i(end:-1:1,:); >> imshow(s); >> a = i(200:300,200:400); >> imshow(a); >> t = i(1:2:end, 1:2:end); >> imshow(t); >> i(200:300, 200:400) = 0; >> imshow(i); >> imshow(i/2); >> imshow((i>0.8).*i);

Image Processing 40 M-Files M-Files can be one of two: Scripts – A series of commands that are performed on the global scope. No input and output variables. Functions – A set of commands performed over a given input, with a required output. Functions have a scope of their own. (accessing the global scope can be done by defining the variables to be ‘globals’). In both types – the m-file must be in the current directory, or in a previously added path (added with the function addpath)

Image Processing 41 M-Function Programming Components of m files: Function definition line function [out1 out2] = name(in1, in2, in3)‏ H1 line - a single comment line that follows the function definition line. % SQUARESUM compute the sum of the square of the matrix elements This line appears when user writes >> help function_name >> lookfor keyword - display all functions where the keyword appeared in H1 line

Image Processing 42 M-Function Programming Components of m files (cont.): Help Text - text block following the H1 line without any blank line in between the two Function body – the Matlab code Comments – lines starting with % Note: – add short and clear comments to your code!

Image Processing 43 Flow control if, else, elseif, end switch, case, otherwise, end return try...catch…end for i=start:increment:end, end while, end break (used with for or while)‏ continue (used with for or while)‏ Try not to use

Image Processing 44 Code optimization – vectorizing loops Convert for / while loops to equivalent vector or matrix operations 1D indexing >> for x = 1:k ff(x) = 5*sin((x-1)/(2*pi)); end 2D indexing Try to avoid 2D loops >> x = 0:k-1 >> ff = 5*sin(x/(2*pi));

Image Processing 45 Code optimization – vectorizing loops 2D indexing meshgrid – convert rows vectors to arrays C and R that can be used for evaluating function with two variables >> for r = 1:10 >> for c = 1:10 >> b(r,c) = r.^2+ c.^2 >> end Vectorzing code accelerates the computation significantly For Example: compute 2D sin using meshgrid runs on the order of 30 times faster the same computation based on loops on Image of 512x512 pixels >> [C, R] = meshgrid(1:c, 1:r)‏ >> h = R.^2 + C.^2;

Image Processing 46 Code Optimization – Pre-allocating large arrays Simple way to improve code execution is to pre-allocate the size of the arrays in the program. The preallocation also helps reduce memory fragmentation when working with large matrices >> f = zeros(1024);

Image Processing 47 Cell arrays and Structures Cell array is multidimensional array whose elements are copies of other arrays >> c = {‘gauss’,[1 0;0 1], 3} >> c{1} ans = gauss Structures are similar to cell arrays (allow grouping of a collection of dissimilar data) but they addressed by fields rather than by numbers >> params.nimgs = 100; >> params.jump = 2; >> params.baseStr = ‘testImg’

Image Processing 48 Arguments Matlab arguments are always passed by value Checking whether an argument exist >> exist(a,’var’)‏ Checking number of arguments to the functions >> nargin, nargout, nargchk Getting variable number of arguments >>varargin, varargout

Image Processing 49 Gui >> guide (Graphic User Interface Development Environment) Start the GUI Layout Editor. Guide create –fig file: complete description of the gui elements and their arrangements –gui m-file: the code that controls the gui operations, initializations functions, callback functions

Image Processing 50 Image Enhancement

Image Processing 51 Intensity Transformation Spatial Domain – image plane itself direct manipulation of pixels in the image. g(x,y) = T(f(x,y))‏ T is an operator of f, defined over a specific neighborhood around a pixel. Principle approach – use a square around the pixel. In the simplest case the square size is one pixel

Image Processing 52 Intensity Transformation function In the case of single pixel transformation – we can use a lookup table s = T(r) s1s1 s0s0 s2s2 s3s3 s 255 r s Dark light

Image Processing 53 Simple Examples for Intensity Transformations Image negative s = L-1-r r s Dark light

Image Processing 54 Simple Examples for Intensity Transformations Image negative s = L-1-r r s Dark light

Image Processing 55 Examples for Intensity Transformations Log Transform s = c*log(1+r)‏ r s Dark light

Image Processing 56 Examples for Intensity Transformations Power Law Transform

Image Processing 57 Example - Gamma Correction What kind of correction can we try here ?

Image Processing 58 Example - Gamma Correction γ=3, 4, 5

Image Processing 59 Histogram Processing h(r k ) = n k Normalized: p(r k ) = n k /N in Matlab: imhist(img)‏ +

Image Processing 60 Sample of Image Histogram

Image Processing 61 Histogram Equalization We are interested in equal use of all gray level N pixels, range 0,..K-1 n k – number of pixels in level k 255 graylevels #p in level 0 histogram 1 graylevels #p < level 0 Normalized Accumulative histogram graylevels #p < level 0 Accumulative histogram 255 r k =k/K sksk 1

Image Processing 62 Histogram Equalization Equalize :For every original gray level k –Calculate the image histogram –Find the accumulative sum of the histogram values - y k (in Matlab – cumsum(vec))‏ –Normalize the values of the histogram accumulative sum by dividing in the total number of pixels –Multiply the normalized vector in the maximal gray level value (K-1) and round (shift back to the original gray level range)‏ –Map the gray level values to the result of step (3)‏ –Stretch the values back to the range 1,..K (improve contrast in the end of this process)‏ 1 #p < level 0 Normalized Accumulative histogram r k =k/K sksk rkrk sksk 1

Image Processing 63 Histogram Equalization In most discrete images it is impossible to obtain uniform histogram, we want to get as close as possible to uniform. The distribution of gray levels in areas along the histogram will result in approximately same number of pixels The number of bins can only decrease: bins can never split and small bins in the histogram may be united (but the effect is not visibly disturbing since it involves a very small number of pixels)‏ The histogram equalization process is monotonic (as the process involves accumulative sum) and therefore the relative brightness of a pixel is preserved

Image Processing 64 When will this fail ? In General : on images with gray level distribution that is not ‘standard’ we may get unwanted results from the histogram equalization process.

Image Processing 65 Equalization results

Image Processing 66 Exercise 1 Targets: –Getting familiar with the Matlab environment –Learning image formats and conversions between them –Argument error checking –Working with image histograms –Writing an efficient code

Image Processing 67 A few more important commands for image operations (look in the help) ‏ find repmat reshape clear save plot, subplot disp