Errata

We thank all readers for reporting errors found in this text to imagingbook(at)gmail.com.

 

 

List of known errors

 

Download corrections as PDFs by selecting the corresponding page numbers below. Inside each page, changes are marked (colored) individually.

CHAP

PAGE

ERROR

REPORTED BY

1

--

 

2

8

Footnote: "Brunoleschi" should be "Brunelleschi".

Matt Jakob

3

--

3

--

4

--

 

5

62

Eq. 5.12: H(i) under square root should be replaced by h(j).

Fu Jie Huang

6

95

Line 1: "rows" and "columns" must be exchanged.

Fu Jie Huang

116

Exercise 6.12: ... "-sigma^2" should be "-2 sigma^2".

Jack Weinstein

7

124

The filter kernels listed in Eqns. 7.17-20 are those of the Robinson operator (not the Kirsch operator).

Chih-Cheng Hung

125

Eq. 7.24: factor j was missing.

Gino Brunetti

8

--

9

--

 

10

193

erode() method: lines 25-27 refer to "ip" while the image processor is called "I" in the method signature.

Alan Brooks

11

204

Propagating labels (last paragraph): foreground/background mixed up - I(u,v)=0 is background, I(u,v)=1 is foreground.

Jack Weinstein

208

Caption to Fig. 11.3: "In the next step, (c) is exactly ..." should be "In the next step (c), there is exactly ...".

Jack Weinstein

212

Item 2, Case A: "..transition from a background pixel .." (not foreground)

Eitan Suez

213

Implementation variables should be: I (pixelArray) and LM (labelArray).

WB

214

Alg. 11.3 (lines 13, 24, 29): current line label should be L_k.

Jack Weinstein

215

Alg. 11.4 (line 1): line label should be Lc.

Jack Weinstein

217

Fig. 11.10: multiple typos in caption.

J.-C. Houde

219

Fig. 11.14: error in contour length calculation for 8-chain code.

Danijel Skocaj

221

Eq. 11.4: no direction "9" possible in chain code (replaced by "5").

Danijel Skocaj

223

Footnote: ImageJ's "Analyze" tools apparently do not use the described method for computing a region's perimeter.

Gabriel Landini

12

251

Errors in Prog. 12.4: color map entries need to be treated as unsigned bytes - use a bitmask (0xFF &) to convert properly to int (lines 34-36). Line 37: use putPixel() instead of set().

Clyde J. Smittle

255

Printing problems in Fig. 12.9. Vertical axis in HSV-diagrams should be "V"

Ray S. Babcock

260

Eq. 12.12: error in definition of C_rng

Lars Knipping

262

Eq. 12.17: v should be VHSV, Eq. 12.19: scaling to integer values corrected.

A. Hoogesteger

264

Eqs. 12.21, 12.22: scaling by 255 missing

A. Hoogesteger

266

Eq. 12.25: definiton of d should be (1 - LHLS) instead of (LHLS - 1).

A. Hoogesteger

267

RGBtoHLS method adapted to Eqs. 12.21, 12.22 (R, G, B parameters changed to int in [0,255]).

WB

268

HLStoRGB-method: return value changed to packed RGB-int to comply with Eq. 12.19.

WB

271

Eq. 12.33: G = ... minus sign between Cb and wR should be plus.

L. Keene

13

320

Table 13.1 (2nd row): exchange +/- in equation for Sine functions.

Marc Hensel

322

Fig. 13.3 (b,d): exchange +/- in equation for Sine functions.

Marc Hensel

14

355

Table 14.3: error in equation for Hanning windowing function

R. Sotto-Maior

15

--

 

16

385

Unclear column separation in matrix M of Eqns. 16.36 and 16.37.

Marc Hensel

400

Cubic spline functions in Eq. 16.56 are NOT C2-but C1-continuous in general (only cubic B-spline is C2).

Masaki Miyahara

401

Eq. 16.58: expression for the first case (0<=|x|<1) should end with ... +4 (not -4).

Eric Livio

411

Typo in Fig. 16.32 (u0, v0).

W. Windsteiger

17

--

 A

--

 

 

 B

--

 

 

 C

479

Missing parentheses around arguments of first two constructor methods for FloatProcessor.

Hendrix Demers

 D

--