EASE Scheme of Image Zooming Documentation

73
The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB ABSTRACT: Earlier there are different interpolation techniques for de- blurring of images. When an image is zoomed a checkerboard effect arises in the images. In order to remove/reduce interpolation artifacts such as image blur and the checkerboard effect (ringing), EASE tries to amend the interpolation error by employing the classical interpolation error theorem in an edge-adaptive fashion. In this project we are using an interpolation method, called the error-amended sharp edge (EASE) scheme, which is a modified bilinear method. In order to remove/reduce interpolation artifacts such as image blur and the checkerboard effect (ringing), EASE tries to amend the interpolation error by employing the classical interpolation error theorem in an edge-adaptive fashion. EASE is applied for image zooming by both integer and non integer magnification factors. The new interpolation scheme has proved to result in high-resolution images having clearer and sharper edges than linear interpolation methods, for all synthetic and natural images we are testing using MATLAB 7.0. EASE can be implemented with ease; it turns out to be similarly efficient as cubic interpolation schemes. More effective interpolation methods are yet to be developed in order to accurately preserve the edge orientation without introducing a high computation cost. This ease scheme is developed using MATLAB 7.0 software Dept of ECE, GPREC, KNL Page 1

description

Image Processing and MAtlab implementation documentation for final project

Transcript of EASE Scheme of Image Zooming Documentation

Page 1: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

ABSTRACT:

Earlier there are different interpolation techniques for de-blurring of images. When an image

is zoomed a checkerboard effect arises in the images. In order to remove/reduce interpolation

artifacts such as image blur and the checkerboard effect (ringing), EASE tries to amend the

interpolation error by employing the classical interpolation error theorem in an edge-adaptive

fashion. In this project we are using an interpolation method, called the error-amended sharp

edge (EASE) scheme, which is a modified bilinear method.

In order to remove/reduce interpolation artifacts such as image blur and the checkerboard

effect (ringing), EASE tries to amend the interpolation error by employing the classical

interpolation error theorem in an edge-adaptive fashion. EASE is applied for image zooming

by both integer and non integer magnification factors. The new interpolation scheme has

proved to result in high-resolution images having clearer and sharper edges than linear

interpolation methods, for all synthetic and natural images we are testing using MATLAB

7.0. EASE can be implemented with ease; it turns out to be similarly efficient as cubic

interpolation schemes. More effective interpolation methods are yet to be developed in order

to accurately preserve the edge orientation without introducing a high computation cost. This

ease scheme is developed using MATLAB 7.0 software

Index Terms—Checkerboard effect, directional Sobel derivative, Error-amended sharp edge

(EASE) scheme, image zooming, interpolation, Interpolation error theorem.

Dept of ECE, GPREC, KNL Page 1

Page 2: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

1. INTRODUCTION

IMAGE re-sampling consists of two basic steps: interpolation and evaluation

(sampling). Image interpolation turns discrete data into a continuous function, which is

necessary for various geometric transform of discrete images. There are two kinds of

interpolation methods: linear and nonlinear ones. For linear methods, diverse interpolation

kernels of finite size have been introduced, in the literature, as approximations of the ideal

interpolation kernel (the sinc function) which is spatially unlimited. However, such linear

interpolation methods have been introduced without considering specific local information on

edges. Thus, they may bring up artifacts, such as the checkerboard effect or image blur, when

the image content shows discontinuities or edges.

Nonlinear interpolation methods have been suggested to reduce the artifacts of linear

methods. The major step in the nonlinear methods is to either fit the edges with some

templates or predict edge information for the high resolution image from the low resolution

one. However, these nonlinear methods are often computation-intensive and they can be one

to two orders more expensive than linear methods for 2-D images. Furthermore, they may

become ineffective in the estimation of the edge orientation for the class of edge models with

fine scales (e.g., tightly packed edges that can be commonly found in the texture patterns).

More effective interpolation methods are yet to be developed in order to accurately preserve

the edge orientation without introducing a high computation cost.

Recently, the authors have studied edge-forming methods as a post process of

conventional interpolation schemes, to form clear and sharp edges by applying partial

differential equations (PDEs) of anisotropic diffusion. Such PDE-based methods have proved

to form reliable edges satisfactorily for image zooming by integer and non integer

magnification factors, for both gray-scale and color images.

1.1 Image sensing and Acquisition

Most of the images in which we are interested are generated by the combination of an

illumination source and reflection or absorption of energy from that source by the elements of

the scene being imaged. We enclose illumination and scene in quotes to emphasize the fact

that they are considerably more general than the familiar situation in which the visible light

source illuminates a common everyday 3D (three dimensional) scene. For example, the

illumination may originate from a source such as ultrasound or even a computer generated

illumination pattern. Similarly, the scene elements could be familiar objects, but they can just

Dept of ECE, GPREC, KNL Page 2

Page 3: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

as easily be molecules, buried rock formations, or a human brain. Depending on the nature of

the source, illumination energy is reflected from, or transmitted through, objects .An example

in the first category is light reflected from a planar surface .An example in the second

category when x-rays pass through a diagnostic x-ray film. In some applications the reflected

or transmitted energy is focused onto a photo converter which converts energy into visible

light.

The below figure shows the three principal sensor arrangements used to transform

illumination energy into digital images. The idea is simple: Incoming energy is transformed

into a voltage by the combination of input electrical power and sensor material that is

responsive to the particular type of energy being detected, the output voltage waveform is the

response of the sensor and a digital quantity is obtained from the each sensor by digitising the

response.

FIG 1.1

In order to generate a 2D image using a single sensor there has to be relative displacement in

both x and y directions between the sensor and the area to be imaged .In this a film negative

is mounted onto a drum whose mechanical rotation provides displacement in one dimension.

A single sensor is mounted on a lead screw that provides motion in the perpendicular

direction. Because mechanical rotation can be controlled with high precision , this method is

inexpensive but slow way to obtain high resolution images other similar mechanical

arrangements use a flat bed, with the sensor moving in two linear directions.

1.2 Sampling and Quantization

When we want to convert a continuous image digital image .An image may be continuous

with respect to x and y directions, and also in amplitude .To convert into a digital form, we

Dept of ECE, GPREC, KNL Page 3

Page 4: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

have to sample the function in both coordinates and in amplitude. Digitizing the coordinate’s

values is called sampling. Digitizing the amplitude values is called quantization.

1.3What is Resampling?

Digital images consist of a rectangular grid of evenly spaced pixels. Each pixel can be

thought of as a measurement or sample of the light from a subject. Commonly, the original

samples are obtained using a scanner or digital camera by averaging the amount of red, green

and blue light that falls on the sensitive area of each of its CCD sensing elements.

Resampling is the mathematical technique used to create a new version of the image with a

different width and/or height in pixels. Increasing the size of an image is called upsampling;

reducing its size is called downsampling.

When images are upsampled, the number of pixels increases, but, with reference to the

original subject, new image detail cannot be created that was not already present in the

original image. As a result, images normally become softer the more they ar enlarged since

the amount of information per pixel goes down.

When images are downsampled, information in the original image has to be discarded to

make the image smaller. Thus if you downsample and then upsample an image, you will not

get all the original image detail back. Downsampling a soft image can make it appear sharper

even though it contains less information than the original.

Why is Resampling Important?

A few situations where image resampling comes into play are:

Reducing the size of an image from a scanner or digital camera for emailing or

