Fix modules/ typos

Found using `codespell -q 3 -S ./3rdparty -L activ,amin,ang,atleast,childs,dof,endwhile,halfs,hist,iff,nd,od,uint`

backporting of commit: ec43292e1e
This commit is contained in:
luz.paz 2019-08-15 18:02:09 -04:00 committed by Alexander Alekhin
parent 7df3141bbc
commit fcc7d8dd4e
67 changed files with 83 additions and 83 deletions

View File

@ -623,7 +623,7 @@ CV_IMPL void cvProjectPoints2( const CvMat* objectPoints,
if( (CV_MAT_TYPE(A->type) != CV_64FC1 && CV_MAT_TYPE(A->type) != CV_32FC1) || if( (CV_MAT_TYPE(A->type) != CV_64FC1 && CV_MAT_TYPE(A->type) != CV_32FC1) ||
A->rows != 3 || A->cols != 3 ) A->rows != 3 || A->cols != 3 )
CV_Error( CV_StsBadArg, "Instrinsic parameters must be 3x3 floating-point matrix" ); CV_Error( CV_StsBadArg, "Intrinsic parameters must be 3x3 floating-point matrix" );
cvConvert( A, &_a ); cvConvert( A, &_a );
fx = a[0]; fy = a[4]; fx = a[0]; fy = a[4];

View File

@ -506,7 +506,7 @@ int cv::recoverPose( InputArray E, InputArray _points1, InputArray _points2,
// Do the cheirality check. // Do the cheirality check.
// Notice here a threshold dist is used to filter // Notice here a threshold dist is used to filter
// out far away points (i.e. infinite points) since // out far away points (i.e. infinite points) since
// their depth may vary between positive and negtive. // their depth may vary between positive and negative.
std::vector<Mat> allTriangulations(4); std::vector<Mat> allTriangulations(4);
Mat Q; Mat Q;

View File

@ -650,7 +650,7 @@ void PoseSolver::makeCanonicalObjectPoints(InputArray _objectPoints, OutputArray
if (!computeObjextSpaceR3Pts(objectPoints,R)) if (!computeObjextSpaceR3Pts(objectPoints,R))
{ {
//we could not compute R, problably because there is a duplicate point in {objectPoints(0),objectPoints(1),objectPoints(2)}. //we could not compute R, probably because there is a duplicate point in {objectPoints(0),objectPoints(1),objectPoints(2)}.
//So we compute it with the SVD (which is slower): //So we compute it with the SVD (which is slower):
computeObjextSpaceRSvD(UZero,R); computeObjextSpaceRSvD(UZero,R);
} }

View File

@ -191,7 +191,7 @@ void CV_HomographyTest::print_information_4(int _method, int j, int N, int k, in
cout << "Number of point: " << k << endl; cout << "Number of point: " << k << endl;
cout << "Norm type using in criteria: "; if (NORM_TYPE[l] == 1) cout << "INF"; else if (NORM_TYPE[l] == 2) cout << "L1"; else cout << "L2"; cout << endl; cout << "Norm type using in criteria: "; if (NORM_TYPE[l] == 1) cout << "INF"; else if (NORM_TYPE[l] == 2) cout << "L1"; else cout << "L2"; cout << endl;
cout << "Difference with noise of point: " << diff << endl; cout << "Difference with noise of point: " << diff << endl;
cout << "Maxumum allowed difference: " << max_2diff << endl; cout << endl; cout << "Maximum allowed difference: " << max_2diff << endl; cout << endl;
} }
void CV_HomographyTest::print_information_5(int _method, int j, int N, int l, double diff) void CV_HomographyTest::print_information_5(int _method, int j, int N, int l, double diff)
@ -204,7 +204,7 @@ void CV_HomographyTest::print_information_5(int _method, int j, int N, int l, do
cout << "Count of points: " << N << endl; cout << "Count of points: " << N << endl;
cout << "Norm type using in criteria: "; if (NORM_TYPE[l] == 1) cout << "INF"; else if (NORM_TYPE[l] == 2) cout << "L1"; else cout << "L2"; cout << endl; cout << "Norm type using in criteria: "; if (NORM_TYPE[l] == 1) cout << "INF"; else if (NORM_TYPE[l] == 2) cout << "L1"; else cout << "L2"; cout << endl;
cout << "Difference with noise of points: " << diff << endl; cout << "Difference with noise of points: " << diff << endl;
cout << "Maxumum allowed difference: " << max_diff << endl; cout << endl; cout << "Maximum allowed difference: " << max_diff << endl; cout << endl;
} }
void CV_HomographyTest::print_information_6(int _method, int j, int N, int k, double diff, bool value) void CV_HomographyTest::print_information_6(int _method, int j, int N, int k, double diff, bool value)
@ -244,7 +244,7 @@ void CV_HomographyTest::print_information_8(int _method, int j, int N, int k, in
cout << "Number of point: " << k << " " << endl; cout << "Number of point: " << k << " " << endl;
cout << "Norm type using in criteria: "; if (NORM_TYPE[l] == 1) cout << "INF"; else if (NORM_TYPE[l] == 2) cout << "L1"; else cout << "L2"; cout << endl; cout << "Norm type using in criteria: "; if (NORM_TYPE[l] == 1) cout << "INF"; else if (NORM_TYPE[l] == 2) cout << "L1"; else cout << "L2"; cout << endl;
cout << "Difference with noise of point: " << diff << endl; cout << "Difference with noise of point: " << diff << endl;
cout << "Maxumum allowed difference: " << max_2diff << endl; cout << endl; cout << "Maximum allowed difference: " << max_2diff << endl; cout << endl;
} }
void CV_HomographyTest::run(int) void CV_HomographyTest::run(int)

View File

@ -53,7 +53,7 @@
which is incompatible with C which is incompatible with C
It is OK to disable it because we only extend few plain structures with It is OK to disable it because we only extend few plain structures with
C++ construrtors for simpler interoperability with C++ API of the library C++ constructors for simpler interoperability with C++ API of the library
*/ */
# pragma warning(disable:4190) # pragma warning(disable:4190)
# elif defined __clang__ && __clang_major__ >= 3 # elif defined __clang__ && __clang_major__ >= 3

View File

