The errata list is a list of errors and their corrections that were found after the product was released.
The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.
Version |
Location |
Description |
Submitted by |
Date submitted |
PDF |
Page a lot of pages
|
all formulas and rows written in blu color are not readable on pdf how can I have a readable one?
|
Sergi Cappuccio |
Nov 23, 2013 |
PDF |
Page Ch 3,4,5
All pages |
Book formatting is seriously defficient (PDF version of Jan 31st, 2014):
- Equations in Chapters 3, 4 and 5 are unreadable.
- Font and page sizes are inconsistent across chapters. Most chapters use 10pt fonts; Chapter 1 uses 12pt fonts; Chapter 4 uses <9pt fonts and the page size is very small, leaving too big white margins.
|
Anonymous |
Feb 05, 2014 |
PDF |
|
Chapter 8 is missing from the pre-release published on august 4th, it was included in earlier releases.
many other errors that have been reported earlier remained (broken links/missing references, duplicate printing of images)
|
Gernot Hochmuth |
Aug 06, 2014 |
PDF |
Page 1
none |
There is no kalman filter treatment in the pre-release PDF. This section was a very important part of the original edition and I hope to see it included in the published edition.
|
Karim Virani |
Oct 17, 2013 |
PDF |
Page 17
Example 2-1 |
An Example 2-1 should have "return 0;" at the end. Without it, program will not work.
|
Pavlo |
Jan 23, 2014 |
PDF |
Page 20
Example 2.4 |
all constants in the code example 2.4 should read CV_.. , not cv::
for example CV_CAP_PROP_FRAME_COUNT (instead of cv::CAP_PROP_FRAME_COUNT)
|
Anonymous |
Jan 07, 2014 |
PDF |
Page 21-22
5th |
Example 2-4
works as follows :
#include <highgui.h>
#include <cv.h>
#include <iostream>
#include <fstream>
using namespace cv;
using namespace std;
int g_run = 1, g_dontset = 0; //start out in single step mode
cv::VideoCapture g_cap;
void onTrackbarSlide( int pos, void *) {
g_cap.set(CV_CAP_PROP_POS_FRAMES,pos);
if( !g_dontset )
g_run = 1;
g_dontset = 0;
}
int main( int argc, char** argv ) {
cv::namedWindow( "Example2_4", cv::WINDOW_AUTOSIZE );
g_cap.open( string(argv[1]) );
int frames = (int) g_cap.get(CV_CAP_PROP_FRAME_COUNT);
int tmpw = (int) g_cap.get(CV_CAP_PROP_FRAME_WIDTH);
int tmph = (int) g_cap.get(CV_CAP_PROP_FRAME_HEIGHT);
cout << "Video has " << frames << " frames of dimensions("
<< tmpw << ", " << tmph << ")." << endl;
cv::createTrackbar("Position", "Example2_4",0, frames,onTrackbarSlide);
cv::Mat frame;
while(1) {
if( g_run != 0 ) {
g_cap >> frame; if(!frame.data) break;
int current_pos = (int)g_cap.get(CV_CAP_PROP_POS_FRAMES);
g_dontset = 1;
cv::setTrackbarPos("Position", "Example2_4", current_pos);
cv::imshow( "Example2_4", frame );
g_run-=1;
}
char c = (char) cv::waitKey(10);
if(c == 's') // single step
{g_run = 1; cout << "Single step, run = " << g_run << endl;}
if(c == 'r') // run mode
{g_run = -1; cout << "Run mode, run = " << g_run <<endl;}
if( c == 27 )
break;
}
return(0);
}
|
eslam fahd |
Dec 08, 2013 |
PDF |
Page 21
United States |
Needs to add
using namespace std;
|
Clement Benjamin Barthes |
Apr 03, 2014 |
PDF |
Page 23
Example 2-4 inside " if(c == 's') // single step " statament |
g_run variable should receive 0 in order to stop the video output.
|
Nicolas Agostini |
Feb 04, 2014 |
PDF |
Page 25
2nd code |
I guess, that in "char c = (char) waitKey (10);", waitKey10 should mean "key was pressed", but I don't understand: what relation between pressed key and delay in 10 ms?
|
Pavlo |
Feb 04, 2014 |
PDF |
Page 25, 26
2nd paragraph, penultimate sentence; 1st paragraph, 1st sentence |
Page 25:
"Then, after we have called cv::showImage()...", but actually we called "cv::imshow()".
Page 26:
"The first call to cv::showImage()...". The same problem.
|
Pavlo |
Feb 04, 2014 |
PDF |
Page 26
Example 2-11 |
CV_FOURCC('M','J','P','G') should be VideoWriter::fourcc('M','J','P','G')
CV::U8C3 should be CV_8UC3
|
Matt Sonic |
Dec 10, 2013 |
PDF |
Page 26
Example 2-6 |
Example 2.6 doesn't work!
1) cv::Mat img = cv::imread( argv[1] ),img2;
What undefined matrix "img2" doing there?
I guess it should be "Mat img2;" in new line.
2) What semicolon doing at the end of main function?
I resolved that problem in this way (berofe namedWindow() function):
Mat img1;
Mat img2;
VideoCapture cap;
cap.open(string(argv[1]));
cap >> img1;
|
Pavlo |
Feb 04, 2014 |
PDF |
Page 27
Example 2-7 |
Example 2-7 doesn't work!
1) This is example doesn't work:
cv::Mat img_rgb = cv::imread( argv[1] );
My solution:
Mat img_rgb;
Mat img_gry, img_cny;
VideoCapture cap;
cap.open(string(argv[1]));
cap >> img_rgb;
2) cv::cvtColor( img_rgb, img_gry, cv::BGR2GRAY);
There no "BGR2GRAY", only "CV_BGR2GRAY", maybe here should be "CV_RGB2GRAY".
3)There should be "return 0;" at the end of main function.
|
Pavlo |
Feb 04, 2014 |
PDF |
Page 28, 29
Example 2-11 |
That program doesn't work!
1) There are no "logPolar" function, but "cvLogPolar".
2) "cvLogPolar" function underline first two parameters: "no suitable conversion function from "cv::Mat" to "CvArr*" exists".
3) Could not find codec parameters.
|
Pavlo |
Feb 04, 2014 |
PDF |
Page 34
last sentence |
I think, that "Table 3-3: Operations supported directly by the size classes" should be below, on page 35.
|
Pavlo |
Feb 05, 2014 |
PDF |
Page 38
end of page |
I guess, that caption "Table 3-8: Operations supported by class cv::Vec" and "Operation/ Example" should be on the next page.
|
Pavlo |
Feb 05, 2014 |
PDF |
Page 40
last sentence of 2nd paragraph |
There should be "dot" before last sentence of 2nd paragraph.
|
Pavlo |
Feb 05, 2014 |
PDF |
Page 44
beginning |
};
at the beginning superfluous, because we finished code at page 33.
|
Pavlo |
Feb 07, 2014 |
PDF |
Page 46, 69-76, 80-89 and others
several |
All mathematical formulas, including characters and symbols, are rendered in an almost illegible, low-resolution font.
|
Ricardo Carnieri |
Oct 26, 2013 |
PDF |
Page 46
Many erros - please read the detailed description |
The book has many typos and other mistakes.
Here's a short list of some of the errors I noticed so far:
Page 26, paragraph 3, just before the code for example 2-6 It says "To avoid this, we want to first run a high-pass filter over the signal".
This is a mistake - a LOW PASS FILTER is used, not high pass.
In many pages the same mistake appears regarding the syntax for the type of array.
In page 46 it says: "All such types are defined in the library header, and have the form cv::{U8,S16,U16,S32,F32,F64}C{1,2,3}.14 For example, cv::F32C3 would imply a 32-bit floating-point three-channel array."
This is very very wrong in 2 ways.
First - it is not cv::{....} but rather CV_....
The second mistake is that the format has the type and bit depth in reverse order. For instance, F32 should be 32F etc.
If I look into the example It should be CV_32FC3 and NOT cv::F32C3.
This mistake occurs in many many places in the book (in examples 2-7, 2-8) and many other places. Basically this mistake appears in all places were setting the type is part of the code or explanation.
Some of the equations in the pdf aren't vectorized, but rather are pixelated non-readable graphics. For example - on page 46, 2nd, 3rd and 5th rows. This happens in more places as well.
On page 52, second paragraph (green code lines) there's a serious mistake setting the cv::MatConstIterator<> iterator and checking it's value in the while loop.
Instead of "cv::MatConstIterator<cv::Vec3f> it = m.begin();"
It should say "cv::MatConstIterator_<cv::Vec3f> it = m.begin<cv::Vec3f>();"
Instead of "while( it != m.end() ) {"
It should say "while( it != m.end<cv::Vec3f>() ) {"
In addition, the while loop uses the variable len2, but this variable wasn't declared in the example. Sure, it's trivial it should be done but examples that aren't self contained are much less useful in a textbook.
On page 55, 5 lines from the end of the page it says
"operator=() is not assigning a cv::Mat or a cv::Mat (as it might appear),"
When what should be written is
"operator=() is not assigning a cv::Mat TO a cv::Mat (as it might appear),"
On page 47, the text description "Two-dimensional arrays by type with
initializtion value (size in sz)" has a missing letter 'a' in the word initializtion
This is not an exhaustive list of errors I noticed, just some I took note of.
This 2nd edition of the book was very well needed as the previous edition is completely redundant due to the major changes when opencv became more c++ and less c.
It's a shame the preview edition is so riddled with mistakes.
I am hoping this will be fixed by the final edition, as I've paid for the book and would enjoy using it without having to double-check the validity of the content.
Regards,
Yehuda
|
Yehuda Odes |
Apr 09, 2014 |
PDF |
Page 92-103, 111-115, 117, 159, 160, 162, 163,174-175, 177-179, 181, 182, 188, 190-193
formulas |
|
Pavlo |
Feb 05, 2014 |
PDF |
Page 162
putText() description |
The font used is selected by the fontFace argument, which can be any of those listed in Error! Reference source not found..
----
Broken link?
|
Matt Sonic |
Dec 30, 2013 |
PDF |
Page 164
last line |
"The font used is selected by the fontFace argument, which can be
any of those listed in Error! Reference source not found.."
broken link, reference to table 4-11 is missing. the same error occurs in the first paragraph after table 4-11 on page 165
|
Gernot Hochmuth |
May 09, 2014 |
PDF |
Page 197
under second image, below |
Under: not finished thought.
Below: that part bracket should be added to further "Figure 5-21) reduces such a bright region" and be placed above picture.
|
Pavlo |
Feb 07, 2014 |
PDF |
Page 199, 202-209, 212, 222, 223, 228
formulas |
Unreadable formulas, poor pictures resolution.
|
Pavlo |
Feb 05, 2014 |
PDF |
Page 225 - Chapter 5 Exercises
Question 2 |
cv::smooth() doesn't exist. Replace with GaussianBlur()
|
Matt Sonic |
Jan 05, 2014 |
PDF |
Page 252
footnote |
In footnote 12 the wrong type of apostrophe is used twice.
|
Thomas Weisbach |
Sep 26, 2014 |
PDF |
Page 274
last paragraph |
"An example of the cumulative density function is shown in Error! Reference source not found. for the somewhat idealized case of a distribution that was originally pure Gaussian."
broken link, reference to figure 6-19 is missing.
|
Gernot Hochmuth |
May 09, 2014 |
PDF |
Page 274+276
several places |
figure 6-18 (first occurrence on page 273) is redundantly reprinted on pages 274 and 276.
|
Gernot Hochmuth |
May 09, 2014 |
PDF |
Page 275
first paragraph |
figure 6-20 is printed twice.
the beginning of the first text paragraph is printed in the same format as the preceding caption of figure 6-20
|
Gernot Hochmuth |
May 09, 2014 |
PDF |
Page 276
first paragraph |
broken link: reference to figure 6-21 is missing.
erroneous text format: first line of the text is printed in the format of a caption
|
Gernot Hochmuth |
May 09, 2014 |
PDF |
Page 280
First paragraph, last sentence |
I think, that there should be "will set loDiff thresholds of
20 for red, 30 for green, and 40 for blue".
"loDiff" except "lo_iff".
|
Pavlo |
Feb 07, 2014 |
PDF |
Page 320,321,322,323,325
several |
figure 8-1 (first occurrence on page 320) is redundantly reprinted on pages 321, 322, 323 and 325.
the caption is printed below the second occurrence of figure 8-1 on page 321.
|
Gernot Hochmuth |
May 09, 2014 |
PDF |
Page 321-344
several |
figures 8-1, 8-2, 8-3, 8-4, 8-5 and 8-7 are redundantly printed on different locations:
figure 8-1 on pages 321, 322, 323, 325, 26, 327 and 328
figure 8-2 on pages 326, 327, 328, 329 and 330
figure 8-3 printed twice on page 334
figure 8-4 on page 336
figure 8-5 printed twice on page 337
figure 8-7 printed three times on page 344
|
Gernot Hochmuth |
May 09, 2014 |
PDF |
Page 323+324
first paragraph + second paragraph |
broken link: reference to table 8-1 is missing
|
Gernot Hochmuth |
May 09, 2014 |
PDF |
Page 324+325
page bottom |
illegible node indices in figure 8-2.
figure 8-2 and its caption are placed on different pages.
|
Gernot Hochmuth |
May 09, 2014 |
PDF |
Page 347-
Throughout |
Equations in chapter 8 are unreadable. (This appears to be a regression, as equations in chapters 5-7 are fine.)
|
John Brewer |
May 05, 2014 |