display on the web.

This step is normally followed by saving the file in JPEG format and uploading

it to a web site or attaching it to an email message.

Increasing the size of an image before or during the printing process.

Printing an image almost always requires resampling it as it will usually be too small or too

large to make a print of the desired size. This resampling is handled automatically by your

Windows printer driver. Most drivers do a good job of resizing images, but you can resample

the image yourself prior to printing if you suspect the driver is not doing a good job.

How Resampling Works

It turns out that resampling a 2-dimensional image can be broken down into two one-

dimensional resampling passes. In one pass, horizontal resampling is performed producing an

Dept of ECE, GPREC, KNL Page 4

Page 5: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

image with a different width but the same height. In the next pass, this intermediate image is

resampled vertically, changing it height while leaving the width the same. This is

computationally much more efficient than trying to combine the work into a single pass.

Upsampling involves interpolating between the existing pixels to obtain an estimate of their

values at the new pixel locations. Downsampling involves computing a weighted average of

the original pixels that overlap each new pixel.

In the mathematical subfield of numerical analysis, interpolation is a method of constructing

new data points within the range of a discrete set of known data points.

In engineering and science one often has a number of data points, as obtained by sampling or

experimentation, and tries to construct a function which closely fits those data points. This is

called curve fitting or regression analysis. Interpolation is a specific case of curve fitting, in

which the function must go exactly through the data points.

A different problem which is closely related to interpolation is the approximation of a

complicated function by a simple function. Suppose we know the function but it is too

complex to evaluate efficiently. Then we could pick a few known data points from the

complicated function, creating a lookup table, and try to interpolate those data points to

construct a simpler function. Of course, when using the simple function to calculate new data

points we usually do not receive the same result as when using the original function, but

depending on the problem domain and the interpolation method used the gain in simplicity

might offset the error.

1.4 DEFINITION OF INTERPOLATION

From inter meaning between and pole, the points or nodes. Any means of calculating a new

point between two existing data points is therefore interpolation. There are many methods for

doing this, many of which involve fitting some sort of function to the data and evaluating that

function at the desired point. This does not exclude other means such as statistical methods of

calculating interpolated data. The simplest form of interpolation is to take the mean average

of x and y of two adjacent points to find the mid point. This will give the same result as linear

interpolation evaluated at the midpoint.

Dept of ECE, GPREC, KNL Page 5

Page 6: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

Given a sequence of n distinct numbers xk called nodes and for each xk a second number yk,

we are looking for a function f so that,

A pair xk, yk is called a data point and f is called an interpolant for the data points.

When the numbers yk are given by a known function f, we sometimes write fk.

Figure 1.1: An interpolation of a finite set of points on an epitrochoid.

In the above figure, the points through which curve is splined are red; the blue curve

connecting them is interpolation.

So, the Interpolation provides a means of estimating the function at intermediate points. This

can be explained in detail by taking an example given below.

For example, suppose we have a table like this, which gives some values of an unknown

function f.

Dept of ECE, GPREC, KNL Page 6

Page 7: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

Figure 1.2: Plot of the data points as given in the table.

Interpolation provides a means of estimating the function at intermediate points, such as

x = 2.5.

Image interpolation techniques often are required in medical imaging for image generation

(e.g., discrete back projection for inverse Radon transform) and processing such as

compression or re sampling. Since the ideal interpolation function spatially is unlimited,

several interpolation kernels of finite size have been introduced. This thesis compares

1) Nearest neighbour interpolation

2) Bi-linear interpolation

3) Bi-cubic interpolation

4) B-spline interpolation

The comparison is done by:

1) Spatial and Fourier analyses;

2) Computational complexity as well as runtime evaluations; and

3) Qualitative and quantitative interpolation error determinations for particular interpolation

tasks which were taken from common situations in medical image processing.

For local and Fourier analyses, a standardized notation is introduced and fundamental

properties of interpolators are derived. Successful methods should be direct current (DC)-

Dept of ECE, GPREC, KNL Page 7

x f(x)

0

1

2

3

4

5

6

0

0.8415

0.9093

0.1411

−0.7568

−0.9589

−0.2794

Page 8: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

constant and interpolators rather than DC-inconstant or approximators. Each method’s

parameters are tuned with respect to those properties. This results in three novel kernels,

which are introduced in this chapter and proven to be within the best choices for medical

image interpolation: the 6 X 6 Blackman–Harris windowed sinc interpolator, and the C2-

continuous cubic kernels with N = 6 and N = 8 supporting points. For quantitative error

evaluations, a set of 50 direct digital X rays was used. They have been selected arbitrarily

from clinical routine. In general, large kernel sizes were found to be superior to small

interpolation masks. Except for truncated sinc interpolators, all kernels with N = 6 or larger

sizes perform significantly better than N = 2 or N = 3 point methods (p << 0:005). However,

the differences within the group of large sized kernels were not significant. Summarizing the

results, the cubic 6 X 6 interpolator with continuous second derivatives and can be

recommended for most common interpolation tasks. It appears to be the fastest six-point

kernel to implement computationally. It provides eminent local and Fourier properties, is easy

to implement, and has only small errors. The same characteristics apply to B-spline

interpolation, but the 6 X 6 cubic avoids the intrinsic border effects produced by the B-spline

technique. However, the goal of this study was not to determine an overall best method, but

to present a comprehensive catalogue of methods in a uniform terminology, to define general

properties and requirements of local techniques, and to enable the reader to select that method

which is optimal for his specific application in medical imaging.

Dept of ECE, GPREC, KNL Page 8

Page 9: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

2. MOTIVATION FOR THE THESIS

The issue of quality is particularly relevant to the medical community; for ethical reasons, it

is a prime concern when manipulating data. Any manipulation should result in the least

amount of distortion or artifacts, so as not to influence the clinician’s judgment. For practical

reasons, efficiency is another prime concern. Any processing should result in the least

computational effort, particularly when dealing with the large amount of data involved in

volumetric medical imaging. In this thesis, we analyze the tradeoff between the quality and

the cost of several interpolation methods, and we introduce generalized interpolation as a

means to overcome the limitations of traditional interpolation. The essence of interpolation is

to represent an arbitrary continuously defined function as a discrete sum of weighted and

shifted basis functions. An important issue is the adequate choice of those basis functions.

The traditional view asks that they satisfy the interpolation property, and many researchers

have put a significant effort in optimizing them under this specific constraint

This thesis proposes a new interpolation method, called the Error-Amended Sharp Edge

(EASE) scheme. EASE is a modified bilinear method which tries to amend the interpolation

error in an edge-adaptive way by employing the Interpolation Error Theorem. The resulting

scheme has proved to result in zoomed images having sharper edges than bilinear, C1-

bicubic, and C2-bicubic interpolation methods. EASE is similarly efficient as cubic

interpolation methods and can be implemented with ease.

In this project, the performance of EASE Scheme has been found though the simulation in

MATLAB and the results have been compared with the nearest neighborhood method.

2.1 OBJECTIVES

The objective will be to implement an Error-Amended Sharp Edge (EASE) Scheme for

Image Zooming. The development tool used will be MATLAB. MATLAB provides an

excellent RAD environment, with its image processing toolbox, and high level programming

methodology. The system is to be composed of a number of sub-systems, which correspond

to each stage of image processing. MATLAB has few in built functions for interpolation of

