0% found this document useful (0 votes)
40 views19 pages

Java Image Processing Tool From Nih: Imagej

Uploaded by

Fathi Kallel
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views19 pages

Java Image Processing Tool From Nih: Imagej

Uploaded by

Fathi Kallel
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd

ImageJ

 Java image processing tool from NIH


 [Link]

 Reads / writes a large variety of images

 Many image processing operations are implemented


 Good rapid prototyping / testing tool

 Includes the ability to write your own plugins


 Convenient way to implement your own algorithms, using
their image class and i/o methods

1 Ellen L. Walker
Point Processes

 Pixel by pixel transformation

 Output pixel depends only on corresponding input pixel

 Examples:
 Out(r,c) = In(r,c) * 1.25
 Out(r,c) = In(r,c) + 25
 Out(r,c) = (In(r,c))2

2 Ellen L. Walker
Linear Transformations

 Out(r,c) = In(r,c) * gain + bias


 Gain controls contrast
 Bias controls brightness

 Location dependent:
 Out(r,c) = In(r,c) * gain(r,c) + bias(r,c)
 E.g. “sky darkening filter”

 Linear Blend
 Out(r,c) = (lambda) * In1(r,c) + (1-lambda) * In2(r,c)
 If In1 and In2 are images, a sequence of these from
lambda = 0 to lambda=1 is an image dissolve

3 Ellen L. Walker
Histogram

 An image histogram counts the number of pixels at each brightness.

 Color images have 3 histograms (red, green, blue)

4
Series2
3

0
0 1 2 3

4 Ellen L. Walker
Information in Histogram

 Contrast (variation in brightness)


 Are bars spread over the whole range?

 Foreground vs. background color


 Are there two separate “peaks” with a valley between?

5 Ellen L. Walker
Applications of Histogram

 Thresholding
 Find a value that separates foreground / background
values
 Look for a “valley” between two peaks (may or may not be
what you need)

 Contrast enhancement
 Histogram equalization – spread the data as evenly
through the histogram as possible
 Goal: wide, flat histogram

6 Ellen L. Walker
Example: Histogram Equalization

 Original

 Modified

7 Ellen L. Walker
Algorithm: Histogram Equalization

 Find cumulative distribution


 For each intensity I, c(I) = # pixels <= I
I
1 1
c(I) = ∑ h(i) = c(I −1) + h(I)
N i= 0 N

 Code:
€ C[0]=Hist[0];
For(greylevel =1; greylevel < max; greylevel++){
C[greylevel] = Hist[greylevel] + C[greylevel-1];
C[greylevel] = C[greylevel] / (double)(rows*cols);
}

8 Ellen L. Walker
Algorithm: Histogram Equalization

 Use C(I) as a lookup table to determine the final value of


each pixel.

 Since C(I) ranges from 0 to 1 (why?), multiply C(I) by the


max pixel value to get the output value

 Code:
For(r=0;r<rows;r++)
for(c=0;c<cols;c++)
out[r][c] = C[(in[r][c])]*MAX;

9 Ellen L. Walker
Locally Adaptive Histogram Equalization

 Instead of doing histogram equalization using the whole


image, compute the distribution for a moving window
around the given pixel.

 Avoids effect of bright light at one corner washing out


everything in the image.

10 Ellen L. Walker
Image Neighborhoods
 Neighborhoods can be defined for each pixel

 The two most common neighborhoods


 4-neighborhood
N
W E
S
 8-neighborhood

11 Ellen L. Walker
Applying a Mask

 Mask is a set of relative pixel positions. One is


designated the origin (0,0) - usually at center

 Each mask element is weighted

 To apply the mask, put the origin pixel over the image
pixel and multiply weights by the pixels under them, then
add up all the values.

 Usually this is repeated for every pixel in the image .


Assumptions must be made for pixels near the edge of
the image.

12 Ellen L. Walker
Mask application example

 Mask = 1 1 1

 Apply to every pixel  Result is


in image: 00011
00001 00122
00011 01232
00111 12332
01111 23332
11111 Boundary pixels are gray

13 Ellen L. Walker
Mathematical Representation of Mask Operations

 Equation from Chapter 3

g(i, j) = ∑ f (i + k, j + l)h(k,l)
k,l

 g is the output image


 f is the input image
€  h is the mask (also called kernel)

 Short form (convolution operator)


g= f ⊗h

14 Ellen L. Walker
Masks that "blur"

 "Box mask" - every pixel gets the average of its


neighborhood
111 After computing, divide by 9 (mask sum)
111 to keep image from getting too bright
111

 "Weighted average" - divide by 16 after application


121
242
121

15 Ellen L. Walker
Why blur?

 Avoid effects of small random noise (“salt and pepper”)

 Remove small features to emphasize larger ones


 Bigger masks blur more / remove larger features
 Sequence of masks generates sequence of increasingly
blurred images (useful for some matching algorithms)

 First step in sharpening the image (!)


Sharp(x,y) =
orig(x,y) + gamma (orig(x,y) – (blur * orig(x,y)))

16 Ellen L. Walker
Boundary Effects (padding)

Figure 3.12

17 Ellen L. Walker
Common Masks

Figure 3.13

18 Ellen L. Walker
Median Filtering

 Example of a non-linear filter

 Replace the central pixel of a window with the median


pixel of the window

 Compare to box filter, which replaces with average value


in the window

 Tends to preserve edges (why?)

19 Ellen L. Walker

You might also like