Flow Diagram
Flow Diagram
Flow Diagram
Preprocessing
a. Image Representation b. Contrast Enhancement c. DCT transform d. Edge Detection & Reconstruction e. Extraction
Contrast Enhancement The curvelet transform is well adapted to represent the images containing edges, it is a good candidate for edge enhancement. Curvelet coefficients can be modified to enhance the edges in an image, which improves the image contrast. To this end, a nonlinear function is used to modify the representation coefficients in such a way that details of the small amplitude are enlarged at the expense of the larger ones and perform this uniformly over all scales. Definition of the function parameters based on some statistical features of curvelet coefficients the input image is very beneficial to adapt the function better with every input image. Therefore, there is a need for a nonlinear function, such as y, to multiply against the transform.
1) Applying FDCT via wrapping method, we get a set of scales Sj , each scale consists of a set of directional bands Di containing coefficients.
2) For each directional band in each scale Dji, do the following: a) Calculate the noise standard deviation ij ; b) Determine the value of m. 3) Multiply each coefficient individually by corresponding y. 4) Reconstruct the enhanced image using modified curvelet coefficients.
3.3.1 Software Requirements MATLAB 7.5 Software Description MATLAB is used as front end tool. The reason for selecting MATLAB as front end tool are as follows:
MATLAB is a high-level language and interactive environment that enables you to perform computationally intensive tasks faster than with traditional programming languages such as C, C++, and FORTRAN.
MATLAB allows matrix manipulations, plotting of functions and data, implementation +, and Fortran. of algorithms, creation of user interfaces, and interfacing with programs written in other languages, including C, C+
MATLAB is a "Matrix Laboratory", and as such it provides many convenient ways for creating vectors, matrices, and multi-dimensional arrays.
MATLAB supports structure data types. Since all variables in MATLAB are arrays, a more adequate name is "structure array", where each element of the array has the same field names.
MATLAB supports elements of lambda-calculus by introducing function handles, or function references, which are implemented either in .m files or anonymous/nested functions.
MATLAB also carries secondary programming which incorporates the MATLAB standard code into a more user friendly way to represent a function or system.
MATLAB's support for object-oriented programming includes classes, inheritance, virtual dispatch, packages, pass-by-value semantics, and pass-by-reference semantics.