images. Using these techniques some of the basic Zooming techniques like Nearest neighbor

interpolation, Bi-linear and Bi-cubic interpolation can be performed. Additionally, the EASE

technique can be implemented using MATLAB more conveniently.

Dept of ECE, GPREC, KNL Page 9

Page 10: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

3 MATLAB

MATLAB is a high-performance language for technical computing. It integrates

computation, visualization, and programming in an easy-to-use environment where problems

and solutions are expressed in familiar mathematical notation. MATLAB is used convert .avi

or .mpg to text format. Typical uses include:

Math and computation

Algorithm development

Modeling, simulation, and prototyping

Data analysis, exploration, and visualization

Scientific and engineering graphics

Application development, including graphical user interface building.

MATLAB is an interactive system whose basic data element is an array that does not require

dimensioning. This allows you to solve many technical computing problems, especially those

with matrix and vector formulations, in a fraction of the time it would take to write a program

in a scalar no interactive language such as C or FORTRAN.

The name MATLAB stands for matrix laboratory. MATLAB was originally written to

provide easy access to matrix software developed by the LINPACK and EISPACK projects.

Today, MATLAB uses software developed by the LAPACK and ARPACK projects, which

together represent the state-of-the-art in software for matrix computation.

MATLAB has evolved over a period of years with input from many users. In university

environments, it is the standard instructional tool for introductory and advanced courses in

mathematics, engineering, and science. In industry, MATLAB is the tool of choice for high-

productivity research, development, and analysis.

The MATLAB system consists of five main parts:

Development Environment. This is the set of tools and facilities that help you use

MATLAB functions and files. Many of these tools are graphical user interfaces. It

includes the MATLAB desktop and Command Window, a command history, and

browsers for viewing help, the workspace, files, and the search path.

Dept of ECE, GPREC, KNL Page 10

Page 11: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

The MATLAB Mathematical Function Library. This is a vast collection of

computational algorithms ranging from elementary functions like sum, sine, cosine,

and complex arithmetic, to more sophisticated functions like matrix inverse, matrix

eigenvalues, Bessel functions, and fast Fourier transforms.

The MATLAB Language. This is a high-level matrix/array language with control

flow statements, functions, data structures, input/output, and object-oriented

programming features. It allows both "programming in the small" to rapidly create

quick and dirty throw-away programs, and "programming in the large" to create

complete large and complex application programs.

Handle Graphics. This is the MATLAB graphics system. It includes high-level

commands for two-dimensional and three-dimensional data visualization, image

processing, animation, and presentation graphics. It also includes low-level

commands that allow you to fully customize the appearance of graphics as well as to

build complete graphical user interfaces on your MATLAB applications.

The MATLAB Application Program Interface (API). This is a library that allows

you to write C and FORTRAN programs that interact with MATLAB. It include

facilities for calling routines from MATLAB (dynamic linking), calling MATLAB as

a computational engine, and for reading and writing MAT-files.

3.1 MATLAB's desktop tools:

You can also use MATLAB functions to perform most of the features found in the desktop

tools. The tools are:

Command Window

Command History

Launch Pad

Help Browser

Current Directory Browser

Workspace Browser

Array Editor

Editor/Debugger

Command Window: Use the Command Window to enter variables and run functions and

M-files.

Dept of ECE, GPREC, KNL Page 11

Page 12: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

Command History: Lines you enter in the Command Window are logged in the Command

History window. In the Command History, you can view previously used functions, and copy

and execute selected lines. To save the input and output from a MATLAB session to a file,

use the diary function.

You can run external programs from the MATLAB Command Window. The exclamation

point character is a shell escape and indicates that the rest of the input line is a command to

the operating system. This is useful for invoking utilities or running other programs without

quitting MATLAB. On Linux, for example, Macs magik.m invokes an editor called emacs

for a file named magik.m. When you quit the external program, the operating system returns

control to MATLAB.

Launch Pad: MATLAB's Launch Pad provides easy access to tools, demos, and

documentation.

Help Browser: Use the Help browser to search and view documentation for all your Math

Works products. The Help browser is a Web browser integrated into the MATLAB desktop

that displays HTML documents. Use to Help Navigator to find information. It includes:

Product filter - Set the filter to show documentation only for the products you

specify.

Contents tab - View the titles and tables of contents of documentation for your

products.

Index tab- Find specific index entries (selected keywords) in the Math Works

documentation for your products.

Search tab- Look for a specific phrase in the documentation. To get help for a specific

function, set the Search type to Function Name.

Favorites tab- View a list of documents you previously designated as favorites.

After finding documentation using the Help Navigator, view it in the display pane. While

viewing the documentation, you can:

Browse to other pages - Use the arrows at the tops and bottoms of the pages, or use

the back and forward buttons in the toolbar.

Bookmark pages - Click the Add to Favorites button in the toolbar.

Print pages - Click the print button in the toolbar.

Dept of ECE, GPREC, KNL Page 12

Page 13: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

Find a term in the page - Type a term in the Find in page field in the toolbar and click

Go.

Other features available in the display pane are: copying information, evaluating a selection,

and viewing Web pages.

Current Directory Browser: MATLAB file operations use the current directory and the

search path as reference points. Any file you want to run must either be in the current

directory or on the search path.

T o determine how to execute functions you call, MATLAB uses a search path to find M-files

and other MATLAB-related files, which are organized in directories on your file system. Any

file you want to run in MATLAB must reside in the current directory or in a directory that is

on the search path. By default, the files supplied with MATLAB and Math Works toolboxes

are included in the search path.

Workspace Browser: The MATLAB workspace consists of the set of variables (named

arrays) built up during a MATLAB session and stored in memory. You add variables to the

workspace by using functions, running M-files, and loading saved workspaces.

To view the workspace and information about each variable, use the Workspace browser, or

use the functions who and whos. To delete variables from the workspace, select the variable

and select Delete from the Edit menu. Alternatively, use the clear function. The workspace is

not maintained after you end the MATLAB session. To save the workspace to a file that can

be read during a later MATLAB session, select Save Workspace As from the File menu, or

use the save function. This saves the workspace to a binary file called a MAT-file, which has

a .mat extension. There are options for saving to different formats. To read in a MAT-file,

select Import Data from the File menu, or use the load function.

Array Editor: Double-click on a variable in the Workspace browser to see it in the Array

Editor. Use the Array Editor to view and edit a visual representation of one- or two-

dimensional numeric arrays, strings, and cell arrays of strings that are in the workspace.

Editor/Debugger: Use the Editor/Debugger to create and debug M-files, which are programs

you write to run MATLAB functions. The Editor/Debugger provides a graphical user

interface for basic text editing, as well as for M-file debugging.

Dept of ECE, GPREC, KNL Page 13

Page 14: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

You can use any text editor to create M-files, such as Emacs, and can use preferences

(accessible from the desktop File menu) to specify that editor as the default. If you use

another editor, you can still use the MATLAB Editor/Debugger for debugging, or you can

use debugging functions, such as dbstop, which sets a breakpoint.

If you just need to view the contents of an M-file, you can display it in the Command

Window by using the type function. MATLAB features a family of application-specific

solutions called toolboxes. Very important to most users of MATLAB, toolboxes allow you

to learn and apply specialized technology. Toolboxes are comprehensive collections of

MATLAB functions (M-files) that extend the MATLAB environment to solve particular

