Multimedia Systems Giorgio Leonardi A.A Lectures 14-16: Raster images processing and filters

Size: px
Start display at page:

Download "Multimedia Systems Giorgio Leonardi A.A Lectures 14-16: Raster images processing and filters"

Transcription

1 Multimedia Systems Giorgio Leonardi A.A Lectures 14-16: Raster images processing and filters

2 Outline (of the following lectures) Light and color processing/correction Convolution filters: blurring, sharpening, digital noise reduction Image transform: size enlargement/reduction Images compositing/fading

3 Image processing An image as a two-dimensional signal, which can be seen as a matrix of pixels These pixels can be processed in many ways. In these lectures we will study: Point processing: modify pixels independently Filtering: modify based on neighborhood Compositing: combine several images

4 Point processing: Light and color processing and correction

5 Color processing Many of the tools offered by a photo editing software allow us to work on colors. These tools are usually used to analyze color distribution and to correct the defects that affect a photographic image.

6 Color processing The processing algorithms consider color image pixels one at a time

7 Color processing And apply a formula to each pixel. This formula, for each color in input, produces a new color output.

8 Color processing The repetitiveness' of the procedure makes these algorithms highly parallelizable.

9 Color processing Parallelization can be performed assigning different pixels processing to different CPU threads. Furthermore, All modern video cards are equipped with a GPU containing several independent processing unit (e.g. 128). The use of the GPU to perform this processing allows the speed-up remarkably, allowing its use even in real-time applications.

10 Color processing We will focus on the following techniques: Levels of Brightness Color curves Brightness / contrast Intensity of colors Color Balance

11 Levels of Brightness One of the most common mistakes made in photography is to take a picture with the wrong exposure. The following techniques allows to detect the levels of exposure (brightness) and to correct them (at least partially) to avoid these defects.

12 Pixels for each color Levels of Brightness The histogram in the levels of brightness, indicates how many pixels in an image are characterized by a certain brightness. For example, this is a histogram of a B/W image: Black (color= 0) Brightness scale White (color= 255)

13 Levels of Brightness The histogram of an underexposed picture (too dark), is compressed to the left: most of the pixels have dark colors; few or no pixels have light colors.

14 Levels of Brightness The histogram of an overexposed picture (too light), is flattened on the right: most of the pixels have light colors; few or no pixels have dark colors.

15 Levels of Brightness In a low-contrast image, the values of the histogram are concentrated in the middle of the graph: many mid-tones pixels respect to darker and lighter pixels.

16 Levels of Brightness Pictures with proper exposition and contrast have well-balances histograms, with pixels distributed over the entire histogram.

17 Levels of Brightness For true color pictures, we can create three different histograms: one for R, one for G and one for B. These three histograms can be combined to obtain the overall color intensity (RGB) histogram Intensity RGB= 0.333*R *G *B

18 Levels of Brightness The color histogram is constructed in a very simple way, just by counting the number of pixels with a given brightness. for x = 1.. Image.w { for y = 1.. Image.h { R = Image.getRed(x,y) red[r]++ G = Image.getGreen(x,y) green[g]++ B = Image.getBlue(x,y) blue[b]++ intensity= round(0.333*r *G *B) RGB[intensity]++ } }

19 Brightness levels correction The correction of the intensity levels is done by selecting a minimum value v m and a maximum value v M.

20 Brightness levels correction All pixels with brightness levels lower than the minimum v m will be displayed with color white. All pixels with brightness levels higher than the maximum v M will be displayed with white color. The intensity levels of the other pixels will be equally scaled between the two extremes.

21 Brightness levels correction The new values for R, G and B for each pixel are thus calculated as: R = max (0, min(255, 255*(R v m )/(v M v m ))) G = max (0, min(255, 255*(G v m )/(v M v m ))) B = max (0, min(255, 255*(B v m )/(v M v m ))) The operations: max (0, min (255, c)) ensure that the output value is between 0 and 255, and are needed in all processes

22 Brightness levels correction for x = 1.. Image.w { for y = 1.. Image.h { R = 255*(Image.getRed(x, y) vm)/(vm vm) if (R < 0) then R= 0 else if (R > 255) then R= 255 Image.setRed(x, y, round(r)) G = 255*(Image.getGreen(x, y) vm)/(vm vm) if (G < 0) then G= 0 else if (G > 255) then G= 255 Image.setGreen(x, y, round(g)) } } B = 255*(Image.getBlue(x, y) vm)/(vm vm) if (B < 0) then B= 0 else if (B > 255) then B= 255 Image.setBlue(x, y, round(b))

23 Brightness levels correction Readaptation of histograms: rebuild using the previous algorithm, or adapt following these rules: In the new histogram H, the value H [0] must be H[v m ] In the new histogram H, the value H [255] must be H[v M ] The values between H[v m ] and H[v M ] must be placed proportionally Proportion: for each index I between v m and v M, its new index for H is: x= (I v m )/(v M v m ) Histogram H Histogram H

24 Brightness levels correction The following pseudo-code will re-adapt the intensity levels of the R, G, B and overall histograms, using the proportion introduced before. for I = vm.. vm { x= round ((I vm)/(vm vm)) * 255 red [x]= red[i] green [x]= green[i] blue [x]= blue[i] } RGB [x]= RGB[I]

25 Brightness levels correction v m v M

26 Brightness levels correction Correction can be applied to all the channels, or just one or two channels, to correct exposure of single color components In this case, R and G are correctly exposed, but B is underexposed, so correction can be applied on B

27 Color gamma: Color curves Gamma curve is a remapping of image gamma (proportional to tonality levels). It is specified as a function from input level to output level, used as a way to emphasize colors or other elements in a picture. It is possible to remap color gamma, using pre-defined or customized curves, on single channels or on the overall tonality

28 Color gamma: Color curves In a gamma curve, the horizontal axis specifies the input color, while the vertical axis specifies the output color:

29 Color gamma correction Gamma correction is simply performed by applying the gamma function curve to each pixel of the image:

30 Color gamma correction Gamma correction is simply performed by applying the gamma function curve to each pixel of the image: public double g (int colorvalue) { tonality function} for x = 1.. Image.w { for y = 1.. Image.h { R = g(image.getred(x, y)) Image.setRed(x, y, round (R)) G = g(image.getgreen(x, y)) Image.setGreen(x, y, roung (G)) B = g(image.getblue(x, y)) Image.setBlue(x, y, round (B)) } }

31 Color gamma correction The more complex formulas for gamma curves are calculated using parametric beizer curves (out of our scope) Beizer curves are defined between[0, 1] and return values between [0, 1], therefore our function g must be defined as: public double g (int colorvalue) { x= colorvalue/255 y= beizercurve(x) return y*255 }

32 Color tonality correction Even without beizer, we could define simple (and useful) curves: 1. No change: y= x, x=[0, 1]

33 Color tonality correction Even without beizer, we could define simple (and useful) curves: 2. Darken image colors: y= x^p, p > 1 and x=[0, 1]

34 Color tonality correction Even without beizer, we could define simple (and useful) curves: 3. Lighten image colors: y= x^p, p < 1 and x=[0, 1]

35 Color tonality correction Even without beizer, we could define simple (and useful) curves: 4. Negative: y= -x, x= [0, 1]

36 Color tonality correction Using beizer curves, more effects can be applied: 5. High contrast

37 Brightness and contrast Other common mistakes you can find in photographic images are related to brightness and contrast Even if they can be corrected using curves, simpler and effective formulas exist to process these two important features

38 Brightness and contrast Brightness is usually implemented by a parameter l that varies between -1 and 1: If l <0, the image is darkened (colors are moved in the direction of black). The following formula is used when l <0:

39 Example Original image Brightness (l= -0.6) Gamma curve