@ -126,7 +126,7 @@ public:
GpuMat(int rows, int cols, int type, Allocator* allocator = defaultAllocator()); GpuMat(int rows, int cols, int type, Allocator* allocator = defaultAllocator());
GpuMat(Size size, int type, Allocator* allocator = defaultAllocator()); GpuMat(Size size, int type, Allocator* allocator = defaultAllocator());
//! constucts GpuMat and fills it with the specified value _s //! constructs GpuMat and fills it with the specified value _s
GpuMat(int rows, int cols, int type, Scalar s, Allocator* allocator = defaultAllocator()); GpuMat(int rows, int cols, int type, Scalar s, Allocator* allocator = defaultAllocator());
GpuMat(Size size, int type, Scalar s, Allocator* allocator = defaultAllocator()); GpuMat(Size size, int type, Scalar s, Allocator* allocator = defaultAllocator());

View File

@ -76,7 +76,7 @@ implemented as a structure based on a one SIMD register.
- cv::v_uint32x4 and cv::v_int32x4: four 32-bit integer values (unsgined/signed) - int - cv::v_uint32x4 and cv::v_int32x4: four 32-bit integer values (unsgined/signed) - int
- cv::v_uint64x2 and cv::v_int64x2: two 64-bit integer values (unsigned/signed) - int64 - cv::v_uint64x2 and cv::v_int64x2: two 64-bit integer values (unsigned/signed) - int64
- cv::v_float32x4: four 32-bit floating point values (signed) - float - cv::v_float32x4: four 32-bit floating point values (signed) - float
- cv::v_float64x2: two 64-bit floating point valies (signed) - double - cv::v_float64x2: two 64-bit floating point values (signed) - double
@note @note
cv::v_float64x2 is not implemented in NEON variant, if you want to use this type, don't forget to cv::v_float64x2 is not implemented in NEON variant, if you want to use this type, don't forget to

View File