classes of problems. Areas in which toolboxes are available include signal processing, control

systems, neural networks, fuzzy logic, wavelets, simulation, and many others.

3.2 IMAGE PROCESSING TOOLBARS:

The Image Processing Toolbox software is a collection of functions that extend the capability

of the MATLAB numeric computing environment. The toolbox supports a wide range of

image processing operations, including.

Spatial image transformations

Morphological operations

Neighborhood and block operations

Linear filtering and filter design

Transforms

Image analysis and enhancement

Image registration

Deblurring

Region of interest operations

Many of the toolbox functions are MATLAB M-files, a series of MATLAB statements that

implement specialized image processing algorithms. You can view the MATLAB code for

these functions using the statement

type function name.

Dept of ECE, GPREC, KNL Page 14

Page 15: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

You can extend the capabilities of the toolbox by writing your own M-files, or by using the

toolbox in combination with other toolboxes, such as the Signal Processing Toolbox™

software and the Wavelet Toolbox™ software.

This example introduces some basic image processing concepts. The example starts by

reading an image into the MATLAB workspace. The example then performs some contrast

adjustment on the image. Finally, the example writes the adjusted image to a file.

Read and Display an Image

First, clear the MATLAB workspace of any variables and close open figure windows.

Close all;

To read an image, use the imread command. The example reads one of the sample images

included with the toolbox, pout.tif, and stores it in an array named I.

I = imread('pout.tif');

imread infers from the file that the graphics file format is Tagged Image File Format (TIFF).

For the list of supported graphics file formats, see the imread function reference

documentation. Now display the image.

The toolbox includes two image display functions

imshow and imtool. imshow is the toolbox’s fundamental image display function. imtool

starts the Image Tool which presents an integrated environment for displaying images and

performing some common image processing tasks. The Image Tool provides all the image

display capabilities of imshow but also provides access to several other tools for navigating

and exploring images, such as scroll bars, the Pixel Region tool, Image Information tool, and

the Contrast Adjustment tool. For more information,“Displaying and Exploring Images”. You

can use either function to display an image. This example uses imshow.

Imshow (I)

Dept of ECE, GPREC, KNL Page 15

Page 16: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

To write the newly adjusted image I2 to a disk file, use the imwrite function. If you include

the filename extension '.png', the imwrite function writes the image to a file in Portable

Network Graphics (PNG) format, but you can specify other formats.

imwrite (I2, 'pout2.png');

See the imwrite function reference page for a list of file formats it supports. See also Writing

Image Data to a File” on page 3-5 for more information about writing image data to files.

First, clear the MATLAB workspace of any variables, close open figure windows, and close

all open Image Tools.

close all

Read and display the grayscale image rice.png.

I = imread('rice.png');

imshow(I)

The Image Processing Toolbox software includes two display functions, imshow and imtool.

Both functions work within the Handle Graphics architecture: they create an image object

and display it in an axes object contained in a figure object. To display image data, use the

imshow function. The following example reads an image into the MATLAB workspace and

then displays the image in a MATLAB figure window.

moon = imread('moon.tif');

imshow(moon);

The imshow function displays the image in a MATLAB figure window, as shown in the

following figure.

Dept of ECE, GPREC, KNL Page 16

Page 17: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

Image Displayed in a Figure Window by imshow

READING IMAGE DATA

To import an image from any supported graphics image file format, in any of the supported

bit depths, use the imread function. This example reads a truecolor image into the MATLAB

workspace as the variable RGB.

RGB = imread('football.jpg');

If the image file format uses 8-bit pixels, imread stores the data in the workspace as a uint8

array. For file formats that support 16-bit data, such as PNG and TIFF, imread creates a

uint16 array. imread uses two variables to store an indexed image in the workspace: one for

the image and another for its associated colormap. imread always reads the colormap into a

matrix of class double, even though the image array

It may be of class.

[X,map] = imread('trees.tif');

Dept of ECE, GPREC, KNL Page 17

Page 18: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

In these examples, imread infers the file format to use from the contents of the file. You can

also specify the file format as an argument to imread. Imread supports many common

graphics file formats, such as Microsoft® Windows®

Bitmap (BMP), Graphics Interchange Format (GIF), Joint Photographic Experts Group

(JPEG), Portable Network Graphics (PNG), and Tagged Image File Format (TIFF) formats.

For the latest information concerning the bit depths and/or image formats supported, see

imread and informants.

If the graphics file contains multiple images, imread imports only the first image from the

file. To import additional images, you must use imread with format-specific arguments to

specify the image you want to import. In this example, imread imports a series of 27 images

from a TIFF file and stores the images in a four-dimensional array. You can use imfinfo to

determine how many images are stored in the file.

mri = zeros([128 128 1 27],'uint8'); % preallocate 4-D array

for frame=1:27

[mri(:,:,:,frame),map] = imread('mri.tif',frame);

End

Dept of ECE, GPREC, KNL Page 18

Page 19: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

4 INTERPOLATION METHODS

Interpolation is the process used to estimate an image value at a location in between image

pixels. There are many different interpolation methods, some of which are described below.

Some of the concerns to take into account when choosing an appropriate algorithm are: How

accurate is the method? How expensive is it? How smooth is the interpolant? How many data

points are needed?

Common interpolation algorithms can be grouped into two categories: adaptive and non-

adaptive.  Adaptive methods change depending on what they are interpolating (sharp edges

vs. smooth texture), whereas non-adaptive methods treat all pixels equally.

Non-adaptive algorithms include: nearest neighbor, bilinear, bicubic, spline, sinc, lanczos

and others.  Depending on their complexity, these use anywhere from 0 to 256 (or more)

adjacent pixels when interpolating.  The more adjacent pixels they include, the more accurate

they can become, but this comes at the expense of much longer processing time.  These

algorithms can be used to both distort and resize a photo.

 

Original

Adaptive algorithms include many proprietary algorithms in licensed software such as:

Qimage, PhotoZoom Pro, Genuine Fractals and others.  Many of these apply a different

version of their algorithm (on a pixel-by-pixel basis) when they detect the presence of an

edge-- aiming to minimize unsightly interpolation artifacts in regions where they are most

apparent.  These algorithms are primarily designed to maximize artifact-free detail in

enlarged photos, so some cannot be used to distort or rotate an image.

The interpolation methods all work in a fundamentally similar way. In each case, to

determine the value for an interpolated pixel, they find the point in the input image that the

Dept of ECE, GPREC, KNL Page 19

Page 20: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

output pixel corresponds to. They then assign a value to the output pixel by computing a

weighted average of some set of pixels in the vicinity of the point. The weightings are based

on the distance each pixel is from the point.

As we discussed above, for image resampling, the interpolation step must reconstruct a two-

dimensional (2-D) continuous signal s(x.y) from its discrete samples s(k,l). Thus, the

amplitude at the position (x,y) must be estimated from its discrete neighbors. This can be

described formally as the convolution of the discrete image samples with the continuous 2-D

impulse response of a 2-D h(x,y) of a 2-D reconstruction filter

s(x,y) = ∑k ∑l s(k,1).2Dh(x-k,y-1) …………………….. (1)

Usually, symmetrical and separable interpolation kernels are used to reduce the

computational complexity

2Dh(x,y) = h(x).h(y) …………………….. (2)

Fig. 1 illustrates the interpolation of the point (x,y) in a 4X4 neighborhood. Interpolation is