40 Brightness and contrast Brightness is usually implemented by a parameter l that varies between -1 and 1: If l > 0, the image is lightened (colors are moved in the direction of white). The following formula is used when l > 0, and it is a bit more complicated, because we want an interpolation between the current color level and the maximum value (white): R = R R l G = G G l B = B B l

41 Example Original image Contrast (l= 0.6) Gamma curve

42 Brightness and contrast The contrast k= [-1, 1] is obtained moving the color towards or away the medium value of the color to be moved: d = tan k + 1 π 4 R = R 255 G = G 255 B = B d d d 255 The coefficient d, depending from a tangent function, adds a non-linear effect on the contrast, making it easier to control.

43 Color balance The color captured by a camera, and put in the photograph, strongly depends on the light source used during shooting. The color balance eliminates unnatural colors, or allows you to create special effects, enhancing some color shade.

44 Color balance For example, the picture on the left is dominated by a strong presence of red. Removing part of the red gives a more balanced picture

45 Color balance Basically, to remove part of a color, you need to add more of his opposite:

46 Color balance Usually, photo editing tools allow you to balance the three primary colors through 3 sliders that move between a primary and its complement.

47 Color balance In principle, the color balance is applied simply by multiplying the primary colors for different coefficients.

48 Color balance For a better control of color modifications, we can use a weight w(x) which weights the intensity of the color in input, wrt on whether we want to act on the lights, the halftones or shadows. w x = for shadows 255 x x 1 2 for mid tones for lights x

49 Color balance Color balance is then calculated using the user-specified value g and the weight function to specify if we are acting on the shades, on the half-tones or on the lights. w(x) returns a value from 0 to 1, therefore It must be multiplied for 255 again R = R g r w R G = G g g w G B = B g b w B

50 Questions for you 1. How can we convert a color image into a grayscale one (from 24 to 8 bits)? 2. How can we define a function for thresholding effect? (and for n-level thresholding effect?)

51 Image filtering

52 Image filtering Point processing is very useful for color-based operations, but it is limited to accomplish tasks like sharpening or smoothing These tasks involve calculations on groups of pixels, since it is impossible, for example, to blur a pixel without using information about its neighborhood A common way to perform these operations in a non-trivial and naïve way is to carry out filtering through convolution

53 Convolution Many image processing operations can be modeled as a linear system (LSI = Linear Space Invariant system): Where f(x, y) is the pixel matrix in input; g(x, y) is the (constant invariant) transformation function, and h(x, y) is the output matrix after applying g(x,y) to f(x,y)

54 Convolution For such a system, the output h(x, y) is the convolution of f(x, y) with the impulse response g(x, y) Convolution is denoted by the operator and (for continuous signals) is defined as:

55 Convolution Since our images are discrete in space and in color, the integrals become sum, to be applied only in the dimensions of our transform function g(x, y) N 2 M 2 h x, y = f x + k, y + k g[k + N 2, l + N 2 ] k= N 2 l= M 2 The transform function g is our filter (also called kernel): an N*M matrix of integer numbers (usually, N= M= 3 or N= M= 5 on the basis of the strenght of the effect to be applied)

56 Convolution After applying the convolution, the final value must be «normalized» dividing h[i, j] for the sum of all the values in g: f x, y = N 1 i=0 1 M 1 g[i, j] j=0 N 2 M 2 f x + k, y + k g[k + N 2, l + N 2 ] k= N l= M 2 2

57 Convolution An example kernel is shown here: A kernel is a (usually) small matrix of numbers that is used in image convolutions. Differently sized kernels containing different patterns of numbers produce different results under convolution (different effects on the image). The size of a kernel is arbitrary but 3x3 is often used. Sizes are odd values. Larger kernels usually amplify its effect on the image, but is has more impact on complexity

58 Convolution example Let s apply our example kernel to an image: f[x, y] = g[i, j] = We must: Put the kernel g over the image, with its central value on the pixel to be processed Calculate the convolution h[1, 1] and divide this value for the sum of the values in g (which is 5) Store the calculated video in a second raster image f [x, y], which will contain the processed image

59 Convolution example f 1, 1 = 1 5 f x, y = 2 i=0 1 2 j=0 N 1 i=0 1 g[i, j] M 1 g[i, j] j=0 1 1 k= 1 l= 1 N 2 M 2 k= N l= M 2 2 f x + k, y + k g[k + N 2, l + N 2 ] f 1 + k, 1 + k g[k + 1, l + 1] = 0, = 233 =