@ -1272,7 +1272,7 @@ inline v_float32x4 v_load_expand(const float16_t* ptr)
inline void v_pack_store(float16_t* ptr, const v_float32x4& v) inline void v_pack_store(float16_t* ptr, const v_float32x4& v)
{ {
// fixme: Is there any buitin op or intrinsic that cover "xvcvsphp"? // fixme: Is there any builtin op or intrinsic that cover "xvcvsphp"?
#if CV_VSX3 && !defined(CV_COMPILER_VSX_BROKEN_ASM) #if CV_VSX3 && !defined(CV_COMPILER_VSX_BROKEN_ASM)
vec_ushort8 vf16; vec_ushort8 vf16;
__asm__ __volatile__ ("xvcvsphp %x0,%x1" : "=wa" (vf16) : "wf" (v.val)); __asm__ __volatile__ ("xvcvsphp %x0,%x1" : "=wa" (vf16) : "wf" (v.val));

View File

@ -151,7 +151,7 @@ number of components (vectors/matrices) of the outer vector.
In general, type support is limited to cv::Mat types. Other types are forbidden. In general, type support is limited to cv::Mat types. Other types are forbidden.
But in some cases we need to support passing of custom non-general Mat types, like arrays of cv::KeyPoint, cv::DMatch, etc. But in some cases we need to support passing of custom non-general Mat types, like arrays of cv::KeyPoint, cv::DMatch, etc.
This data is not intented to be interpreted as an image data, or processed somehow like regular cv::Mat. This data is not intended to be interpreted as an image data, or processed somehow like regular cv::Mat.
To pass such custom type use rawIn() / rawOut() / rawInOut() wrappers. To pass such custom type use rawIn() / rawOut() / rawInOut() wrappers.
Custom type is wrapped as Mat-compatible `CV_8UC<N>` values (N = sizeof(T), N <= CV_CN_MAX). Custom type is wrapped as Mat-compatible `CV_8UC<N>` values (N = sizeof(T), N <= CV_CN_MAX).
*/ */
@ -2416,7 +2416,7 @@ public:
// (_type is CV_8UC1, CV_64FC3, CV_32SC(12) etc.) // (_type is CV_8UC1, CV_64FC3, CV_32SC(12) etc.)
UMat(int rows, int cols, int type, UMatUsageFlags usageFlags = USAGE_DEFAULT); UMat(int rows, int cols, int type, UMatUsageFlags usageFlags = USAGE_DEFAULT);
UMat(Size size, int type, UMatUsageFlags usageFlags = USAGE_DEFAULT); UMat(Size size, int type, UMatUsageFlags usageFlags = USAGE_DEFAULT);
//! constucts 2D matrix and fills it with the specified value _s. //! constructs 2D matrix and fills it with the specified value _s.
UMat(int rows, int cols, int type, const Scalar& s, UMatUsageFlags usageFlags = USAGE_DEFAULT); UMat(int rows, int cols, int type, const Scalar& s, UMatUsageFlags usageFlags = USAGE_DEFAULT);
UMat(Size size, int type, const Scalar& s, UMatUsageFlags usageFlags = USAGE_DEFAULT); UMat(Size size, int type, const Scalar& s, UMatUsageFlags usageFlags = USAGE_DEFAULT);
@ -2863,7 +2863,7 @@ public:
`ref<_Tp>(i0,...[,hashval])` is equivalent to `*(_Tp*)ptr(i0,...,true[,hashval])`. `ref<_Tp>(i0,...[,hashval])` is equivalent to `*(_Tp*)ptr(i0,...,true[,hashval])`.
The methods always return a valid reference. The methods always return a valid reference.
If the element did not exist, it is created and initialiazed with 0. If the element did not exist, it is created and initialized with 0.
*/ */
//! returns reference to the specified element (1D case) //! returns reference to the specified element (1D case)
template<typename _Tp> _Tp& ref(int i0, size_t* hashval=0); template<typename _Tp> _Tp& ref(int i0, size_t* hashval=0);

View File

@ -27,7 +27,7 @@ These files can be pre-generated for target configurations of your application
or generated by CMake on the fly (use CMAKE_BINARY_DIR for that). or generated by CMake on the fly (use CMAKE_BINARY_DIR for that).
Notes: Notes:
- H/W capability checks are still responsibility of your applcation - H/W capability checks are still responsibility of your application
- runtime dispatching is not covered by this helper header - runtime dispatching is not covered by this helper header
*/ */

View File

@ -49,8 +49,8 @@ public:
void lock(); //< acquire exclusive (writer) lock void lock(); //< acquire exclusive (writer) lock
void unlock(); //< release exclusive (writer) lock void unlock(); //< release exclusive (writer) lock
void lock_shared(); //< acquire sharable (reader) lock void lock_shared(); //< acquire shareable (reader) lock
void unlock_shared(); //< release sharable (reader) lock void unlock_shared(); //< release shareable (reader) lock
struct Impl; struct Impl;
protected: protected:

View File

@ -13,7 +13,7 @@ public:
// (_type is CV_8UC1, CV_64FC3, CV_32SC(12) etc.) // (_type is CV_8UC1, CV_64FC3, CV_32SC(12) etc.)
CV_WRAP UMat(int rows, int cols, int type, UMatUsageFlags usageFlags = USAGE_DEFAULT); CV_WRAP UMat(int rows, int cols, int type, UMatUsageFlags usageFlags = USAGE_DEFAULT);
CV_WRAP UMat(Size size, int type, UMatUsageFlags usageFlags = USAGE_DEFAULT); CV_WRAP UMat(Size size, int type, UMatUsageFlags usageFlags = USAGE_DEFAULT);
//! constucts 2D matrix and fills it with the specified value _s. //! constructs 2D matrix and fills it with the specified value _s.
CV_WRAP UMat(int rows, int cols, int type, const Scalar& s, UMatUsageFlags usageFlags = USAGE_DEFAULT); CV_WRAP UMat(int rows, int cols, int type, const Scalar& s, UMatUsageFlags usageFlags = USAGE_DEFAULT);
CV_WRAP UMat(Size size, int type, const Scalar& s, UMatUsageFlags usageFlags = USAGE_DEFAULT); CV_WRAP UMat(Size size, int type, const Scalar& s, UMatUsageFlags usageFlags = USAGE_DEFAULT);

View File

@ -1766,7 +1766,7 @@ cvSeqInsertSlice( CvSeq* seq, int index, const CvArr* from_arr )
CV_Error( CV_StsBadArg, "Source is not a sequence nor matrix" ); CV_Error( CV_StsBadArg, "Source is not a sequence nor matrix" );
if( !CV_IS_MAT_CONT(mat->type) || (mat->rows != 1 && mat->cols != 1) ) if( !CV_IS_MAT_CONT(mat->type) || (mat->rows != 1 && mat->cols != 1) )
CV_Error( CV_StsBadArg, "The source array must be 1d coninuous vector" ); CV_Error( CV_StsBadArg, "The source array must be 1d continuous vector" );
from = cvMakeSeqHeaderForArray( CV_SEQ_KIND_GENERIC, sizeof(from_header), from = cvMakeSeqHeaderForArray( CV_SEQ_KIND_GENERIC, sizeof(from_header),
CV_ELEM_SIZE(mat->type), CV_ELEM_SIZE(mat->type),

View File

@ -63,7 +63,7 @@
#define HAL_LU_SMALL_MATRIX_THRESH 100 #define HAL_LU_SMALL_MATRIX_THRESH 100
#define HAL_CHOLESKY_SMALL_MATRIX_THRESH 100 #define HAL_CHOLESKY_SMALL_MATRIX_THRESH 100
//lapack stores matrices in column-major order so transposing is neded everywhere //lapack stores matrices in column-major order so transposing is needed everywhere
template <typename fptype> static inline void template <typename fptype> static inline void
transpose_square_inplace(fptype *src, size_t src_ld, size_t m) transpose_square_inplace(fptype *src, size_t src_ld, size_t m)
{ {

View File

@ -5759,7 +5759,7 @@ public:
static OpenCLAllocator* getOpenCLAllocator_() // call once guarantee static OpenCLAllocator* getOpenCLAllocator_() // call once guarantee
{ {
static OpenCLAllocator* g_allocator = new OpenCLAllocator(); // avoid destrutor call (using of this object is too wide) static OpenCLAllocator* g_allocator = new OpenCLAllocator(); // avoid destructor call (using of this object is too wide)
g_isOpenCVActivated = true; g_isOpenCVActivated = true;
return g_allocator; return g_allocator;
} }

View File

@ -73,7 +73,7 @@ public:
protected: protected:
bool test_values(const cv::Mat& src); // complex test for eigen without vectors bool test_values(const cv::Mat& src); // complex test for eigen without vectors
bool check_full(int type); // compex test for symmetric matrix bool check_full(int type); // complex test for symmetric matrix
virtual void run (int) = 0; // main testing method virtual void run (int) = 0; // main testing method
protected: protected:

View File

@ -104,7 +104,7 @@ CV__DNN_EXPERIMENTAL_NS_BEGIN
h_t &= o_t \odot tanh(c_t), \\ h_t &= o_t \odot tanh(c_t), \\
c_t &= f_t \odot c_{t-1} + i_t \odot g_t, \\ c_t &= f_t \odot c_{t-1} + i_t \odot g_t, \\
@f} @f}
where @f$\odot@f$ is per-element multiply operation and @f$i_t, f_t, o_t, g_t@f$ is internal gates that are computed using learned wights. where @f$\odot@f$ is per-element multiply operation and @f$i_t, f_t, o_t, g_t@f$ is internal gates that are computed using learned weights.
Gates are computed as follows: Gates are computed as follows:
@f{eqnarray*}{ @f{eqnarray*}{

View File

@ -428,7 +428,7 @@ CV__DNN_EXPERIMENTAL_NS_BEGIN
* @param inpPin descriptor of the second layer input. * @param inpPin descriptor of the second layer input.
* *
* Descriptors have the following template <DFN>&lt;layer_name&gt;[.input_number]</DFN>: * Descriptors have the following template <DFN>&lt;layer_name&gt;[.input_number]</DFN>:
* - the first part of the template <DFN>layer_name</DFN> is sting name of the added layer. * - the first part of the template <DFN>layer_name</DFN> is string name of the added layer.
* If this part is empty then the network input pseudo layer will be used; * If this part is empty then the network input pseudo layer will be used;
* - the second optional part of the template <DFN>input_number</DFN> * - the second optional part of the template <DFN>input_number</DFN>
* is either number of the layer input, either label one. * is either number of the layer input, either label one.

View File

@ -618,7 +618,7 @@ void OCL4DNNConvSpatial<Dtype>::calculateBenchmark(const UMat &bottom, UMat &ver
// For large enough input size, we do not need to tune kernels for different // For large enough input size, we do not need to tune kernels for different
// size. The reason is with large input size, there will be enough work items // size. The reason is with large input size, there will be enough work items
// to feed al the EUs. // to feed al the EUs.
// FIXME for the gemm like convolution, switch back to eaxct image size. // FIXME for the gemm like convolution, switch back to exact image size.
#define TUNING_SIZE(x) ((x) > 256 ? 256 : (alignSize(x, 16))) #define TUNING_SIZE(x) ((x) > 256 ? 256 : (alignSize(x, 16)))

View File

@ -161,7 +161,7 @@ message NodeProto {
repeated string output = 2; // namespace Value repeated string output = 2; // namespace Value
// An optional identifier for this node in a graph. // An optional identifier for this node in a graph.
// This field MAY be absent in ths version of the IR. // This field MAY be absent in this version of the IR.
optional string name = 3; // namespace Node optional string name = 3; // namespace Node
// The symbolic identifier of the Operator to execute. // The symbolic identifier of the Operator to execute.

View File

@ -609,7 +609,7 @@ void InfEngineBackendNet::forward(const std::vector<Ptr<BackendWrapper> >& outBl
try { try {
wrapper->outProms[processedOutputs].setException(std::current_exception()); wrapper->outProms[processedOutputs].setException(std::current_exception());
} catch(...) { } catch(...) {
CV_LOG_ERROR(NULL, "DNN: Exception occured during async inference exception propagation"); CV_LOG_ERROR(NULL, "DNN: Exception occurred during async inference exception propagation");
} }
} }
} }
@ -622,7 +622,7 @@ void InfEngineBackendNet::forward(const std::vector<Ptr<BackendWrapper> >& outBl
try { try {
wrapper->outProms[processedOutputs].setException(e); wrapper->outProms[processedOutputs].setException(e);
} catch(...) { } catch(...) {
CV_LOG_ERROR(NULL, "DNN: Exception occured during async inference exception propagation"); CV_LOG_ERROR(NULL, "DNN: Exception occurred during async inference exception propagation");
} }
} }
} }

View File

@ -40,7 +40,7 @@
#endif #endif
//#define INFERENCE_ENGINE_DEPRECATED // turn off deprecation warnings from IE //#define INFERENCE_ENGINE_DEPRECATED // turn off deprecation warnings from IE
//there is no way to suppress warnigns from IE only at this moment, so we are forced to suppress warnings globally //there is no way to suppress warnings from IE only at this moment, so we are forced to suppress warnings globally
#if defined(__GNUC__) #if defined(__GNUC__)
#pragma GCC diagnostic ignored "-Wdeprecated-declarations" #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#endif #endif

View File

@ -837,7 +837,7 @@ void TFImporter::populateNet(Net dstNet)
CV_Assert(paddings.type() == CV_32SC1); CV_Assert(paddings.type() == CV_32SC1);
if (paddings.total() == 8) if (paddings.total() == 8)
{ {
// Perhabs, we have NHWC padding dimensions order. // Perhaps, we have NHWC padding dimensions order.
// N H W C // N H W C
// 0 1 2 3 4 5 6 7 // 0 1 2 3 4 5 6 7
std::swap(paddings.at<int32_t>(2), paddings.at<int32_t>(6)); std::swap(paddings.at<int32_t>(2), paddings.at<int32_t>(6));

View File

@ -312,7 +312,7 @@ struct TorchImporter
fpos = THFile_position(file); fpos = THFile_position(file);
int ktype = readInt(); int ktype = readInt();
if (ktype != TYPE_STRING) //skip non-string fileds if (ktype != TYPE_STRING) //skip non-string fields
{ {
THFile_seek(file, fpos); THFile_seek(file, fpos);
readObject(); //key readObject(); //key

View File

@ -14,7 +14,7 @@
// Synchronize headers include statements with src/op_inf_engine.hpp // Synchronize headers include statements with src/op_inf_engine.hpp
// //
//#define INFERENCE_ENGINE_DEPRECATED // turn off deprecation warnings from IE //#define INFERENCE_ENGINE_DEPRECATED // turn off deprecation warnings from IE
//there is no way to suppress warnigns from IE only at this moment, so we are forced to suppress warnings globally //there is no way to suppress warnings from IE only at this moment, so we are forced to suppress warnings globally
#if defined(__GNUC__) #if defined(__GNUC__)
#pragma GCC diagnostic ignored "-Wdeprecated-declarations" #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#endif #endif

View File

@ -6,7 +6,7 @@
namespace opencv_test namespace opencv_test
{ {
/* cofiguration for tests of detectors/descriptors. shared between ocl and cpu tests. */ /* configuration for tests of detectors/descriptors. shared between ocl and cpu tests. */
// detectors/descriptors configurations to test // detectors/descriptors configurations to test
#define DETECTORS_ONLY \ #define DETECTORS_ONLY \

View File

@ -578,7 +578,7 @@ public:
private: private:
/** /**
* Struture representing a node in the hierarchical k-means tree. * Structure representing a node in the hierarchical k-means tree.
*/ */
struct Node struct Node
{ {

View File

@ -547,7 +547,7 @@ public:
private: private:
/** /**
* Struture representing a node in the hierarchical k-means tree. * Structure representing a node in the hierarchical k-means tree.
*/ */
struct KMeansNode struct KMeansNode
{ {

View File

@ -301,7 +301,7 @@ public:
unsigned int index_; unsigned int index_;
}; };
/** Default cosntructor */ /** Default constructor */
UniqueResultSet() : UniqueResultSet() :
is_full_(false), worst_distance_(std::numeric_limits<DistanceType>::max()) is_full_(false), worst_distance_(std::numeric_limits<DistanceType>::max())
{ {

View File

@ -1806,7 +1806,7 @@ static gboolean icvOnMouse( GtkWidget *widget, GdkEvent *event, gpointer user_da
else if( event->type == GDK_SCROLL ) else if( event->type == GDK_SCROLL )
{ {
#if defined(GTK_VERSION3_4) #if defined(GTK_VERSION3_4)
// NOTE: in current implementation doesn't possible to put into callback function delta_x and delta_y separetely // NOTE: in current implementation doesn't possible to put into callback function delta_x and delta_y separately
double delta = (event->scroll.delta_x + event->scroll.delta_y); double delta = (event->scroll.delta_x + event->scroll.delta_y);
cv_event = (event->scroll.delta_y!=0) ? CV_EVENT_MOUSEHWHEEL : CV_EVENT_MOUSEWHEEL; cv_event = (event->scroll.delta_y!=0) ? CV_EVENT_MOUSEHWHEEL : CV_EVENT_MOUSEWHEEL;
#else #else

View File

@ -1219,7 +1219,7 @@ cvShowImage( const char* name, const CvArr* arr )
dst_ptr, (size.cx * channels + 3) & -4 ); dst_ptr, (size.cx * channels + 3) & -4 );
cvConvertImage( image, &dst, origin == 0 ? CV_CVTIMG_FLIP : 0 ); cvConvertImage( image, &dst, origin == 0 ? CV_CVTIMG_FLIP : 0 );
// ony resize window if needed // only resize window if needed
if (changed_size) if (changed_size)
icvUpdateWindowPos(window); icvUpdateWindowPos(window);
InvalidateRect(window->hwnd, 0, 0); InvalidateRect(window->hwnd, 0, 0);

View File

@ -52,7 +52,7 @@
#include <stdio.h> #include <stdio.h>
#include <setjmp.h> #include <setjmp.h>
// the following defines are a hack to avoid multiple problems with frame ponter handling and setjmp // the following defines are a hack to avoid multiple problems with frame pointer handling and setjmp
// see http://gcc.gnu.org/ml/gcc/2011-10/msg00324.html for some details // see http://gcc.gnu.org/ml/gcc/2011-10/msg00324.html for some details
#define mingw_getsp(...) 0 #define mingw_getsp(...) 0
#define __builtin_frame_address(...) 0 #define __builtin_frame_address(...) 0

View File

@ -62,7 +62,7 @@ namespace cv {
#define MAX_PAM_HEADER_IDENITFIER_LENGTH 8 #define MAX_PAM_HEADER_IDENITFIER_LENGTH 8
#define MAX_PAM_HEADER_VALUE_LENGTH 255 #define MAX_PAM_HEADER_VALUE_LENGTH 255
/* PAM header fileds */ /* PAM header fields */
typedef enum { typedef enum {
PAM_HEADER_NONE, PAM_HEADER_NONE,
PAM_HEADER_COMMENT, PAM_HEADER_COMMENT,

View File

@ -72,7 +72,7 @@
#pragma warning( disable: 4611 ) #pragma warning( disable: 4611 )
#endif #endif
// the following defines are a hack to avoid multiple problems with frame ponter handling and setjmp // the following defines are a hack to avoid multiple problems with frame pointer handling and setjmp
// see http://gcc.gnu.org/ml/gcc/2011-10/msg00324.html for some details // see http://gcc.gnu.org/ml/gcc/2011-10/msg00324.html for some details
#define mingw_getsp(...) 0 #define mingw_getsp(...) 0
#define __builtin_frame_address(...) 0 #define __builtin_frame_address(...) 0

View File

@ -28,7 +28,7 @@ PERF_TEST_P(Image_RhoStep_ThetaStep_Threshold, HoughLines,
Canny(image, image, 32, 128); Canny(image, image, 32, 128);
// add some syntetic lines: // add some synthetic lines:
line(image, Point(0, 0), Point(image.cols, image.rows), Scalar::all(255), 3); line(image, Point(0, 0), Point(image.cols, image.rows), Scalar::all(255), 3);
line(image, Point(image.cols, 0), Point(image.cols/2, image.rows), Scalar::all(255), 3); line(image, Point(image.cols, 0), Point(image.cols/2, image.rows), Scalar::all(255), 3);
@ -89,7 +89,7 @@ PERF_TEST_P(Image_RhoStep_ThetaStep_Threshold, HoughLines3f,
Canny(image, image, 32, 128); Canny(image, image, 32, 128);
// add some syntetic lines: // add some synthetic lines:
line(image, Point(0, 0), Point(image.cols, image.rows), Scalar::all(255), 3); line(image, Point(0, 0), Point(image.cols, image.rows), Scalar::all(255), 3);
line(image, Point(image.cols, 0), Point(image.cols/2, image.rows), Scalar::all(255), 3); line(image, Point(image.cols, 0), Point(image.cols/2, image.rows), Scalar::all(255), 3);

View File

@ -603,7 +603,7 @@ HoughLinesProbabilistic( Mat& image,
if( k > 0 ) if( k > 0 )
dx = -dx, dy = -dy; dx = -dx, dy = -dy;
// walk along the line using fixed-point arithmetics, // walk along the line using fixed-point arithmetic,
// stop at the image border or in case of too big gap // stop at the image border or in case of too big gap
for( ;; x += dx, y += dy ) for( ;; x += dx, y += dy )
{ {
@ -651,7 +651,7 @@ HoughLinesProbabilistic( Mat& image,
if( k > 0 ) if( k > 0 )
dx = -dx, dy = -dy; dx = -dx, dy = -dy;
// walk along the line using fixed-point arithmetics, // walk along the line using fixed-point arithmetic,
// stop at the image border or in case of too big gap // stop at the image border or in case of too big gap
for( ;; x += dx, y += dy ) for( ;; x += dx, y += dy )
{ {
@ -968,7 +968,7 @@ void HoughLinesPointSet( InputArray _point, OutputArray _lines, int lines_max, i
createTrigTable( numangle, min_theta, theta_step, createTrigTable( numangle, min_theta, theta_step,
irho, tabSin, tabCos ); irho, tabSin, tabCos );
// stage 1. fill accumlator // stage 1. fill accumulator
for( i = 0; i < (int)point.size(); i++ ) for( i = 0; i < (int)point.size(); i++ )
for(int n = 0; n < numangle; n++ ) for(int n = 0; n < numangle; n++ )
{ {

View File

@ -269,7 +269,7 @@ static bool ippMorph(int op, int src_type, int dst_type,
return false; return false;
// Multiple iterations on small mask is not effective in current integration // Multiple iterations on small mask is not effective in current integration
// Implace imitation for 3x3 kernel is not efficient // Inplace imitation for 3x3 kernel is not efficient
// Advanced morphology for small mask introduces degradations // Advanced morphology for small mask introduces degradations
if((iterations > 1 || src_data == dst_data || (op != MORPH_ERODE && op != MORPH_DILATE)) && kernel_width*kernel_height < 25) if((iterations > 1 || src_data == dst_data || (op != MORPH_ERODE && op != MORPH_DILATE)) && kernel_width*kernel_height < 25)
return false; return false;

View File

@ -104,7 +104,7 @@ static void rotatingCalipers( const Point2f* points, int n, int mode, float* out
/* rotating calipers sides will always have coordinates /* rotating calipers sides will always have coordinates
(a,b) (-b,a) (-a,-b) (b, -a) (a,b) (-b,a) (-a,-b) (b, -a)
*/ */
/* this is a first base bector (a,b) initialized by (1,0) */ /* this is a first base vector (a,b) initialized by (1,0) */
float orientation = 0; float orientation = 0;
float base_a; float base_a;
float base_b = 0; float base_b = 0;

View File

@ -77,7 +77,7 @@ PARAM_TEST_CASE(Canny, Channels, ApertureSize, L2gradient, UseRoi)
void generateTestData() void generateTestData()
{ {
Mat img = readImageType("shared/fruits.png", CV_8UC(cn)); Mat img = readImageType("shared/fruits.png", CV_8UC(cn));
ASSERT_FALSE(img.empty()) << "cann't load shared/fruits.png"; ASSERT_FALSE(img.empty()) << "can't load shared/fruits.png";
Size roiSize = img.size(); Size roiSize = img.size();
int type = img.type(); int type = img.type();

View File

@ -357,7 +357,7 @@ PARAM_TEST_CASE(CannyVX, ImagePath, ApertureSize, L2gradient)
void loadImage() void loadImage()
{ {
src = cv::imread(cvtest::TS::ptr()->get_data_path() + imgPath, IMREAD_GRAYSCALE); src = cv::imread(cvtest::TS::ptr()->get_data_path() + imgPath, IMREAD_GRAYSCALE);
ASSERT_FALSE(src.empty()) << "cann't load image: " << imgPath; ASSERT_FALSE(src.empty()) << "can't load image: " << imgPath;
} }
}; };

View File

@ -268,7 +268,7 @@ class AsyncServiceHelper
} }
else else
{ {
Log.d(TAG, "Wating for package installation"); Log.d(TAG, "Waiting for package installation");
} }
Log.d(TAG, "Unbind from service"); Log.d(TAG, "Unbind from service");

View File

@ -501,10 +501,10 @@ public class OpenCVTestCase extends TestCase {
double maxDiff = Core.norm(diff, Core.NORM_INF); double maxDiff = Core.norm(diff, Core.NORM_INF);
if (isEqualityMeasured) if (isEqualityMeasured)
assertTrue("Max difference between expected and actiual Mats is "+ maxDiff + ", that bigger than " + eps, assertTrue("Max difference between expected and actual Mats is "+ maxDiff + ", that bigger than " + eps,
maxDiff <= eps); maxDiff <= eps);
else else
assertFalse("Max difference between expected and actiual Mats is "+ maxDiff + ", that less than " + eps, assertFalse("Max difference between expected and actual Mats is "+ maxDiff + ", that less than " + eps,
maxDiff <= eps); maxDiff <= eps);
} }

View File

@ -527,10 +527,10 @@ public class OpenCVTestCase extends TestCase {
double maxDiff = Core.norm(diff, Core.NORM_INF); double maxDiff = Core.norm(diff, Core.NORM_INF);
if (isEqualityMeasured) if (isEqualityMeasured)
assertTrue("Max difference between expected and actiual Mats is "+ maxDiff + ", that bigger than " + eps, assertTrue("Max difference between expected and actual Mats is "+ maxDiff + ", that bigger than " + eps,
maxDiff <= eps); maxDiff <= eps);
else else
assertFalse("Max difference between expected and actiual Mats is "+ maxDiff + ", that less than " + eps, assertFalse("Max difference between expected and actual Mats is "+ maxDiff + ", that less than " + eps,
maxDiff <= eps); maxDiff <= eps);
} }

View File

@ -3,7 +3,7 @@
// of this distribution and at http://opencv.org/license.html. // of this distribution and at http://opencv.org/license.html.
if (typeof module !== 'undefined' && module.exports) { if (typeof module !== 'undefined' && module.exports) {
// The envrionment is Node.js // The environment is Node.js
var cv = require('./opencv.js'); // eslint-disable-line no-var var cv = require('./opencv.js'); // eslint-disable-line no-var
} }

View File

@ -3,7 +3,7 @@
// of this distribution and at http://opencv.org/license.html. // of this distribution and at http://opencv.org/license.html.
if (typeof module !== 'undefined' && module.exports) { if (typeof module !== 'undefined' && module.exports) {
// The envrionment is Node.js // The environment is Node.js
var cv = require('./opencv.js'); // eslint-disable-line no-var var cv = require('./opencv.js'); // eslint-disable-line no-var
} }

View File

@ -69,7 +69,7 @@
// //
if (typeof module !== 'undefined' && module.exports) { if (typeof module !== 'undefined' && module.exports) {
// The envrionment is Node.js // The environment is Node.js
var cv = require('./opencv.js'); // eslint-disable-line no-var var cv = require('./opencv.js'); // eslint-disable-line no-var
} }
@ -92,7 +92,7 @@ QUnit.test('test_imgProc', function(assert) {
binView[0] = 10; binView[0] = 10;
cv.calcHist(source, channels, mask, hist, histSize, ranges, false); cv.calcHist(source, channels, mask, hist, histSize, ranges, false);
// hist should contains a N X 1 arrary. // hist should contains a N X 1 array.
let size = hist.size(); let size = hist.size();
assert.equal(size.height, 256); assert.equal(size.height, 256);
assert.equal(size.width, 1); assert.equal(size.width, 1);

View File

@ -69,7 +69,7 @@
// //
if (typeof module !== 'undefined' && module.exports) { if (typeof module !== 'undefined' && module.exports) {
// The envrionment is Node.js // The environment is Node.js
var cv = require('./opencv.js'); // eslint-disable-line no-var var cv = require('./opencv.js'); // eslint-disable-line no-var
} }

View File

@ -69,7 +69,7 @@
// //
if (typeof module !== 'undefined' && module.exports) { if (typeof module !== 'undefined' && module.exports) {
// The envrionment is Node.js // The environment is Node.js
var cv = require('./opencv.js'); // eslint-disable-line no-var var cv = require('./opencv.js'); // eslint-disable-line no-var
cv.FS_createLazyFile('/', 'haarcascade_frontalface_default.xml', // eslint-disable-line new-cap cv.FS_createLazyFile('/', 'haarcascade_frontalface_default.xml', // eslint-disable-line new-cap
'haarcascade_frontalface_default.xml', true, false); 'haarcascade_frontalface_default.xml', true, false);

View File

@ -68,7 +68,7 @@
// //
if (typeof module !== 'undefined' && module.exports) { if (typeof module !== 'undefined' && module.exports) {
// The envrionment is Node.js // The environment is Node.js
var cv = require('./opencv.js'); // eslint-disable-line no-var var cv = require('./opencv.js'); // eslint-disable-line no-var
} }
QUnit.module('Utils', {}); QUnit.module('Utils', {});

View File

@ -68,7 +68,7 @@
// //
if (typeof module !== 'undefined' && module.exports) { if (typeof module !== 'undefined' && module.exports) {
// The envrionment is Node.js // The environment is Node.js
var cv = require('./opencv.js'); // eslint-disable-line no-var var cv = require('./opencv.js'); // eslint-disable-line no-var
} }

View File

@ -433,7 +433,7 @@ Logistic Regression {#ml_intro_lr}
ML implements logistic regression, which is a probabilistic classification technique. Logistic ML implements logistic regression, which is a probabilistic classification technique. Logistic
Regression is a binary classification algorithm which is closely related to Support Vector Machines Regression is a binary classification algorithm which is closely related to Support Vector Machines
(SVM). Like SVM, Logistic Regression can be extended to work on multi-class classification problems (SVM). Like SVM, Logistic Regression can be extended to work on multi-class classification problems
like digit recognition (i.e. recognizing digitis like 0,1 2, 3,... from the given images). This like digit recognition (i.e. recognizing digits like 0,1 2, 3,... from the given images). This
version of Logistic Regression supports both binary and multi-class classifications (for multi-class version of Logistic Regression supports both binary and multi-class classifications (for multi-class
it creates a multiple 2-class classifiers). In order to train the logistic regression classifier, it creates a multiple 2-class classifiers). In order to train the logistic regression classifier,
Batch Gradient Descent and Mini-Batch Gradient Descent algorithms are used (see Batch Gradient Descent and Mini-Batch Gradient Descent algorithms are used (see

View File

@ -1760,7 +1760,7 @@ Note that the parameters margin regularization, initial step size, and step decr
To use SVMSGD algorithm do as follows: To use SVMSGD algorithm do as follows:
- first, create the SVMSGD object. The algoorithm will set optimal parameters by default, but you can set your own parameters via functions setSvmsgdType(), - first, create the SVMSGD object. The algorithm will set optimal parameters by default, but you can set your own parameters via functions setSvmsgdType(),
setMarginType(), setMarginRegularization(), setInitialStepSize(), and setStepDecreasingPower(). setMarginType(), setMarginRegularization(), setInitialStepSize(), and setStepDecreasingPower().
- then the SVM model can be trained using the train features and the correspondent labels by the method train(). - then the SVM model can be trained using the train features and the correspondent labels by the method train().

View File

@ -614,7 +614,7 @@ protected:
if( data.empty() ) if( data.empty() )
{ {
ts->printf(cvtest::TS::LOG, "File with spambase dataset cann't be read.\n"); ts->printf(cvtest::TS::LOG, "File with spambase dataset can't be read.\n");
ts->set_failed_test_info(cvtest::TS::FAIL_INVALID_TEST_DATA); ts->set_failed_test_info(cvtest::TS::FAIL_INVALID_TEST_DATA);
return; return;
} }

View File

@ -721,7 +721,7 @@ class FuncInfo(object):
aname, argno = v.py_outlist[0] aname, argno = v.py_outlist[0]
code_ret = "return pyopencv_from(%s)" % (aname,) code_ret = "return pyopencv_from(%s)" % (aname,)
else: else:
# ther is more than 1 return parameter; form the tuple out of them # there is more than 1 return parameter; form the tuple out of them
fmtspec = "N"*len(v.py_outlist) fmtspec = "N"*len(v.py_outlist)
backcvt_arg_list = [] backcvt_arg_list = []
for aname, argno in v.py_outlist: for aname, argno in v.py_outlist:

View File

@ -585,7 +585,7 @@ $(function(){
$(tbl_row).remove() $(tbl_row).remove()
}) })
if($("tbody tr", tbl).length == 0) { if($("tbody tr", tbl).length == 0) {
$("<tr><td colspan='"+$("thead tr:first th", tbl).length+"'>No results mathing your search criteria</td></tr>") $("<tr><td colspan='"+$("thead tr:first th", tbl).length+"'>No results matching your search criteria</td></tr>")
.appendTo($("tbody", tbl)) .appendTo($("tbody", tbl))
} }
} }

View File

@ -90,7 +90,7 @@ static void image_jacobian_homo_ECC(const Mat& src1, const Mat& src2,
//instead of dividing each block with den, //instead of dividing each block with den,
//just pre-devide the block of gradients (it's more efficient) //just pre-divide the block of gradients (it's more efficient)
Mat src1Divided_; Mat src1Divided_;
Mat src2Divided_; Mat src2Divided_;

View File

@ -48,7 +48,7 @@
#define GRIDSIZE 3 #define GRIDSIZE 3
#define LSx 8 #define LSx 8
#define LSy 8 #define LSy 8
// defeine local memory sizes // define local memory sizes
#define LM_W (LSx*GRIDSIZE+2) #define LM_W (LSx*GRIDSIZE+2)
#define LM_H (LSy*GRIDSIZE+2) #define LM_H (LSy*GRIDSIZE+2)
#define BUFFER (LSx*LSy) #define BUFFER (LSx*LSy)

View File

@ -58,7 +58,7 @@ RIFF ('AVI '
{xxdb|xxdc|xxpc|xxwb} {xxdb|xxdc|xxpc|xxwb}
xx - stream number: 00, 01, 02, ... xx - stream number: 00, 01, 02, ...
db - uncompressed video frame db - uncompressed video frame
dc - commpressed video frame dc - compressed video frame
pc - palette change pc - palette change
wb - audio frame wb - audio frame
@ -139,7 +139,7 @@ class BitStream;
// {xxdb|xxdc|xxpc|xxwb} // {xxdb|xxdc|xxpc|xxwb}
// xx - stream number: 00, 01, 02, ... // xx - stream number: 00, 01, 02, ...
// db - uncompressed video frame // db - uncompressed video frame
// dc - commpressed video frame // dc - compressed video frame
// pc - palette change // pc - palette change
// wb - audio frame // wb - audio frame

View File

@ -299,10 +299,10 @@ bool CvCaptureCAM_Aravis::grabFrame()
size_t buffer_size; size_t buffer_size;
framebuffer = (void*)arv_buffer_get_data (arv_buffer, &buffer_size); framebuffer = (void*)arv_buffer_get_data (arv_buffer, &buffer_size);
// retieve image size properites // retrieve image size properites
arv_buffer_get_image_region (arv_buffer, &xoffset, &yoffset, &width, &height); arv_buffer_get_image_region (arv_buffer, &xoffset, &yoffset, &width, &height);
// retieve image ID set by camera // retrieve image ID set by camera
frameID = arv_buffer_get_frame_id(arv_buffer); frameID = arv_buffer_get_frame_id(arv_buffer);
arv_stream_push_buffer(stream, arv_buffer); arv_stream_push_buffer(stream, arv_buffer);

View File

@ -1191,7 +1191,7 @@ CvVideoWriter_AVFoundation::CvVideoWriter_AVFoundation(const char* filename, int
NSError *error = nil; NSError *error = nil;
// Make sure the file does not already exist. Necessary to overwirte?? // Make sure the file does not already exist. Necessary to overwrite??
/* /*
NSFileManager *fileManager = [NSFileManager defaultManager]; NSFileManager *fileManager = [NSFileManager defaultManager];
if ([fileManager fileExistsAtPath:path]){ if ([fileManager fileExistsAtPath:path]){
@ -1233,7 +1233,7 @@ CvVideoWriter_AVFoundation::CvVideoWriter_AVFoundation(const char* filename, int
if(mMovieWriter.status == AVAssetWriterStatusFailed){ if(mMovieWriter.status == AVAssetWriterStatusFailed){
NSLog(@"%@", [mMovieWriter.error localizedDescription]); NSLog(@"%@", [mMovieWriter.error localizedDescription]);
// TODO: error handling, cleanup. Throw execption? // TODO: error handling, cleanup. Throw exception?
// return; // return;
} }

View File

@ -1184,7 +1184,7 @@ CvVideoWriter_AVFoundation::CvVideoWriter_AVFoundation(const std::string &filena
NSError *error = nil; NSError *error = nil;
// Make sure the file does not already exist. Necessary to overwirte?? // Make sure the file does not already exist. Necessary to overwrite??
/* /*
NSFileManager *fileManager = [NSFileManager defaultManager]; NSFileManager *fileManager = [NSFileManager defaultManager];
if ([fileManager fileExistsAtPath:path]){ if ([fileManager fileExistsAtPath:path]){

View File

@ -480,7 +480,7 @@ class videoInput{
bool setupDeviceFourcc(int deviceID, int w, int h,int fourcc); bool setupDeviceFourcc(int deviceID, int w, int h,int fourcc);
//These two are only for capture cards //These two are only for capture cards
//USB and Firewire cameras souldn't specify connection //USB and Firewire cameras shouldn't specify connection
bool setupDevice(int deviceID, int connection); bool setupDevice(int deviceID, int connection);
bool setupDevice(int deviceID, int w, int h, int connection); bool setupDevice(int deviceID, int w, int h, int connection);

View File

@ -1193,7 +1193,7 @@ bool CvCapture_MSMF::grabFrame()
{ {
if (streamIndex != dwStreamIndex) if (streamIndex != dwStreamIndex)
{ {
CV_LOG_DEBUG(NULL, "videoio(MSMF): Wrong stream readed. Abort capturing"); CV_LOG_DEBUG(NULL, "videoio(MSMF): Wrong stream read. Abort capturing");
close(); close();
} }
else if (flags & MF_SOURCE_READERF_ERROR) else if (flags & MF_SOURCE_READERF_ERROR)

View File

@ -668,7 +668,7 @@ void BitStream::writeBlock()
} }
size_t BitStream::getPos() const { size_t BitStream::getPos() const {
return safe_int_cast<size_t>(m_current - m_start, "Failed to determine AVI bufer position: value is out of range") + m_pos; return safe_int_cast<size_t>(m_current - m_start, "Failed to determine AVI buffer position: value is out of range") + m_pos;
} }
void BitStream::putByte(int val) void BitStream::putByte(int val)

View File

@ -49,8 +49,8 @@ private:
unsigned char __k; unsigned char __k;
}; };
static_assert(sizeof(Guid) == sizeof(::_GUID), "Incorect size for Guid"); static_assert(sizeof(Guid) == sizeof(::_GUID), "Incorrect size for Guid");
static_assert(sizeof(__rcGUID_t) == sizeof(::_GUID), "Incorect size for __rcGUID_t"); static_assert(sizeof(__rcGUID_t) == sizeof(::_GUID), "Incorrect size for __rcGUID_t");
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
inline Guid::Guid() : __a(0), __b(0), __c(0), __d(0), __e(0), __f(0), __g(0), __h(0), __i(0), __j(0), __k(0) inline Guid::Guid() : __a(0), __b(0), __c(0), __d(0), __e(0), __f(0), __g(0), __h(0), __i(0), __j(0), __k(0)

View File

@ -1,7 +1,7 @@
package org.opencv.engine; package org.opencv.engine;
/** /**
* Class provides Java interface to OpenCV Engine Service. Is synchronious with native OpenCVEngine class. * Class provides Java interface to OpenCV Engine Service. Is synchronous with native OpenCVEngine class.
*/ */
interface OpenCVEngineInterface interface OpenCVEngineInterface
{ {

View File

@ -31,7 +31,7 @@ from __future__ import print_function
import glob, re, os, os.path, shutil, string, sys, argparse, traceback, multiprocessing import glob, re, os, os.path, shutil, string, sys, argparse, traceback, multiprocessing
from subprocess import check_call, check_output, CalledProcessError from subprocess import check_call, check_output, CalledProcessError
IPHONEOS_DEPLOYMENT_TARGET='8.0' # default, can be changed via command line options or environemnt variable IPHONEOS_DEPLOYMENT_TARGET='8.0' # default, can be changed via command line options or environment variable
def execute(cmd, cwd = None): def execute(cmd, cwd = None):
print("Executing: %s in %s" % (cmd, cwd), file=sys.stderr) print("Executing: %s in %s" % (cmd, cwd), file=sys.stderr)