performed in the x direction first. The small grey intermediate points in Fig. 1 are generated

by four one-dimensional (1-D) interpolations. They are used for the final 1-D interpolation in

the y- direction.

Figure1. One-dimensional decomposition of the 2-D N ×N interpolation of the point

(x,y).

4.1 NEAREST NEIGHBOUR INTERPOLATION

Dept of ECE, GPREC, KNL Page 20

Page 21: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

Nearest neighbor is the most basic and requires the least processing time of all the

interpolation algorithms because it only considers one pixel-- the closest one to the

interpolated point.  This has the effect of simply making each pixel bigger.

Here the output pixel is assigned the value of the pixel that the point falls within. No other

pixels are considered i.e; in this method, we are trying to approximate the sinc function by a

spatially limited kernel that can be given by the nearest neighbor. The value s(x) at the

location (x) is chosen as the next known value s(k). Therefore, only N=1 supporting point is

required for the nearest neighbor interpolation. This is tantamount to convolution with a rect

function [Fig. 2(a)]

…………………(3)

Clearly, h1(x) is a DC-constant interpolator

Figure2. Nearest Neighbor Interpolation a) Kernel b) Magnitude of Fourier Transform

c) Logarithmic plot of magnitude

Fig. 2(b) shows that the Fourier spectrum of the nearest neighbor kernel equals the sinc

function (expressed in the frequency domain). The logarithmical scale shows prominent

sidelobes in those regions of the frequency domain where the repetitions of S caused by s

scanning should be suppressed [Fig. 2(c)].

The gain in the pass band rapidly falls off to 2/π 64% at the cutoff point, and the amplitude

of the side maxima is more than 20%. Therefore, strong aliasing and blurring effects are

associated with the nearest neighbor method for image interpolation.

Dept of ECE, GPREC, KNL Page 21

Page 22: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

4.2 BI-LINEAR INTERPOLATION

Bilinear interpolation considers the closest 2x2 neighborhood  of known pixel values

surrounding the unknown pixel.  It then takes a weighted average of these 4 pixels to arrive at

its final interpolated value.  This results in much smoother looking images than nearest

neighbor.

Here the values of both direct neighbors are weighted by their distance to the opposite point

of interpolation. Therefore, the linear approximation of the sinc function follows the

triangular function

……………… (4)

The triangular function h2(x) corresponds to a modest low-pass filter H2(f) in the frequency

domain [figure 3]. Again,h2(0)=1,h2(±1,2,…)=0,H2(0)=1 and H2(±1,2,..)=0.

Figure3. Bi-linear Interpolation a) Kernel b) Magnitude of Fourier Transform c)

Logarithmic plot of magnitude

Therefore, the linear kernel is a Dc constant interpolator. The side lobes in the stop band are

below 10%, which still is considerable. Therefore, the main disadvantages of linear

Dept of ECE, GPREC, KNL Page 22

Page 23: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

interpolation are both the attenuation of high-frequency components and the aliasing of the

data beyond the cutoff point into the low frequencies.

4.3 CUBIC CONVOLUTION:

Cubic convolution determines the grey level from the weighted average of the 16 closest pixels to the specified input coordinates, and assigns that value to the output coordinates or CC calculates a distance weighted average of a block of 16 pixels from the original image which surround the new output pixel location.

Dept of ECE, GPREC, KNL Page 23

Page 24: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

5. INTRODUCTION TO EASE

This thesis explains a new interpolation method, called the error-amended sharp edge

(EASE) scheme, which is a modified bilinear method. In order to remove/reduce

interpolation artifacts such as image blur and the checkerboard effect (ringing), EASE tries to

amend the interpolation error by employing the classical interpolation error theorem in an

edge-adaptive fashion.

EASE is applied for image zooming by both integer and non integer magnification

factors. The new interpolation scheme has proved to result in high-resolution images having

clearer and sharper edges than linear interpolation methods, for all synthetic and natural

images we have tested. EASE can be implemented with ease; it turns out to be similarly

efficient as cubic interpolation schemes.

5.1 ERROR AMENDED SHARP EDGE SCHEME FOR IMAGE

INTERPOLATION

Desirable features of any digital image resolution- enhancement algorithm include exact

interpolation (for 'distortion less' or 'lossless' processing) adjustable resolution, adjustable

smoothness, and ease of computation. As discussed above the image re-sampling consists of

two basic steps: interpolation and evaluation (sampling). Image interpolation turns discrete

data into a continuous function, which is necessary for various geometric transform of

discrete images. There are two kinds of interpolation methods: linear and nonlinear ones. For

linear methods, diverse interpolation kernels of finite size have been introduced, in the

literature, as approximations of the ideal interpolation kernel which is spatially unlimited.

However, such linear interpolation methods have been introduced without considering

specific local information on edges. Thus, they may bring up artifacts, such as the

checkerboard effect or image blur, when the image content shows discontinuities or edges.

Nonlinear interpolation methods have been suggested to reduce the artifacts of linear

methods. The major step in the nonlinear methods is to either fit the edges with some

templates or predict edge information for the high resolution image from the low resolution

one. However, these nonlinear methods are often computation-intensive and they can be one

to two order more expensive than linear methods for 2-D images. Furthermore, they may

become ineffective in the estimation of the edge orientation for the class of edge models with

fine scales(e.g., tightly packed edges that can be commonly found in the texture patterns).

Dept of ECE, GPREC, KNL Page 24

Page 25: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

More effective interpolation methods are yet to be developed in order to accurately preserve

the edge orientation without introducing a high computation cost. Recently, the authors have

studied edge-forming methods as a postprocess of conventional interpolation schemes, to

form clear and sharp edges by applying partial differential equations (PDEs) of anisotropic

diffusion. Such PDE-based methods have proved to form reliable edges satisfactorily for

image zooming by integer and noninteger magnification factors, for both gray-scale and color

images.

In this article, we will introduce a new interpolation method,called the error-amended sharp

edge (EASE) scheme. The EASE scheme is based on the bilinear interpolation method;

however, the interpolation error will be amended by the interpolation error theorem in an

edge-adaptive fashion. In EASE, each resampling evaluation requires at most 12 pixel values

of the low resolution image for the estimation of the edge orientation, and at most seven pixel

values for the resampling. EASE can be implemented with ease. It is applicable to image

zooming by both integer and noninteger magnification factors conveniently. EASE turns out

to be similarly efficient as the C2 -bicubic and bicubic B-spline interpolation schemes;

however, it shows an ability to preserve edges much better than those conventional linear

interpolation schemes.

The organization of this article is as follows. The next section presents a brief review of

linear interpolation methods and the interpolation error theorem, as preliminaries. In the next

section, we introduce the EASE scheme for 1-D signals and 2-D images.

The section discusses strategies for the computation of the error amender in an edge-adaptive

manner and the estimation of the edge orientation. After this section we have presented the

numerical experiments to show superior properties of EASE in the preservation of edges.

Compared with linear methods such as the bilinear, the C1-and C2 -bicubic methods, and the

bicubic B-spline interpolators, the new interpolation scheme results in clearer and sharper

edges for all synthetic, natural, and medical images we have tested. Section V summarizes

our development and experiments.

Dept of ECE, GPREC, KNL Page 25

Page 26: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

5.2 PRELIMINARIES

Discussed here are a number of interpolation methods, this is by no means an exhaustive list