60 Edge pixels What to be done with edge pixels? For example, use one of the following alternatives: 1. Wrap the image 2. Ignore edge pixels and only compute for those pixels with all neighbors 3. Duplicate edge pixels so the pixel at (2,n) (where n would be non-positive will have a value of (2,1)

61 Types of filters Uniform weight filters All values in the kernel has the same value Non-uniform weight filters Values in the kernel are different and usually follow a distribution function For example, gaussian blur is obtained using a gaussian filter Median filters The new pixel is the median value of the pixels under the mask The best choice for removing digital noise

62 Linear low pass filter: blur The simplest convolution kernel or filter is of size 3x3 with equal weights and is represented as follows: g[i, j] = This filter produces a simple average (or arithmetic mean) of the 9 nearest neighbors of each pixel in the image. It is one of a class of what are known as low pass filters. they remove short wavelengths in the image, which correspond to abrupt changes in image intensity, i.e. edges. Thus we get blurring.

63 Example g[i, j] = 3 4 f 2, 2 = 2 i=0 1 2 j=0 g[i, j] 1 1 k= 1 l= 1 f 2 + k, 2 + k g[k + 2, l + 2] = = 180

64 Example

65 High pass filter: edges High pass filter passes only short wavelengths, i.e. where there are abrupt changes in intensity and removes long wavelengths, where the image intensity is varying slowly. When applied to an image, it shows only the edges of the image.

66 High pass filter: edges High pass filtering of an image can be achieved by the application of a low pass filter to the image and subsequently subtraction of the low pass filtered result from the image. Shortly, the kernel Is obtained by subtracting the low pass filter to the Identity kernel (the one leaving the original image unchanged): h = i - l

67 High pass filter: edges l = h = i l = - =

68 Example

69 Parametrized HPF: Sharpen To sharpen the image, rather than just extract edges, we must blend (or mix) the original image with the high pass filtered image, to obtain a sort of band pass filter. The filter: s = (1-f)*i + f*h allows to mix a fraction (1-f) of identity (original image = i) and the remaining fraction (f) of high pass filtered image (h) The parameter f is a fraction between 0 and 1. When f=0 s=i and when f=1 s=h. A typical choice for sharpening is to use something in between, say, f=0.5.

70 Parametrized HPF: Sharpen h = = high pass kernel s = 1 f f = f 9 f 9 f 9 9 f 9 f 9 f f 9 f 9 f 9

71 Example f 9 f 9 f 9 f 9 9 f 9 f 9 f 9 f 9 f 9

72 Empowering the filters These filters can appropriately treat the most of the images with small/medium defects to be corrected (out-of focus, shake, ecc..). Some images show defects for which the application of 3X3 kernels is not enough to generate an appreciable result: Too much blur, image too big for the 3X3 kernel to be effective, ecc.. We need to apply stronger filters. How can our filter make a stronger impact?

73 Empowering impact of the filters We can not change the values in the kernels, since they are defined by default, but we can enlarge the size of the kernels Enlarging the size of the kernel allows the low pass filter to blur more, since each pixel is the mean value of the 25 pixels around, not only 9 Our strategy is to calculate new versions of the kernel starting from a 5X5 low pass filter

74 5X5 low pass filter The 5X5 kernel for low pass filter is defined as: h = = high pass kernel

75 5X5 identity filter The 5X5 kernel for identity filter is defined as: i = = identity kernel

76 5X5 high pass filter The 5X5 kernel for identity filter is defined as: h = = high pass kernel

77 5X5 sharpening filter How can the sharpening filter calculated? Start from the formula: s = (1-f)*i + f*h

78 3X3 vs 5X5 filters Original image 3X3 blur («blur» filter in Photoshop) 5X5 blur («blur more» in Photoshop) 3X3 sharpen («sharpen» in Photoshop) 5X5 sharpen («sharpen more» in Ph.)

79 Gaussian filter: smoothing Gaussian filters are mainly used for blurring images in a more precise way than a linear filter can do Gaussian filters are a class of linear smoothing filters with the weights chosen according to the shape of a Gaussian function. The gaussian function assigns greater importance to the central value, weighting it more than the other pixels around

80 Gaussian filter: smoothing Gaussian fiters have a kernel which is calculated automatically with the following formula: g x, y = e x2 +y2 2σ 2 Where σ is a parameter chosen by the filter designer

81 Gaussian smoothing Advantages of Gaussian filtering: rotationally symmetric (for large filters) filter weights decrease monotonically from central peak, giving most weight to central pixels Simple and intuitive relationship between size of σ and the smoothing.

82 Gaussian kernel Applying the formula: g x, y = e x2 +y2 2σ 2 we can automatically generate the values for the gaussian kernel of dimension N x N, which has indexes from -N/2 to N/2 For example, a 7X7 kernel, with σ = 2 has values: [x, y] g x, y =

83 Gaussian kernel If we desire the filter weights to be integer values for ease in computations, we can take the value at one of the corners in the array, and choose k such that this value becomes 1: [x, y] g x, y = 0.11*k = 1 k= 1/0.11 = 91

84 Gaussian kernel Now, by multiplying the rest of the weights by k, we obtain: [x, y] g x, y = This is the 7X7 kernel we can use for gaussian blur, obtained with σ = 2

85 Linear vs Gaussian Original image blur 3X3 blur («blur» filter in Photoshop) 5X5 blur («blur more» in Photoshop) Gaussian blur with σ = 1 Gaussian blur with σ = 2

86 Median filter: noise removal Digital noise in pictures is due to the electronical interferences between the image sensors in the moment where a picture is taken by a digital camera Digital noise shows itself as spots (pixels) whose colors seems random compared to their immidiate neighbors

87 Digital noise

88 Median filter: noise removal We can remove digital noise by applying blur filters. Gaussian blur offers more control than linear filters, because the the amount of blurring depends on value of σ, instead of depending only on the size of the kernel However, in many cases too many details are destroyed and the image seems clean from noise, but too blurry to be appreciated

89 Median filter Instead of performing multiplications over the kernel, the median filter extracts the median value among all the values chosen by the mask. Common dimension for median filters is 3X3:

90 Noise removal comparison Original image Linear blur 3X3 Median filter 3X3 Gaussian blur with σ = 1

91 Image resizing

92 Image resizing Image resizing is the operation transforming an image from a starting size/resolution, to a different size/resolution Resizing an image is necessary for many operations: Matching the printer s resolution to print a photographic image Reducing the resolution to maintain the size of an image on our monitor Reducing the size to publish our pictures on a social network

93 Image resizing For example, we would want to change the resolution of a photograph, to match the printing resolution of our printer. E.g. the starting image has size of 600X450 pixels, with resolution of 150 ppi image size of (600/150 X 450/150) = 4 X 3 inches Our printer prints at 300 dpi. To have the same size (4 X 3 inches), we need to rescale the original image to (300*4 X 300*3) = 1200 X 900 pixels. Thus, we need to enlarge the image.

94 Image resizing Another example: we want to change the resolution of the same photograph, to watch it with the same size on our monitor. Our starting image has size of 600X450 pixels, with resolution of 150 ppi image size of (600/150 X 450/150) = 4 X 3 inches Our monitor displays at 72 dpi. To have the same size (4 X 3 inches), we need to rescale the original image to (72*4 X 72*3) = 288 X 216 pixels. Thus, we need to reduce the size.

95 Image resizing Each operation of enlargement or reduction causes a loss of quality. The problem is due to the fact that you lose the 1:1 correspondence between the pixels in the source image, and those in the destination.

96 Image resizing Since there is no direct correspondence between the pixels, the colors of the pixels in the resized image must be "calculated" with an algorithm, resulting in an inevitable loss of quality.

97 Image resizing The ideal solution requires a match between the domain of the input and the range of the mapping function. This is achieved by converting the discrete image samples into a continuous surface, i.e. by image reconstruction. Once the input is reconstructed, it can be resampled at any position.

98 Ideal resampling Ideal image resampling is achieved through four basic steps: (1) reconstruction, (2) warping, (3) prefiltering, and (4) sampling

99 Image resampling For performance reasons, ideal resampling is very difficult to achieve, but many strategies have been defined to obtain results which match the desired quality with respect to the computational issues. Enlarging or reducing the image size (number of pixels), is performed with these two operations: Image down-sampling (resample at a lower rate) Image up-sampling (resample at a higher rate)

100 Up-sampling In the case of magnification, you will have 'a greater number of pixels than the original image.

101 Up-sampling In this case, the image is interpreted as a signal.

102 Up-sampling Up-sampling algorithm aims at reconstructing the original signal, and sample it again at a higher frequency.

103 Up-sampling This is why the techniques we are going to study are called resampling (up-sampling)

104 Up-sampling There are several ways to reconstruct the original signal to up-sample it. Among them, the most popular are: Nearest Neighbor Bilinear filtering Bicubic filtering

105 Nearest Neighbor We want to magnify our original picture f(x, y) by a factor M, we must find the position of each x and y in the new, larger, image. For each x, y of the original image: x = M*x x = x / M y = M*y y = y / M Where x, y are the new coordinates in the larger image. Since M > 1, there will be space between the new pixels. We must find a way to assign a color to these «empty» new pixels

106 Nearest neighbor The easiest case is for M=2: (0,0) (7,0) (0,0) (14,0) f(x, y) = f (x, y ) = (0,7) (7,7) Green samples are retained in the interpolated image; Orange samples are estimated from surrounding green samples. (0,14) (14,14)

107 Nearest Neighbor (x, y) (x+1, y) f(x, y) a b (i, j) (i, j) = (x /M, y /M) a= i x /M b= j y /M (x, y+1) (x+1, y+1) f (x,y ) (the resized image) takes the value of the sample at the topleft of (i= x /M, j= y /M) in f(x,y) (the original image): f [x, y ] = f[(int)(x /M), (int)(y /M)]= f[floor(x /M), floor(y /M)] Also known as pixel replication: each original pixel is replaced by MxM pixels of the sample value Equivalent to using the sample-and-hold interpolation filter.

108 Example In nearest neighbor, missing pixels are obtained by replication of the original ones: f(x, y) = f'(x, y ) = Each value in f is replicated M x M times in f

109 Exercise Given the following image: f(x, y) f(x, y) = Resample the image with nearest neighbor, with repllication factor M= 1.5

110 Nearest neighbor Nearest neighbor is the simplest algorithm to resize an image It is very easy to calculate Preserve sharp edges No support for smoothing and anti-aliasing A better support is provided by interpolation

111 Bilinear interpolation Bilinear interpolation (also called bilinear filtering), is performed as a double linear interpolation between the four (2x2) pixels around the position where the pixel is reconstructed. (x, y) (x+1, y) f(x, y) a b (i, j) (1-a) (i, j) = (x /M, y /M) x= x /M y= y /M (1-b) a= i x /M b= j y /M (x, y+1) (x+1, y+1) Interpolation is calculated as the weighted median of the four pixels around, weighted by their horizontal and vertical proximity to (i= x /M, j= y /M)

112 Bilinear interpolation (x, y) (x+1, y) f(x, y) a b (i, j) (1-b) (1-a) (i, j) = (x /M, y /M) x= x /M y= y /M a= i x /M b= j y /M (x, y+1) (x+1, y+1) Interpolation is calculated as the weighted median of the four pixels around, weighted by their horizontal and vertical proximity (not distance) to (i= x /M, j= y /M) f [x, y ]= (1-a)(1-b)f[x, y] + (a)(1-b)f[x, y + 1] + (1-a)(b)f[x + 1, y] + (a)(b)f[x + 1, y + 1] Note: with this method, there is no replication of the original values. All the points in the new image are recalculated/resampled!

113 Example f(x, y) = f'(x, y ) = We calculate the value of: f [0, 1] and M= 2. x= 0 y = ½ = 0 a= 0 b= ½ ½ = 0.5 f [x, y ]= (1-a)(1-b)f[x, y] + (a)(1-b)f[x, y + 1] + (1-a)(b)f[x + 1, y] + (a)(b)f[x + 1, y + 1] f [0, 1]= (1)(0.5)f[0, 0] + (0)(0.5)f[0, 1] + (1)(0.5)f[1, 0] + (0)(0.5)f[1, 1] = 0.5* * = = 105.5

114 Exercise Given the following image: f(x, y) f(x, y) = Resample the image with bilinear interpolation, with repllication factor M= 1.5

115 Bilinear interpolation Bilinear interpolation offers a very good tradeoff between complexity and quality of the resampled image.

116 Bicubic interpolation Bicubic interpolation uses a matrix of the 4X4 pixels near the point to be interpolated, and performs a cubic interpolation of the surface over these 16 points. Cubic interpolation is the third-grade polynomial, interpolating the known points with a piecewise spline passing through them. Bicubic means that this cubic interpolation is performed in both the horizontal and the vertical direction.

117 Bicubic Interpolation Obtaining the bicubic interpolation formula goes beyond our goals, but: It is considered the «godzilla» of resampling, due to its high computational complexity But it is the algorithm offering the best quality with negligible defects

118 Bicubic interpolation (x-1, y-1) (x, y-1) (x+1, y-1) (x+2, y-1) (i, j) = (x /M, y /M) (x-1, y) (x, y) (x+1, y) (x+2, y) x= x /M y= y /M f(x, y) a b (i, j) (1-a) a= i x /M b= j y /M (x-1, y+1) (x, y+1) (1-b) (x+1, y+1) (x+2, y+1) (x-1, y+2) (x, y+2) (x+1, y+2) (x+2, y+2) Cubic interpolation formula can be seen as the weighted median of the 16 points Weights are calculated using 4 different interpolation polynomials, which depend on the row or the column chosen. Variable a is used for horizontal interpolation and variable b for vertical interpolation

119 f(x, y) Bicubic interpolation (x-1, y-1) (x, y-1) (x+1, y-1) (x+2, y-1) (x-1, y) (x-1, y+1) (x, y) (x+1, y) (x, y+1) a b (i, j) (1-b) (1-a) (x+1, y+1) (x+2, y) (x+2, y+1) (i, j) = ( x /M, y /M ) a= i x /M b= j y /M (x-1, y+2) (x, y+2) (x+1, y+2) (x+2, y+2) 2 2 f x, y = f x + k, y + k θ k a θ l b k= 1 l= 1 Where θ k a and θ l b are the interpolating polynomial chosen on the basis of the row l or the column k

120 Bicubic interpolation 2 2 f x, y = f x + k, y + k θ k a θ l b k= 1 l= 1 Where θ k a and θ l b are the interpolating polynomial chosen on the basis of the row l or the column k

121 Bicubic interpolation Bicubic interpolation offers a the best quality of the resampled image, at the price of a heavy calculation.

122 Up-sampling visual performance

123 Image downsampling To reduce the image size, the same techniques can be applied, but specifying a value of M < 1 Nearest neighbor simply copies part of the original values in the output images (bypassing/deleting some row/column) It preserves sharp edges It is very efficient It probably introduces artefacts or glitches Bilinear filtering mediates the 4 points around the one to be shrinked Offers a good quality It is computationally good It will blur the image, losing detail Icubic interpolation calculates the interpolating polynomial surface of the 16 pixels around the one to be shrinked Offers the best quality Does not blur as much as bilinear filtering It is computationally very heavy (probably too much for downsampling)

CoE4TN4 Image Processing. Chapter 3: Intensity Transformation and Spatial Filtering

CoE4TN4 Image Processing. Chapter 3: Intensity Transformation and Spatial Filtering CoE4TN4 Image Processing Chapter 3: Intensity Transformation and Spatial Filtering Image Enhancement Enhancement techniques: to process an image so that the result is more suitable than the original image

More information

ECC419 IMAGE PROCESSING

ECC419 IMAGE PROCESSING ECC419 IMAGE PROCESSING INTRODUCTION Image Processing Image processing is a subclass of signal processing concerned specifically with pictures. Digital Image Processing, process digital images by means

More information

Announcements. Image Processing. What s an image? Images as functions. Image processing. What s a digital image?

Announcements. Image Processing. What s an image? Images as functions. Image processing. What s a digital image? Image Processing Images by Pawan Sinha Today s readings Forsyth & Ponce, chapters 8.-8. http://www.cs.washington.edu/education/courses/49cv/wi/readings/book-7-revised-a-indx.pdf For Monday Watt,.3-.4 (handout)

More information

Image Filtering. Median Filtering

Image Filtering. Median Filtering Image Filtering Image filtering is used to: Remove noise Sharpen contrast Highlight contours Detect edges Other uses? Image filters can be classified as linear or nonlinear. Linear filters are also know

More information

Filters. Materials from Prof. Klaus Mueller

Filters. Materials from Prof. Klaus Mueller Filters Materials from Prof. Klaus Mueller Think More about Pixels What exactly a pixel is in an image or on the screen? Solid square? This cannot be implemented A dot? Yes, but size matters Pixel Dots

More information

CS534 Introduction to Computer Vision. Linear Filters. Ahmed Elgammal Dept. of Computer Science Rutgers University

CS534 Introduction to Computer Vision. Linear Filters. Ahmed Elgammal Dept. of Computer Science Rutgers University CS534 Introduction to Computer Vision Linear Filters Ahmed Elgammal Dept. of Computer Science Rutgers University Outlines What are Filters Linear Filters Convolution operation Properties of Linear Filters

More information

Prof. Feng Liu. Fall /04/2018

Prof. Feng Liu. Fall /04/2018 Prof. Feng Liu Fall 2018 http://www.cs.pdx.edu/~fliu/courses/cs447/ 10/04/2018 1 Last Time Image file formats Color quantization 2 Today Dithering Signal Processing Homework 1 due today in class Homework

More information

Digital Image Processing

Digital Image Processing Digital Image Processing Part 2: Image Enhancement Digital Image Processing Course Introduction in the Spatial Domain Lecture AASS Learning Systems Lab, Teknik Room T26 achim.lilienthal@tech.oru.se Course

More information

TDI2131 Digital Image Processing

TDI2131 Digital Image Processing TDI2131 Digital Image Processing Image Enhancement in Spatial Domain Lecture 3 John See Faculty of Information Technology Multimedia University Some portions of content adapted from Zhu Liu, AT&T Labs.

More information

Table of contents. Vision industrielle 2002/2003. Local and semi-local smoothing. Linear noise filtering: example. Convolution: introduction

Table of contents. Vision industrielle 2002/2003. Local and semi-local smoothing. Linear noise filtering: example. Convolution: introduction Table of contents Vision industrielle 2002/2003 Session - Image Processing Département Génie Productique INSA de Lyon Christian Wolf wolf@rfv.insa-lyon.fr Introduction Motivation, human vision, history,

More information

IMAGE PROCESSING: AREA OPERATIONS (FILTERING)

IMAGE PROCESSING: AREA OPERATIONS (FILTERING) IMAGE PROCESSING: AREA OPERATIONS (FILTERING) N. C. State University CSC557 Multimedia Computing and Networking Fall 2001 Lecture # 13 IMAGE PROCESSING: AREA OPERATIONS (FILTERING) N. C. State University

More information

Image Processing for feature extraction

Image Processing for feature extraction Image Processing for feature extraction 1 Outline Rationale for image pre-processing Gray-scale transformations Geometric transformations Local preprocessing Reading: Sonka et al 5.1, 5.2, 5.3 2 Image

More information

Digital Image Processing

Digital Image Processing Digital Image Processing Lecture # 5 Image Enhancement in Spatial Domain- I ALI JAVED Lecturer SOFTWARE ENGINEERING DEPARTMENT U.E.T TAXILA Email:: ali.javed@uettaxila.edu.pk Office Room #:: 7 Presentation

More information

in association with Getting to Grips with Printing

in association with Getting to Grips with Printing in association with Getting to Grips with Printing Managing Colour Custom profiles - why you should use them Raw files are not colour managed Should I set my camera to srgb or Adobe RGB? What happens

More information

CSE 564: Scientific Visualization

CSE 564: Scientific Visualization CSE 564: Scientific Visualization Lecture 5: Image Processing Klaus Mueller Stony Brook University Computer Science Department Klaus Mueller, Stony Brook 2003 Image Processing Definitions Purpose: - enhance

More information

Practical Image and Video Processing Using MATLAB

Practical Image and Video Processing Using MATLAB Practical Image and Video Processing Using MATLAB Chapter 10 Neighborhood processing What will we learn? What is neighborhood processing and how does it differ from point processing? What is convolution

More information

Image Processing Computer Graphics I Lecture 20. Display Color Models Filters Dithering Image Compression

Image Processing Computer Graphics I Lecture 20. Display Color Models Filters Dithering Image Compression 15-462 Computer Graphics I Lecture 2 Image Processing April 18, 22 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/ Display Color Models Filters Dithering Image Compression

More information

Midterm Examination CS 534: Computational Photography

Midterm Examination CS 534: Computational Photography Midterm Examination CS 534: Computational Photography November 3, 2015 NAME: SOLUTIONS Problem Score Max Score 1 8 2 8 3 9 4 4 5 3 6 4 7 6 8 13 9 7 10 4 11 7 12 10 13 9 14 8 Total 100 1 1. [8] What are

More information

CEE598 - Visual Sensing for Civil Infrastructure Eng. & Mgmt.

CEE598 - Visual Sensing for Civil Infrastructure Eng. & Mgmt. CEE598 - Visual Sensing for Civil Infrastructure Eng. & Mgmt. Session 7 Pixels and Image Filtering Mani Golparvar-Fard Department of Civil and Environmental Engineering 329D, Newmark Civil Engineering

More information

Color and More. Color basics

Color and More. Color basics Color and More In this lesson, you'll evaluate an image in terms of its overall tonal range (lightness, darkness, and contrast), its overall balance of color, and its overall appearance for areas that

More information

Sampling Rate = Resolution Quantization Level = Color Depth = Bit Depth = Number of Colors

Sampling Rate = Resolution Quantization Level = Color Depth = Bit Depth = Number of Colors ITEC2110 FALL 2011 TEST 2 REVIEW Chapters 2-3: Images I. Concepts Graphics A. Bitmaps and Vector Representations Logical vs. Physical Pixels - Images are modeled internally as an array of pixel values

More information

Image Processing. Adam Finkelstein Princeton University COS 426, Spring 2019

Image Processing. Adam Finkelstein Princeton University COS 426, Spring 2019 Image Processing Adam Finkelstein Princeton University COS 426, Spring 2019 Image Processing Operations Luminance Brightness Contrast Gamma Histogram equalization Color Grayscale Saturation White balance

More information

Contents: Bibliography:

Contents: Bibliography: ( 2 ) Contents: Sizing an Image...4 RAW File Conversion...4 Selection Tools...5 Colour Range...5 Quick Mask...6 Extract Tool...7 Adding a Layer Style...7 Adjustment Layer...8 Adding a gradient to an Adjustment

More information

EE482: Digital Signal Processing Applications

EE482: Digital Signal Processing Applications Professor Brendan Morris, SEB 3216, brendan.morris@unlv.edu EE482: Digital Signal Processing Applications Spring 2014 TTh 14:30-15:45 CBC C222 Lecture 15 Image Processing 14/04/15 http://www.ee.unlv.edu/~b1morris/ee482/

More information

Image Processing. 2. Point Processes. Computer Engineering, Sejong University Dongil Han. Spatial domain processing

Image Processing. 2. Point Processes. Computer Engineering, Sejong University Dongil Han. Spatial domain processing Image Processing 2. Point Processes Computer Engineering, Sejong University Dongil Han Spatial domain processing g(x,y) = T[f(x,y)] f(x,y) : input image g(x,y) : processed image T[.] : operator on f, defined

More information

Preparing Remote Sensing Data for Natural Resources Mapping (image enhancement, rectifications )

Preparing Remote Sensing Data for Natural Resources Mapping (image enhancement, rectifications ) Preparing Remote Sensing Data for Natural Resources Mapping (image enhancement, rectifications ) Why is this important What are the major approaches Examples of digital image enhancement Follow up exercises

More information

Filtering in the spatial domain (Spatial Filtering)

Filtering in the spatial domain (Spatial Filtering) Filtering in the spatial domain (Spatial Filtering) refers to image operators that change the gray value at any pixel (x,y) depending on the pixel values in a square neighborhood centered at (x,y) using

More information

Sampling and pixels. CS 178, Spring Marc Levoy Computer Science Department Stanford University. Begun 4/23, finished 4/25.

Sampling and pixels. CS 178, Spring Marc Levoy Computer Science Department Stanford University. Begun 4/23, finished 4/25. Sampling and pixels CS 178, Spring 2013 Begun 4/23, finished 4/25. Marc Levoy Computer Science Department Stanford University Why study sampling theory? Why do I sometimes get moiré artifacts in my images?

More information

Image analysis. CS/CME/BioE/Biophys/BMI 279 Oct. 31 and Nov. 2, 2017 Ron Dror

Image analysis. CS/CME/BioE/Biophys/BMI 279 Oct. 31 and Nov. 2, 2017 Ron Dror Image analysis CS/CME/BioE/Biophys/BMI 279 Oct. 31 and Nov. 2, 2017 Ron Dror 1 Outline Images in molecular and cellular biology Reducing image noise Mean and Gaussian filters Frequency domain interpretation

More information

PHOTO 11: INTRODUCTION TO DIGITAL IMAGING

PHOTO 11: INTRODUCTION TO DIGITAL IMAGING 1 PHOTO 11: INTRODUCTION TO DIGITAL IMAGING Instructor: Sue Leith, sleith@csus.edu EXAM REVIEW Computer Components: Hardware - the term used to describe computer equipment -- hard drives, printers, scanners.

More information

Frequency Domain Enhancement

Frequency Domain Enhancement Tutorial Report Frequency Domain Enhancement Page 1 of 21 Frequency Domain Enhancement ESE 558 - DIGITAL IMAGE PROCESSING Tutorial Report Instructor: Murali Subbarao Written by: Tutorial Report Frequency

More information

Image Enhancement in the Spatial Domain

Image Enhancement in the Spatial Domain Image Enhancement in the Spatial Domain Algorithms for improving the visual appearance of images Gamma correction Contrast improvements Histogram equalization Noise reduction Image sharpening Optimality

More information

Prof. Vidya Manian Dept. of Electrical and Comptuer Engineering

Prof. Vidya Manian Dept. of Electrical and Comptuer Engineering Image Processing Intensity Transformations Chapter 3 Prof. Vidya Manian Dept. of Electrical and Comptuer Engineering INEL 5327 ECE, UPRM Intensity Transformations 1 Overview Background Basic intensity

More information

Computer Graphics Fundamentals

Computer Graphics Fundamentals Computer Graphics Fundamentals Jacek Kęsik, PhD Simple converts Rotations Translations Flips Resizing Geometry Rotation n * 90 degrees other Geometry Rotation n * 90 degrees other Geometry Translations

More information

>>> from numpy import random as r >>> I = r.rand(256,256);

>>> from numpy import random as r >>> I = r.rand(256,256); WHAT IS AN IMAGE? >>> from numpy import random as r >>> I = r.rand(256,256); Think-Pair-Share: - What is this? What does it look like? - Which values does it take? - How many values can it take? - Is it

More information

Digital Image Processing 3/e

Digital Image Processing 3/e Laboratory Projects for Digital Image Processing 3/e by Gonzalez and Woods 2008 Prentice Hall Upper Saddle River, NJ 07458 USA www.imageprocessingplace.com The following sample laboratory projects are

More information

Image Enhancement using Histogram Equalization and Spatial Filtering

Image Enhancement using Histogram Equalization and Spatial Filtering Image Enhancement using Histogram Equalization and Spatial Filtering Fari Muhammad Abubakar 1 1 Department of Electronics Engineering Tianjin University of Technology and Education (TUTE) Tianjin, P.R.

More information

Image Enhancement. DD2423 Image Analysis and Computer Vision. Computational Vision and Active Perception School of Computer Science and Communication

Image Enhancement. DD2423 Image Analysis and Computer Vision. Computational Vision and Active Perception School of Computer Science and Communication Image Enhancement DD2423 Image Analysis and Computer Vision Mårten Björkman Computational Vision and Active Perception School of Computer Science and Communication November 15, 2013 Mårten Björkman (CVAP)

More information

DodgeCmd Image Dodging Algorithm A Technical White Paper

DodgeCmd Image Dodging Algorithm A Technical White Paper DodgeCmd Image Dodging Algorithm A Technical White Paper July 2008 Intergraph ZI Imaging 170 Graphics Drive Madison, AL 35758 USA www.intergraph.com Table of Contents ABSTRACT...1 1. INTRODUCTION...2 2.

More information

Vision Review: Image Processing. Course web page:

Vision Review: Image Processing. Course web page: Vision Review: Image Processing Course web page: www.cis.udel.edu/~cer/arv September 7, Announcements Homework and paper presentation guidelines are up on web page Readings for next Tuesday: Chapters 6,.,

More information

Achim J. Lilienthal Mobile Robotics and Olfaction Lab, AASS, Örebro University

Achim J. Lilienthal Mobile Robotics and Olfaction Lab, AASS, Örebro University Achim J. Lilienthal Mobile Robotics and Olfaction Lab, Room T29, Mo, -2 o'clock AASS, Örebro University (please drop me an email in advance) achim.lilienthal@oru.se 4.!!!!!!!!! Pre-Class Reading!!!!!!!!!

More information

Adobe Photoshop. Levels

Adobe Photoshop. Levels How to correct color Once you ve opened an image in Photoshop, you may want to adjust color quality or light levels, convert it to black and white, or correct color or lens distortions. This can improve

More information

image Scanner, digital camera, media, brushes,

image Scanner, digital camera, media, brushes, 118 Also known as rasterr graphics Record a value for every pixel in the image Often created from an external source Scanner, digital camera, Painting P i programs allow direct creation of images with

More information

Image Enhancement in spatial domain. Digital Image Processing GW Chapter 3 from Section (pag 110) Part 2: Filtering in spatial domain

Image Enhancement in spatial domain. Digital Image Processing GW Chapter 3 from Section (pag 110) Part 2: Filtering in spatial domain Image Enhancement in spatial domain Digital Image Processing GW Chapter 3 from Section 3.4.1 (pag 110) Part 2: Filtering in spatial domain Mask mode radiography Image subtraction in medical imaging 2 Range

More information

IMAGE ENHANCEMENT IN SPATIAL DOMAIN

IMAGE ENHANCEMENT IN SPATIAL DOMAIN A First Course in Machine Vision IMAGE ENHANCEMENT IN SPATIAL DOMAIN By: Ehsan Khoramshahi Definitions The principal objective of enhancement is to process an image so that the result is more suitable

More information

Color Correction and Enhancement

Color Correction and Enhancement 10 Approach to Color Correction 151 Color Correction and Enhancement The primary purpose of Photoshop is to act as a digital darkroom where images can be corrected, enhanced, and refined. How do you know

More information

Non Linear Image Enhancement

Non Linear Image Enhancement Non Linear Image Enhancement SAIYAM TAKKAR Jaypee University of information technology, 2013 SIMANDEEP SINGH Jaypee University of information technology, 2013 Abstract An image enhancement algorithm based

More information

Sampling and reconstruction

Sampling and reconstruction Sampling and reconstruction CS 5625 Lecture 6 Lecture 6 1 Sampled representations How to store and compute with continuous functions? Common scheme for representation: samples write down the function s

More information

Last Lecture. photomatix.com

Last Lecture. photomatix.com Last Lecture photomatix.com HDR Video Assorted pixel (Single Exposure HDR) Assorted pixel Assorted pixel Pixel with Adaptive Exposure Control light attenuator element detector element T t+1 I t controller

More information

Sampling and reconstruction. CS 4620 Lecture 13

Sampling and reconstruction. CS 4620 Lecture 13 Sampling and reconstruction CS 4620 Lecture 13 Lecture 13 1 Outline Review signal processing Sampling Reconstruction Filtering Convolution Closely related to computer graphics topics such as Image processing

More information

The Unique Role of Lucis Differential Hysteresis Processing (DHP) in Digital Image Enhancement

The Unique Role of Lucis Differential Hysteresis Processing (DHP) in Digital Image Enhancement The Unique Role of Lucis Differential Hysteresis Processing (DHP) in Digital Image Enhancement Brian Matsumoto, Ph.D. Irene L. Hale, Ph.D. Imaging Resource Consultants and Research Biologists, University

More information

02/02/10. Image Filtering. Computer Vision CS 543 / ECE 549 University of Illinois. Derek Hoiem

02/02/10. Image Filtering. Computer Vision CS 543 / ECE 549 University of Illinois. Derek Hoiem 2/2/ Image Filtering Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem Questions about HW? Questions about class? Room change starting thursday: Everitt 63, same time Key ideas from last

More information

1.Discuss the frequency domain techniques of image enhancement in detail.

1.Discuss the frequency domain techniques of image enhancement in detail. 1.Discuss the frequency domain techniques of image enhancement in detail. Enhancement In Frequency Domain: The frequency domain methods of image enhancement are based on convolution theorem. This is represented

More information

LAB MANUAL SUBJECT: IMAGE PROCESSING BE (COMPUTER) SEM VII

LAB MANUAL SUBJECT: IMAGE PROCESSING BE (COMPUTER) SEM VII LAB MANUAL SUBJECT: IMAGE PROCESSING BE (COMPUTER) SEM VII IMAGE PROCESSING INDEX CLASS: B.E(COMPUTER) SR. NO SEMESTER:VII TITLE OF THE EXPERIMENT. 1 Point processing in spatial domain a. Negation of an

More information

CS6670: Computer Vision Noah Snavely. Administrivia. Administrivia. Reading. Last time: Convolution. Last time: Cross correlation 9/8/2009

CS6670: Computer Vision Noah Snavely. Administrivia. Administrivia. Reading. Last time: Convolution. Last time: Cross correlation 9/8/2009 CS667: Computer Vision Noah Snavely Administrivia New room starting Thursday: HLS B Lecture 2: Edge detection and resampling From Sandlot Science Administrivia Assignment (feature detection and matching)

More information

Digital Image Fundamentals and Image Enhancement in the Spatial Domain

Digital Image Fundamentals and Image Enhancement in the Spatial Domain Digital Image Fundamentals and Image Enhancement in the Spatial Domain Mohamed N. Ahmed, Ph.D. Introduction An image may be defined as 2D function f(x,y), where x and y are spatial coordinates. The amplitude

More information

>>> from numpy import random as r >>> I = r.rand(256,256);

>>> from numpy import random as r >>> I = r.rand(256,256); WHAT IS AN IMAGE? >>> from numpy import random as r >>> I = r.rand(256,256); Think-Pair-Share: - What is this? What does it look like? - Which values does it take? - How many values can it take? - Is it

More information

CS 445 HW#2 Solutions

CS 445 HW#2 Solutions 1. Text problem 3.1 CS 445 HW#2 Solutions (a) General form: problem figure,. For the condition shown in the Solving for K yields Then, (b) General form: the problem figure, as in (a) so For the condition

More information

Digital Image Processing. Digital Image Fundamentals II 12 th June, 2017

Digital Image Processing. Digital Image Fundamentals II 12 th June, 2017 Digital Image Processing Digital Image Fundamentals II 12 th June, 2017 Image Enhancement Image Enhancement Types of Image Enhancement Operations Neighborhood Operations on Images Spatial Filtering Filtering

More information

Midterm Review. Image Processing CSE 166 Lecture 10

Midterm Review. Image Processing CSE 166 Lecture 10 Midterm Review Image Processing CSE 166 Lecture 10 Topics covered Image acquisition, geometric transformations, and image interpolation Intensity transformations Spatial filtering Fourier transform and

More information

By Washan Najat Nawi

By Washan Najat Nawi By Washan Najat Nawi how to get started how to use the interface how to modify images with basic editing skills Adobe Photoshop: is a popular image-editing software. Two general usage of Photoshop Creating

More information

Image Scaling. This image is too big to fit on the screen. How can we reduce it? How to generate a halfsized

Image Scaling. This image is too big to fit on the screen. How can we reduce it? How to generate a halfsized Resampling Image Scaling This image is too big to fit on the screen. How can we reduce it? How to generate a halfsized version? Image sub-sampling 1/8 1/4 Throw away every other row and column to create

More information

Digital Image Processing. Lecture # 4 Image Enhancement (Histogram)

Digital Image Processing. Lecture # 4 Image Enhancement (Histogram) Digital Image Processing Lecture # 4 Image Enhancement (Histogram) 1 Histogram of a Grayscale Image Let I be a 1-band (grayscale) image. I(r,c) is an 8-bit integer between 0 and 255. Histogram, h I, of

More information

Image filtering, image operations. Jana Kosecka

Image filtering, image operations. Jana Kosecka Image filtering, image operations Jana Kosecka - photometric aspects of image formation - gray level images - point-wise operations - linear filtering Image Brightness values I(x,y) Images Images contain

More information

Region Adaptive Unsharp Masking Based Lanczos-3 Interpolation for video Intra Frame Up-sampling

Region Adaptive Unsharp Masking Based Lanczos-3 Interpolation for video Intra Frame Up-sampling Region Adaptive Unsharp Masking Based Lanczos-3 Interpolation for video Intra Frame Up-sampling Aditya Acharya Dept. of Electronics and Communication Engg. National Institute of Technology Rourkela-769008,

More information

SECTION I - CHAPTER 2 DIGITAL IMAGING PROCESSING CONCEPTS

SECTION I - CHAPTER 2 DIGITAL IMAGING PROCESSING CONCEPTS RADT 3463 - COMPUTERIZED IMAGING Section I: Chapter 2 RADT 3463 Computerized Imaging 1 SECTION I - CHAPTER 2 DIGITAL IMAGING PROCESSING CONCEPTS RADT 3463 COMPUTERIZED IMAGING Section I: Chapter 2 RADT

More information

Using the Advanced Sharpen Transformation

Using the Advanced Sharpen Transformation Using the Advanced Sharpen Transformation Written by Jonathan Sachs Revised 10 Aug 2014 Copyright 2002-2014 Digital Light & Color Introduction Picture Window Pro s Advanced Sharpen transformation is a

More information

Photoshop CC Editing Images

Photoshop CC Editing Images Photoshop CC Editing Images Rotate a Canvas A canvas can be rotated 90 degrees Clockwise, 90 degrees Counter Clockwise, or rotated 180 degrees. Navigate to the Image Menu, select Image Rotation and then

More information

Capturing and Editing Digital Images *

Capturing and Editing Digital Images * Digital Media The material in this handout is excerpted from Digital Media Curriculum Primer a work written by Dr. Yue-Ling Wong (ylwong@wfu.edu), Department of Computer Science and Department of Art,

More information

DIGITAL IMAGE PROCESSING (COM-3371) Week 2 - January 14, 2002

DIGITAL IMAGE PROCESSING (COM-3371) Week 2 - January 14, 2002 DIGITAL IMAGE PROCESSING (COM-3371) Week 2 - January 14, 22 Topics: Human eye Visual phenomena Simple image model Image enhancement Point processes Histogram Lookup tables Contrast compression and stretching

More information

Image analysis. CS/CME/BioE/Biophys/BMI 279 Oct. 31 and Nov. 2, 2017 Ron Dror

Image analysis. CS/CME/BioE/Biophys/BMI 279 Oct. 31 and Nov. 2, 2017 Ron Dror Image analysis CS/CME/BioE/Biophys/BMI 279 Oct. 31 and Nov. 2, 2017 Ron Dror 1 Outline Images in molecular and cellular biology Reducing image noise Mean and Gaussian filters Frequency domain interpretation

More information

Image Filtering. Reading Today s Lecture. Reading for Next Time. What would be the result? Some Questions from Last Lecture

Image Filtering. Reading Today s Lecture. Reading for Next Time. What would be the result? Some Questions from Last Lecture Image Filtering HCI/ComS 575X: Computational Perception Instructor: Alexander Stoytchev http://www.cs.iastate.edu/~alex/classes/2007_spring_575x/ January 24, 2007 HCI/ComS 575X: Computational Perception

More information

CSC 320 H1S CSC320 Exam Study Guide (Last updated: April 2, 2015) Winter 2015

CSC 320 H1S CSC320 Exam Study Guide (Last updated: April 2, 2015) Winter 2015 Question 1. Suppose you have an image I that contains an image of a left eye (the image is detailed enough that it makes a difference that it s the left eye). Write pseudocode to find other left eyes in

More information

PHOTOTUTOR.com.au Share the Knowledge

PHOTOTUTOR.com.au Share the Knowledge THE DIGITAL WORKFLOW BY MICHAEL SMYTH This tutorial is designed to outline the necessary steps from digital capture, image editing and creating a final print. FIRSTLY, BE AWARE OF WHAT CAN AND CAN T BE

More information

Sampling and reconstruction

Sampling and reconstruction Sampling and reconstruction Week 10 Acknowledgement: The course slides are adapted from the slides prepared by Steve Marschner of Cornell University 1 Sampled representations How to store and compute with

More information

What is an image? Bernd Girod: EE368 Digital Image Processing Pixel Operations no. 1. A digital image can be written as a matrix

What is an image? Bernd Girod: EE368 Digital Image Processing Pixel Operations no. 1. A digital image can be written as a matrix What is an image? Definition: An image is a 2-dimensional light intensity function, f(x,y), where x and y are spatial coordinates, and f at (x,y) is related to the brightness of the image at that point.

More information

HISTOGRAMS. These notes are a basic introduction to using histograms to guide image capture and image processing.

HISTOGRAMS. These notes are a basic introduction to using histograms to guide image capture and image processing. HISTOGRAMS Roy Killen, APSEM, EFIAP, GMPSA These notes are a basic introduction to using histograms to guide image capture and image processing. What are histograms? Histograms are graphs that show what

More information

Spatial Domain Processing and Image Enhancement

Spatial Domain Processing and Image Enhancement Spatial Domain Processing and Image Enhancement Lecture 4, Feb 18 th, 2008 Lexing Xie EE4830 Digital Image Processing http://www.ee.columbia.edu/~xlx/ee4830/ thanks to Shahram Ebadollahi and Min Wu for

More information

The Camera Club. David Champion January 2011

The Camera Club. David Champion January 2011 The Camera Club B&W Negative Proccesing After Scanning. David Champion January 2011 That s how to scan a negative, now I will explain how to process the image using Photoshop CS5. To achieve a good scan

More information

Chapter 6. [6]Preprocessing

Chapter 6. [6]Preprocessing Chapter 6 [6]Preprocessing As mentioned in chapter 4, the first stage in the HCR pipeline is preprocessing of the image. We have seen in earlier chapters why this is very important and at the same time

More information

Applying mathematics to digital image processing using a spreadsheet

Applying mathematics to digital image processing using a spreadsheet Jeff Waldock Applying mathematics to digital image processing using a spreadsheet Jeff Waldock Department of Engineering and Mathematics Sheffield Hallam University j.waldock@shu.ac.uk Introduction When

More information

Image Filtering in Spatial domain. Computer Vision Jia-Bin Huang, Virginia Tech

Image Filtering in Spatial domain. Computer Vision Jia-Bin Huang, Virginia Tech Image Filtering in Spatial domain Computer Vision Jia-Bin Huang, Virginia Tech Administrative stuffs Lecture schedule changes Office hours - Jia-Bin (44 Whittemore Hall) Friday at : AM 2: PM Office hours

More information

June 30 th, 2008 Lesson notes taken from professor Hongmei Zhu class.

June 30 th, 2008 Lesson notes taken from professor Hongmei Zhu class. P. 1 June 30 th, 008 Lesson notes taken from professor Hongmei Zhu class. Sharpening Spatial Filters. 4.1 Introduction Smoothing or blurring is accomplished in the spatial domain by pixel averaging in

More information

Image Pyramids. Sanja Fidler CSC420: Intro to Image Understanding 1 / 35

Image Pyramids. Sanja Fidler CSC420: Intro to Image Understanding 1 / 35 Image Pyramids Sanja Fidler CSC420: Intro to Image Understanding 1 / 35 Finding Waldo Let s revisit the problem of finding Waldo This time he is on the road template (filter) image Sanja Fidler CSC420:

More information

Computer Graphics (Fall 2011) Outline. CS 184 Guest Lecture: Sampling and Reconstruction Ravi Ramamoorthi

Computer Graphics (Fall 2011) Outline. CS 184 Guest Lecture: Sampling and Reconstruction Ravi Ramamoorthi Computer Graphics (Fall 2011) CS 184 Guest Lecture: Sampling and Reconstruction Ravi Ramamoorthi Some slides courtesy Thomas Funkhouser and Pat Hanrahan Adapted version of CS 283 lecture http://inst.eecs.berkeley.edu/~cs283/fa10

More information

Topaz Labs DeNoise 3 Review By Dennis Goulet. The Problem

Topaz Labs DeNoise 3 Review By Dennis Goulet. The Problem Topaz Labs DeNoise 3 Review By Dennis Goulet The Problem As grain was the nemesis of clean images in film photography, electronic noise in digitally captured images can be a problem in making photographs

More information

8.2 IMAGE PROCESSING VERSUS IMAGE ANALYSIS Image processing: The collection of routines and

8.2 IMAGE PROCESSING VERSUS IMAGE ANALYSIS Image processing: The collection of routines and 8.1 INTRODUCTION In this chapter, we will study and discuss some fundamental techniques for image processing and image analysis, with a few examples of routines developed for certain purposes. 8.2 IMAGE

More information

Image Processing COS 426

Image Processing COS 426 Image Processing COS 426 What is a Digital Image? A digital image is a discrete array of samples representing a continuous 2D function Continuous function Discrete samples Limitations on Digital Images

More information

Basic Scanning in Adobe Photoshop

Basic Scanning in Adobe Photoshop Basic Scanning in Adobe Photoshop 1996 2004 solutions solutions provides comprehensive training on design and prepress applications to graphic professionals and multimedia developers utilizing primarily

More information

Recovering highlight detail in over exposed NEF images

Recovering highlight detail in over exposed NEF images Recovering highlight detail in over exposed NEF images Request I would like to compensate tones in overexposed RAW image, exhibiting a loss of detail in highlight portions. Response Highlight tones can

More information

One Week to Better Photography

One Week to Better Photography One Week to Better Photography Glossary Adobe Bridge Useful application packaged with Adobe Photoshop that previews, organizes and renames digital image files and creates digital contact sheets Adobe Photoshop

More information

Pacific New Media David Ulrich

Pacific New Media David Ulrich Pacific New Media David Ulrich pacimage@maui.net www.creativeguide.com 808.721.2862 Digital Imaging Workflow in Adobe Photoshop All color and tonal correction editing should be done in a non-destructive

More information

CSCI 1290: Comp Photo

CSCI 1290: Comp Photo CSCI 29: Comp Photo Fall 28 @ Brown University James Tompkin Many slides thanks to James Hays old CS 29 course, along with all of its acknowledgements. Things I forgot on Thursday Grads are not required

More information

IMAGE PROCESSING: POINT PROCESSES

IMAGE PROCESSING: POINT PROCESSES IMAGE PROCESSING: POINT PROCESSES N. C. State University CSC557 Multimedia Computing and Networking Fall 2001 Lecture # 11 IMAGE PROCESSING: POINT PROCESSES N. C. State University CSC557 Multimedia Computing

More information

Mullingar Camera Club Basic introduction to Digital Printing using Photoshop CC.

Mullingar Camera Club Basic introduction to Digital Printing using Photoshop CC. Mullingar Camera Club Basic introduction to Digital Printing using Photoshop CC. Table of Contents Course aims: 1 Course presentation notes: 1 Introducing Photoshop: 1 Adjusting the Brightness or Contrast

More information

קורס גרפיקה ממוחשבת 2008 סמסטר ב' Image Processing 1 חלק מהשקפים מעובדים משקפים של פרדו דוראנד, טומס פנקהאוסר ודניאל כהן-אור

קורס גרפיקה ממוחשבת 2008 סמסטר ב' Image Processing 1 חלק מהשקפים מעובדים משקפים של פרדו דוראנד, טומס פנקהאוסר ודניאל כהן-אור קורס גרפיקה ממוחשבת 2008 סמסטר ב' Image Processing 1 חלק מהשקפים מעובדים משקפים של פרדו דוראנד, טומס פנקהאוסר ודניאל כהן-אור What is an image? An image is a discrete array of samples representing a continuous

More information

Filip Malmberg 1TD396 fall 2018 Today s lecture

Filip Malmberg 1TD396 fall 2018 Today s lecture Today s lecture Local neighbourhood processing Convolution smoothing an image sharpening an image And more What is it? What is it useful for? How can I compute it? Removing uncorrelated noise from an image

More information

Image analysis. CS/CME/BIOPHYS/BMI 279 Fall 2015 Ron Dror

Image analysis. CS/CME/BIOPHYS/BMI 279 Fall 2015 Ron Dror Image analysis CS/CME/BIOPHYS/BMI 279 Fall 2015 Ron Dror A two- dimensional image can be described as a function of two variables f(x,y). For a grayscale image, the value of f(x,y) specifies the brightness

More information

Learning Photo Retouching techniques the simple way

Learning Photo Retouching techniques the simple way Learning Photo Retouching techniques the simple way Table of Contents About the Workshop... i Workshop Objectives... i Getting Started... 1 Photoshop Workspace... 1 Setting up the Preferences... 2 Retouching

More information

Prof. Feng Liu. Winter /10/2019

Prof. Feng Liu. Winter /10/2019 Prof. Feng Liu Winter 29 http://www.cs.pdx.edu/~fliu/courses/cs4/ //29 Last Time Course overview Admin. Info Computer Vision Computer Vision at PSU Image representation Color 2 Today Filter 3 Today Filters

More information