but the methods shown tend to be those in common use in computer graphics. The main

attributes is that they are easy to compute and are stable. Interpolation as used here is

different to "smoothing", the techniques discussed here have the characteristic that the

estimated curve passes through all the given points. The idea is that the points are in some

sense correct and lie on an underlying but unknown curve, the problem is to be able to

estimate the values of the curve at any position between the known points. This section

begins with a brief review of linear interpolation methods. Then, we will present the

interpolation error theorem as a preliminary of our new interpolation scheme.

5.3 LINEAR INTERPOLATION METHODS

Linear interpolation is the simplest method of getting values at positions in between the data

points. The points are simply joined by straight line segments. Each segment (bounded by

two data points) can be interpolated independently.

The interpolation step of image resampling is to construct a 2-D continuous function u(x,y)

from its discrete image samples u(k,l), where x and y are real numbers and k and l are

integers.

It can be formally expressed as the convolution of the discrete image samples with a

continuous 2-D filter H2D

.................... (3.1)

Usually, the interpolation kernel H2D is selected to be symmetric and separable to reduce the

computational complexity

……………. (3.2)

Where H is symmetric, i.e., H (-x) =H(x). It is often required for the kernel H to satisfy the

zero crossing condition

H (0) = 1

Dept of ECE, GPREC, KNL Page 26

Page 27: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

H (x) = 0, |x|=1, 2…… ……………(3.3)

And the partition of unity condition

………… (3.4)

The conditions in (3.3) guarantee that the image is not modified if it is resampled on the same

grid, and, therefore, the kernel can avoid smoothing and preserve high frequencies.Kernels

that fulfill (3.3) are called interpolators, while others are called approximators.The condition

(3.4) implies that the energy of the resampled image remains unchanged. In other words, the

mean brightness of the image is not altered when the image is interpolated or resampled.

Kernels that satisfy or fail (3.4) are named respectively direct current (DC)-constant or DC-

inconstant. It is known that superior kernels are interpolators and DC-constant. The converse

is not always true.

Here, for a completeness of the article, we present a few kernels of linear interpolation

methods, with which our new interpolation scheme will be compared. In particular, we

consider popular ones such as the linear, cubic, and cubic B-spline kernels

…….. (3.5)

Where a is a parameter, * denotes the convolution, and

Dept of ECE, GPREC, KNL Page 27

Page 28: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

Here,H3 is the cubic B-spline approximator , while HB- spline is its associated cubic B-spline

interpolator satisfying the zero crossing condition (3.3)and the partition of unity condition

(3.4) . The interpolator Hcubic is C1- continuous, in general; one can impose C2- continuity by

setting

a=-3/4.

5.4 INTERPOLATION ERROR THEOREM

The following theorem can be found in most textbooks dealing with introductory

numerical methods.

Theorem 1: (Interpolation Error Theorem): Let the interval be partitioned in to {a=

x0<x1<…..< Xn =b} and an N th-order polynomial Pn interpolate at the nodal points of the

partitioning. Assume that uN+1 (x) exists for each x Є[a,b]. Then, for every x Є [a,b], there is a

point ξЄ[a,b] such that

……….. (3.6)

Furthermore, assume that the points are uniformly spaced and max xЄ[a,b] | uN+1(x)| ≤ M

, for some M>0. Then

…….. (3.7)

When N=1, it follows from the theorem that for two points x0 and x0+h, there is a

point ξ between x0 and x0+h such that

……… (3.8)

For x = x0+ (j/k)h, where k is an integer (k≥2) and j= 1,…..,k-1, we have

Dept of ECE, GPREC, KNL Page 28

Page 29: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

……… (3.9)

for some ξj Є (x0,x0+h). In particular, when k=2 and j=1, the above identity becomes

……….. (3.10)

For some ξ1 Є (x0, x0+h).

In the next section, we will explore the interpolation error theorem, particularly (3.9)

and (3.10), in order to derive an effective interpolation scheme. For later references, we

define the second-order Newton polynomial interpolating over {x i-1, xi,xi+1}, where xi- xi-1 =

xi+1- xi=h, as

………(3.11)

5.5. IMPLEMENTATION OF EASE

This section introduces EASE which tries to amend the error of the bilinear method

by adopting the interpolation error theorem in an edge-adaptive way. The only assumption we

need is that the given image is locally smooth.

A. EASE FOR 1-D SIGNALS

Dept of ECE, GPREC, KNL Page 29

Page 30: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

We will begin with the EASE scheme applied for the interpolation of an 1-D signal. Pick a

point P Є (xi, xi+1) as in Fig. 1, where u is to be evaluated. For simplicity, we first let p be the

midpoint of xi and xi+1

Then it follows from (3.10) that

…………. (3.12)

Where Ci+1/2 is an error-amender defined as

………….. (3.13)

For some ξ1 Є (xi,xi+1).

The error-amender Ci+1/2 is ideally the vertical distance connecting the two points in

Fig. 1 marked by o and □. The error-amender is not available for the current interpolation;

however, it may be estimated by utilizing the following quantities:

……… (3.14)

Here it must be noticed that C L and C R can be considered as error-amenders when the

signal u is to be interpolated from a lower resolution. For example, since

Dept of ECE, GPREC, KNL Page 30

Page 31: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

It follows from (3.10) that the quantity C L can be seen as an error-amender which represents

the interpolation error

…………… (3.15)

for some ξ2 Є (xi-1,xi+1) . Now we assume that the second derivative u” varies little over

(xi-1,xi+1). Then from (3.13) and (3.15), we have

Thus, assuming that the second derivative u “ varies little on each smooth portion of

the signal, we suggest the EASE scheme for the interpolation of 1-D signals

(by a magnification factor of 2 ) as follows:

……… (3.16)

Where CL and CR are defined as in (3.14) and

The “minmod” determines the direction of the error-amending. When the values CL and CR

have different signs, the interval (xi, xi+1) is assumed to contain either an edge or an

inflection point, and, therefore, the linear interpolation scheme can be accurate enough to

evaluate ui+1/2 . The minmod function chooses the minimum in modulus when and show the

same sign. The EASE scheme is an edge-adaptive interpolation scheme; it is nonlinear

overall due to the involvement of the minmod function.

Dept of ECE, GPREC, KNL Page 31

Page 32: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

The above scheme can be applied for image zooming by a magnification factor of k ≥2 . The

EASE scheme for the interpolation of 1-D signals (by a magnification factor of k ≥2) can be

formulated as follows: for xi+j/k= xi+ j/k, j=1,….,k-1

………….(3.17)

Where

And Di-1(j/k) is defined to be the difference between,p2,1,i-1 and the linear

interpolation of ui-1 and ui+1, both evaluated at xi-1+2j/k

…………….(3.18)

Where p2,1,i-1 is defined in (3.11).

We close this subsection along with the following remarks.

• EASE has been developed based on the assumption that u” varies little. Thus, it may reveal

common artifacts (such as image blur and ringing) at pixels where the image content is

varying fast locally. The selection process in the minmod function is introduced in order to

reduce the

ringing artifact in the interpolation result and to incorporate an edge-adaption mechanism as

well. In practice, EASE has interpolated various images satisfactorily and more effectively

than other linear interpolation methods.

• EASE can be applied for image zooming by arbitrary magnification factor; for each

interpolation point, the evaluation can be performed by linear interpolation followed by an

error-amending. Note that (3.17) and (3.18) are still valid although j/k is replaced by a real

number ξЄ(0,1). Given CL and CR , the minmod function determines the same error-amending

direction for all sampling points xi+ξЄ (xi+xi+1).

B. EASE FOR 2-D IMAGES

In Fig. 2, we present an illustration of EASE to be applied for the (2× 2)-magnification of 2-

D images. The solid circular dots indicate pixels from the original image of low resolution.

Dept of ECE, GPREC, KNL Page 32

Page 33: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

We begin with the interpolation for the points marked by □ , the aligned points. There, the

values can be computed by applying the 1-D EASE scheme presented in Section III-A. This

step can

be simply performed by computing a series of 1-D directional (horizontal or vertical)

interpolations.

Let all values at the aligned points be evaluated. Then, we must determine values at

points marked by }, the interior points. We will evaluate these values by trying to interpolate

along the local edge direction. In order to estimate the edge orientation, we first compute

absolute values of four directional Sobel derivatives at each circled point (i+1/2,j+1/2)

Dept of ECE, GPREC, KNL Page 33

Page 34: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

…………..(3.19)

Assuming that the image content on the edges is locally bilinear, we can see that the

edge direction is between the two directions that evaluate the two smallest directional Sobel

derivatives. Furthermore, the two flattest directions can be proved to be adjacent

to each other, i.e., they differ by 45degrees ; see Section III-C below.

Let Dp and Dq be the two smallest directional Sobel derivatives, respectively, in the

vertical/horizontal direction and the 45 /135 degrees direction

………….(3.20)

Then, the interpolation formula along the edge direction can be derived as follows:

………….(3.21)

Dept of ECE, GPREC, KNL Page 34

Page 35: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

The claim that the two flattest directions differ by 45 degrees plays an important role

in the estimation of the edge direction, because otherwise the edge orientation is difficult to

determine and the formula (3.21) is hardly meaningful. It is straightforward to apply the

above scheme for image zooming of a k×k –magnification where k≥2 is an integer. The

aligned points can again be determined as for 1-D signals. For the interior points ( s), the four

directional Sobel derivatives can be computed as in image zooming by (2×2)-magnification.

Once the two flattest directions are determined, the interpolation along the estimated edge

direction can be fulfilled correspondingly for all (k-1)×(k-1) interior sampling points,

utilizing the same estimated edge orientation. For example, assume that D1(horizontal) and

D2 (450) are the two smallest directional Sobel derivatives, as in Fig. 3. Then the

interpolation procedure for every interior point (marked by ) can be summarized as follows.

1) Compute four values at the corresponding aligned points( □s) which are in either the

horizontal or 450 direction from the interior point(o) . The 1-D EASE scheme is utilized for

the computation of values at the aligned points.

2) Obtain L1 and L2 which interpolate linearly the aligned values for the interior point in the

horizontal and 450 directions, respectively.

3) Evaluate the value at o ,u0 , utilizing the formula (3.21)

…………..(3.22)

Dept of ECE, GPREC, KNL Page 35

Page 36: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

where L1 and L2 are obtained at the previous step.

Note that EASE utilizes 12 points in maximum for the estimation of the edge

orientation: the four corner points and two nearest points outside each of four sides. On the

other hand, it

fulfills the sampling by utilizing 3, 5, 6, or 7 pixel values of the low resolution image. It is

clear to see that the support of the EASE interpolation kernel is a proper subset of those of

cubic

schemes such as the C2-bicubic and bicubic B-spline methods.

The basic idea of EASE is applicable for higher-order linear interpolation schemes

along with corresponding error-amenders. However, higher-order interpolation schemes may

introduce higher levels of image blur or checkerboard effect. The major challenge in image

zooming is to estimate local edges in order not to interpolate the data across them. EASE is

designed to be both low order (requiring a small support for the interpolation kernel) and

edge-adaptive.

Dept of ECE, GPREC, KNL Page 36

Page 37: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

6. EXPERIMENTAL RESULTS

Input image:

RGB to Gray 100% of the image

Dept of ECE, GPREC, KNL Page 37

Page 38: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

Image zoomed to 400% using nearest neighborhood method in Matlab

Dept of ECE, GPREC, KNL Page 38

Page 39: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

Imaged Zoomed using EASE Scheme by a factor 4

Dept of ECE, GPREC, KNL Page 39

Page 40: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

Comparison of EASE and nearest neighborhood methods

Dept of ECE, GPREC, KNL Page 40

Page 41: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

7. Source Code:

%NOTE:program for ease k*k */

function a=e2(img,img2,m,n,k);

k=4;

img2=imread('kalam.jpg');

imview(img2);

%Function to convert RGB image to gray image*/

[m,n,z]=size(img2);

%To conver the data clause of the image to double*/

if z==3

img1=rgb2gray(img2);

imview(img1);

else

img1=img2;

end

img=im2double(img1);

% Zero padding and preallocating the memory*/

a=zeros(k*m+k*3,k*n+k*3);

%Transfering the pixel values from input image to the output image*/

count2=0;

for j=k+1:k:(k*n+1)

count1=0;

count2=count2+1;

for i=k+1:k:(k*m+1)

count1=count1+1;

a(i,j)=a(i,j)+img(count1,count2);

end

Dept of ECE, GPREC, KNL Page 41

Page 42: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

end

%To find the aligned points in horizontal direction*/

for j=k+1:k:k*m

for i=k+2:k:k*n

%Calculating minmod function*/

c1=a(j,i-1)-(a(j,i-k-1)+a(j,i+k-1))*0.5;

c2=a(j,i+k-1)-(a(j,i-1)+a(j,i+2*k-1))*0.5;

if((c1*c2)>0)

if(abs(c1)<=abs(c2))

x=c1;

else

x=c2;

end

else

x=0;

end

for p=1:1:k-1

x1=4*x*(p/k)*(1-p/k);

a(j,i+p-1)=a(j,i+p-1)+a(j,i-1)*(1-p/k)+(p/k)*a(j,i+k-1)+x1*0.25;

end

end

end

%To find the aligned points in vertical direction*/

for i=k+1:k:(k*n+1)

Dept of ECE, GPREC, KNL Page 42

Page 43: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

for j=k+2:k:(k*m+2)

c3=a(j-1,i)-(a(j-k-1,i)+a(j+k-1,i))*0.5;

c4=a(j+k-1,i)-(a(j-1,i)+a(j+2*k-1,i))*0.5;

if((c3*c4)>0)

if(abs(c3)<=abs(c4))

y=c3;

else

y=c4;

end

else

y=0;

end

for p=1:1:k-1

x1=4*y*(p/k)*(1-p/k);

a(j+p-1,i)=a(j+p-1,i)+a(j-1,i)*(1-p/k)+(p/k)*a(j+k-1,i)+x1*0.25;

end

end

end

%To find the interior points*/

for j=k+1:k:k*m+1

for i=k+1:k:k*n+1

%To estimate the edge direction using sobel derivatives*/

x2=a(j,i)-(a(j,i-k)+a(j,i+k))*0.5;

x3=a(j,i+k)-(a(j,i)+a(j,i+2*k))*0.5;

if((x2*x3)>0)

Dept of ECE, GPREC, KNL Page 43

Page 44: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

if(abs(x2)<=abs(x3))

x1=x2;

else

x1=x3;

end

else

x1=0;

end

e1=(a(j,i)+a(j,i+k))*0.5+x1*0.25;

x5=a(j+k,i)-(a(j+k,i-k)+a(j+k,i+k))*0.5;

x6=a(j+k,i+k)-(a(j+k,i)+a(j+k,i+2*k))*0.5;

if((x5*x6)>0)

if(abs(x5)<=abs(x6))

x4=x5;

else

x4=x6;

end

else

x4=0;

end

e2=(a(j+k,i)+a(j+k,i+k))*0.5+x4*0.25;

x8=a(j,i)-(a(j-k,i)+a(j+k,i))*0.5;

x9=a(j+k,i)-(a(j,i)+a(j+2*k,i))*0.5;

if((x8*x9)>0)

if(abs(x8)<=abs(x9))

x7=x8;

Dept of ECE, GPREC, KNL Page 44

Page 45: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

else

x7=x9;

end

else

x7=0;

end

e3=(a(j,i)+a(j+k,i))*0.5+x7*0.25;

x11=a(j,i+k)-(a(j-k,i+k)+a(j+k,i+k))*0.5;

x12=a(j+k,i+k)-(a(j,i+k)+a(j+2*k,i+k))*0.5;

if((x11*x12)>0)

if(abs(x11)<=abs(x12))

x10=x11;

else

x10=x12;

end

else

x10=0;

end

e4=(a(j,i+k)+a(j+k,i+k))*0.5+x10*0.25;

d1=abs(a(j+k,i+k)+2*e1+a(j,i+k)-a(j+k,i)-2*e3-a(j,i));

d2=(sqrt(2))*abs(e1+a(j,i+k)+e4-e3-a(j+k,i)-e2);

d3=abs(a(j,i)+2*e1+a(j,i+k)-a(j+k,i)-2*e2-a(j+k,i+k));

d4=(sqrt(2))*abs(e3+a(j,i)+e1-e2-a(j+k,i+k)-e4);

for j1=1:1:k-1

for i1=1:1:k-1

k1=i1+j1;

k2=i1-j1;

Dept of ECE, GPREC, KNL Page 45

Page 46: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

if(d1<=d3)

dp=d1;

lp=(1-i1/k)*a(j+j1,i)+(i1/k)*a(j+j1,i+k);

elseif(d1>d3)

dp=d3;

lp=(1-j1/k)*a(j,i+i1)+(j1/k)*a(j+k,i+i1);

end

if(d2<=d4)

dq=d2;

if(k1<=k)

lq=(1-i1/k1)*a(j+k1,i)+(i1/k1)*a(j,i+k1);

elseif(k1>k)

lq=((k-i1)/(2*k-k1))*a(j+k,i+k1-k)+(1-((k-i1)/(2*k-k1)))*a(j+k1-k,i+k);

end

elseif(d2>d4)

dq=d4;

if(j1<=i1)

lq=(1-j1/(k-k2))*a(j,i+k2)+(j1/(k-k2))*a(j+k-k2,i+k);

elseif(j1>i1)

lq=(1-i1/(k+k2))*a(j-k2,i)+(i1/(k+k2))*a(j+k,i+k+k2);

end

end

a(j+j1,i+i1)=(1.414*dq*lp/(dp+1.414*dq))+(dp*lq)/(dp+1.414*dq);

end

end

end

end

Dept of ECE, GPREC, KNL Page 46

Page 47: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

%Cropping the image to the required size*/

a1=a(k+1:k*m+2,k+1:k*n+2);

%Output image*/

imview(a1)

Dept of ECE, GPREC, KNL Page 47

Page 48: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

8. CONCLUSIONS

We have introduced a new interpolation method, called the EASE scheme.

EASE is based on the bilinear method and tries to amend the error by utilizing

the interpolation error theorem in an edge-adaptive way.

Effective strategies have been suggested for the computation of the error-

amender and the estimation of edge directions by utilizing local pixel values.

The new interpolation scheme has proved better in accuracy and reliability

than linear interpolation methods such as the bilinear scheme, the C1- and C2-

bicubic methods, and the bicubic B-spline interpolator. EASE turns out to be

similarly efficient as cubic interpolation schemes.

Dept of ECE, GPREC, KNL Page 48

Page 49: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

9. BIBLIOGRAPHY

[1] T. Blu, P. Thévenaz, and M. Unser, “Minimum support interpolators with optimum

approximation properties,” in Proc. IEEE Int. Conf. Image Processing, 1998, pp. 242–245.

[2] T. Blu, P. Thévenaz, and M. Unser, “Linear interpolation revitalized,” IEEE Trans. Image

Processing, vol. 13, no. 5, pp. 710–719, May 2004.

[3] W. Carey, D. Chuang, and S. Hemami, “Regularity-preserving image interpolation,”

IEEE Trans. Image Process., vol. 8, no. 9, pp.1293–1297, Sep. 1999.

[4] Y. Cha and S. Kim, “Edge-forming methods for color image zooming,” IEEE Trans.

Image Process., vol. 15, no. 8, pp. 2315–2323, Aug. 2006.

[5] Y. Cha and S. Kim, “Edge-forming methods for image zooming,” J. Math. Imag. Vis.,

vol. 25, no. 3, pp. 353–364, 2006.

[6] R. Gonzalez and R.Woods, Digital Image Processing, 2nd ed. Upper Saddle River, NJ:

Prentice-Hall, 2002.

[7] H. S. Hou and H. C. Andrews, “Cubic splines for image interpolation and digital

filtering,” IEEE Trans. Acoust., Speech, Signal Process., vol. ASSP-26, no. 6, pp. 508–517,

Jun. 1978.

[8] K. Jensen and D. Anastassiou, “Subpixel edge localization and the interpolation of still

images,” IEEE Trans. Image Process., vol. 4, no. 3, pp. 285–295, May 1995.

[9] R. G. Keys, “Cubic convolution interpolation for digital image processing,” IEEE Trans.

Acoust., Speech, Signal Process., vol. ASSP-29, no. 6, pp. 1153–1160, Jun. 1981.

[10] T. Lehmann, C. Gönner, and K. Spitzer, “Survey: Interpolation methods in medical

image processing,” IEEE Trans. Med. Imag., vol.18, no. 11, pp. 1049–1075, Nov. 1999.

Dept of ECE, GPREC, KNL Page 49

Page 50: EASE Scheme of Image Zooming Documentation

The Error-Amended Sharp Edge (EASE) Scheme for Image Zooming Using MATLAB

[11] T. Lehmann, C. Gönner, and K. Spitzer, “Addendum: B-spline interpolation in medical

image processing,” IEEE Trans. Med. Imag., vol.20, no. 7, pp. 660–665, Jul. 2001.

[12] X. Li and M. Orchard, “New edge-directed interpolation,” IEEE Trans. Image Process.,

vol. 10, no. 10, pp. 1521–1527, Oct. 2001.

[13] P. Thévenaz, T. Blu, and M. Unser, “Interpolation revisited,” IEEE Trans. Med. Imag.,

vol. 19, no. 7, pp. 739–758, Jul. 2000.

[14] M. Unser, A. Aldroubi, and M. Eden, “Enlargement and reduction of digital images with

minimum loss of information,” IEEE Trans. Image Process., vol. 4, no. 3, pp. 247–257, Mar.

1995.

Dept of ECE, GPREC, KNL Page 50