Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts: modules/contrib/src/basicretinafilter.hpp modules/contrib/src/magnoretinafilter.hpp modules/contrib/src/parvoretinafilter.hpp modules/contrib/src/retinacolor.hpp modules/gpu/include/opencv2/gpu/gpu.hpp modules/highgui/src/cap_tyzx.cpp modules/ocl/perf/perf_filters.cpp modules/ocl/src/haar.cpp modules/ocl/src/opencl/haarobjectdetect.cl modules/ocl/test/test_filters.cpp modules/ocl/test/test_objdetect.cpp
This commit is contained in:
commit
db85c35e69
2
.tgitconfig
Normal file
2
.tgitconfig
Normal file
@ -0,0 +1,2 @@
|
||||
[tgit]
|
||||
icon = doc/opencv.ico
|
@ -492,7 +492,7 @@ class=Typewch><span lang=EN-US>- weighttrimming <weight_trimming></span></
|
||||
<p class=MsoNormal style='margin-left:17.1pt;text-indent:-17.1pt'><span
|
||||
class=Typewch><span lang=EN-US> </span></span><span class=Typewch><span
|
||||
lang=EN-US style='font-family:"Times New Roman";font-weight:normal'>Specifies
|
||||
wheter and how much weight trimming should be used. A decent choice is 0.90.</span></span></p>
|
||||
whether and how much weight trimming should be used. A decent choice is 0.90.</span></span></p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:17.1pt;text-indent:-17.1pt'><span
|
||||
class=Typewch><span lang=EN-US>- eqw</span></span></p>
|
||||
|
@ -81,7 +81,7 @@ Building the OpenCV library from scratch requires a couple of tools installed be
|
||||
|
||||
+ An IDE of choice (preferably), or just a C\C++ compiler that will actually make the binary files. Here we will use the `Microsoft Visual Studio <https://www.microsoft.com/visualstudio/en-us>`_. However, you can use any other IDE that has a valid C\C++ compiler.
|
||||
|
||||
+ |CMake|_, which is a neat tool to make the project files (for your choosen IDE) from the OpenCV source files. It will also allow an easy configuration of the OpenCV build files, in order to make binary files that fits exactly to your needs.
|
||||
+ |CMake|_, which is a neat tool to make the project files (for your chosen IDE) from the OpenCV source files. It will also allow an easy configuration of the OpenCV build files, in order to make binary files that fits exactly to your needs.
|
||||
|
||||
+ Git to acquire the OpenCV source files. A good tool for this is |TortoiseGit|_. Alternatively, you can just download an archived version of the source files from our `page on Sourceforge <http://sourceforge.net/projects/opencvlibrary/files/opencv-win/>`_
|
||||
|
||||
|
@ -480,7 +480,7 @@ void CV_CameraCalibrationTest::run( int start_from )
|
||||
values_read = fscanf(file,"%lf",goodDistortion+2); CV_Assert(values_read == 1);
|
||||
values_read = fscanf(file,"%lf",goodDistortion+3); CV_Assert(values_read == 1);
|
||||
|
||||
/* Read good Rot matrixes */
|
||||
/* Read good Rot matrices */
|
||||
for( currImage = 0; currImage < numImages; currImage++ )
|
||||
{
|
||||
for( i = 0; i < 3; i++ )
|
||||
|
@ -1355,7 +1355,7 @@ int Core_SetTest::test_set_ops( int iters )
|
||||
(cvset->total == 0 || cvset->total >= prev_total),
|
||||
"The total number of cvset elements is not correct" );
|
||||
|
||||
// CvSet and simple set do not neccessary have the same "total" (active & free) number,
|
||||
// CvSet and simple set do not necessary have the same "total" (active & free) number,
|
||||
// so pass "set->total" to skip that check
|
||||
test_seq_block_consistence( struct_idx, (CvSeq*)cvset, cvset->total );
|
||||
update_progressbar();
|
||||
@ -1777,7 +1777,7 @@ int Core_GraphTest::test_graph_ops( int iters )
|
||||
(graph->edges->total == 0 || graph->edges->total >= prev_edge_total),
|
||||
"The total number of graph vertices is not correct" );
|
||||
|
||||
// CvGraph and simple graph do not neccessary have the same "total" (active & free) number,
|
||||
// CvGraph and simple graph do not necessary have the same "total" (active & free) number,
|
||||
// so pass "graph->total" (or "graph->edges->total") to skip that check
|
||||
test_seq_block_consistence( struct_idx, (CvSeq*)graph, graph->total );
|
||||
test_seq_block_consistence( struct_idx, (CvSeq*)graph->edges, graph->edges->total );
|
||||
|
@ -338,11 +338,11 @@ CV_EXPORTS void gemm(InputArray src1, InputArray src2, double alpha,
|
||||
InputArray src3, double beta, OutputArray dst, int flags = 0, Stream& stream = Stream::Null());
|
||||
|
||||
//! performs per-element multiplication of two full (not packed) Fourier spectrums
|
||||
//! supports 32FC2 matrixes only (interleaved format)
|
||||
//! supports 32FC2 matrices only (interleaved format)
|
||||
CV_EXPORTS void mulSpectrums(InputArray src1, InputArray src2, OutputArray dst, int flags, bool conjB=false, Stream& stream = Stream::Null());
|
||||
|
||||
//! performs per-element multiplication of two full (not packed) Fourier spectrums
|
||||
//! supports 32FC2 matrixes only (interleaved format)
|
||||
//! supports 32FC2 matrices only (interleaved format)
|
||||
CV_EXPORTS void mulAndScaleSpectrums(InputArray src1, InputArray src2, OutputArray dst, int flags, float scale, bool conjB=false, Stream& stream = Stream::Null());
|
||||
|
||||
//! Performs a forward or inverse discrete Fourier transform (1D or 2D) of floating point matrix.
|
||||
|
@ -396,7 +396,13 @@ TEST(Highgui_Jpeg, encode_empty)
|
||||
#define int64 int64_hack_
|
||||
#include "tiff.h"
|
||||
|
||||
#ifdef ANDROID
|
||||
// Test disabled as it uses a lot of memory.
|
||||
// It is killed with SIGKILL by out of memory killer.
|
||||
TEST(Highgui_Tiff, DISABLED_decode_tile16384x16384)
|
||||
#else
|
||||
TEST(Highgui_Tiff, decode_tile16384x16384)
|
||||
#endif
|
||||
{
|
||||
// see issue #2161
|
||||
cv::Mat big(16384, 16384, CV_8UC1, cv::Scalar::all(0));
|
||||
|
@ -636,7 +636,7 @@ The functions calculate one or more integral images for the source image as foll
|
||||
|
||||
\texttt{tilted} (X,Y) = \sum _{y<Y,abs(x-X+1) \leq Y-y-1} \texttt{image} (x,y)
|
||||
|
||||
Using these integral images, you can calculate sa um, mean, and standard deviation over a specific up-right or rotated rectangular region of the image in a constant time, for example:
|
||||
Using these integral images, you can calculate sum, mean, and standard deviation over a specific up-right or rotated rectangular region of the image in a constant time, for example:
|
||||
|
||||
.. math::
|
||||
|
||||
|
@ -22,6 +22,7 @@ public class NativeCameraView extends CameraBridgeViewBase {
|
||||
private Thread mThread;
|
||||
|
||||
protected VideoCapture mCamera;
|
||||
protected NativeCameraFrame mFrame;
|
||||
|
||||
public NativeCameraView(Context context, int cameraId) {
|
||||
super(context, cameraId);
|
||||
@ -97,6 +98,8 @@ public class NativeCameraView extends CameraBridgeViewBase {
|
||||
if (mCamera.isOpened() == false)
|
||||
return false;
|
||||
|
||||
mFrame = new NativeCameraFrame(mCamera);
|
||||
|
||||
java.util.List<Size> sizes = mCamera.getSupportedPreviewSizes();
|
||||
|
||||
/* Select the size that fits surface considering maximum size allowed */
|
||||
@ -127,9 +130,8 @@ public class NativeCameraView extends CameraBridgeViewBase {
|
||||
|
||||
private void releaseCamera() {
|
||||
synchronized (this) {
|
||||
if (mCamera != null) {
|
||||
mCamera.release();
|
||||
}
|
||||
if (mFrame != null) mFrame.release();
|
||||
if (mCamera != null) mCamera.release();
|
||||
}
|
||||
}
|
||||
|
||||
@ -153,6 +155,11 @@ public class NativeCameraView extends CameraBridgeViewBase {
|
||||
mRgba = new Mat();
|
||||
}
|
||||
|
||||
public void release() {
|
||||
if (mGray != null) mGray.release();
|
||||
if (mRgba != null) mRgba.release();
|
||||
}
|
||||
|
||||
private VideoCapture mCapture;
|
||||
private Mat mRgba;
|
||||
private Mat mGray;
|
||||
@ -167,7 +174,7 @@ public class NativeCameraView extends CameraBridgeViewBase {
|
||||
break;
|
||||
}
|
||||
|
||||
deliverAndDrawFrame(new NativeCameraFrame(mCamera));
|
||||
deliverAndDrawFrame(mFrame);
|
||||
|
||||
} while (!mStopThread);
|
||||
}
|
||||
|
@ -343,7 +343,7 @@ int cvFindNextMaximalClique( CvCliqueFinder* finder )
|
||||
break;
|
||||
case NEXT:
|
||||
//here we will look for candidate to translate into not
|
||||
//s[k] now contains index of choosen candidate
|
||||
//s[k] now contains index of chosen candidate
|
||||
{
|
||||
int* new_ = All[k+1];
|
||||
if( nod[k] != 0 )
|
||||
@ -590,7 +590,7 @@ void cvBronKerbosch( CvGraph* graph )
|
||||
break;
|
||||
case NEXT:
|
||||
//here we will look for candidate to translate into not
|
||||
//s[k] now contains index of choosen candidate
|
||||
//s[k] now contains index of chosen candidate
|
||||
{
|
||||
int* new_ = All[k+1];
|
||||
if( nod[k] != 0 )
|
||||
|
@ -3621,7 +3621,7 @@ int cvComputeEpipolesFromFundMatrix(CvMatr32f fundMatr,
|
||||
CvMat* matrV = cvCreateMat(3,3,CV_MAT32F);
|
||||
|
||||
/* From svd we need just last vector of U and V or last row from U' and V' */
|
||||
/* We get transposed matrixes U and V */
|
||||
/* We get transposed matrices U and V */
|
||||
cvSVD(&fundMatrC,matrW,matrU,matrV,CV_SVD_V_T|CV_SVD_U_T);
|
||||
|
||||
/* Get last row from U' and compute epipole1 */
|
||||
|
@ -1180,7 +1180,7 @@ icvSingularValueDecomposition( int M,
|
||||
} /* for */
|
||||
} /* if */
|
||||
|
||||
/* Iterations QR-algorithm for bidiagonal matrixes
|
||||
/* Iterations QR-algorithm for bidiagonal matrices
|
||||
W[i] - is the main diagonal
|
||||
rv1[i] - is the top diagonal, rv1[0]=0.
|
||||
*/
|
||||
|
@ -902,7 +902,7 @@ int icvComputeProjectMatricesNPoints( CvMat* points1,CvMat* points2,CvMat* poin
|
||||
tmpProjMatr[1] = cvMat(9,4,CV_64F,tmpProjMatr_dat+36);
|
||||
tmpProjMatr[2] = cvMat(9,4,CV_64F,tmpProjMatr_dat+72);
|
||||
|
||||
/* choosen points */
|
||||
/* chosen points */
|
||||
|
||||
while( wasCount < NumSamples )
|
||||
{
|
||||
@ -1494,7 +1494,7 @@ void GetGeneratorReduceFundSolution(CvMat* points1,CvMat* points2,CvMat* fundRed
|
||||
matrV = cvMat(5,5,CV_64F,matrV_dat);
|
||||
|
||||
/* From svd we need just two last vectors of V or two last row V' */
|
||||
/* We get transposed matrixes U and V */
|
||||
/* We get transposed matrices U and V */
|
||||
|
||||
cvSVD(&matrA,&matrW,0,&matrV,CV_SVD_V_T);
|
||||
|
||||
@ -1529,7 +1529,7 @@ int GetGoodReduceFundamMatrFromTwo(CvMat* fundReduceCoef1,CvMat* fundReduceCoef2
|
||||
CV_ERROR( CV_StsUnsupportedFormat, "Input parameters must be a matrices" );
|
||||
}
|
||||
|
||||
/* using two fundamental matrix comute matrixes for det(F)=0 */
|
||||
/* using two fundamental matrix comute matrices for det(F)=0 */
|
||||
/* May compute 1 or 3 matrices. Returns number of solutions */
|
||||
/* Here we will use case F=a*F1+(1-a)*F2 instead of F=m*F1+l*F2 */
|
||||
|
||||
@ -1667,7 +1667,7 @@ void GetProjMatrFromReducedFundamental(CvMat* fundReduceCoefs,CvMat* projMatrCoe
|
||||
matrV = cvMat(3,3,CV_64F,matrV_dat);
|
||||
|
||||
/* From svd we need just last vector of V or last row V' */
|
||||
/* We get transposed matrixes U and V */
|
||||
/* We get transposed matrices U and V */
|
||||
|
||||
cvSVD(&matrA,&matrW,0,&matrV,CV_SVD_V_T);
|
||||
|
||||
@ -1733,7 +1733,7 @@ void GetProjMatrFromReducedFundamental(CvMat* fundReduceCoefs,CvMat* projMatrCoe
|
||||
matrV1 = cvMat(6,6,CV_64F,matrV_dat1);
|
||||
|
||||
/* From svd we need just last vector of V or last row V' */
|
||||
/* We get transposed matrixes U and V */
|
||||
/* We get transposed matrices U and V */
|
||||
|
||||
cvSVD(&matrK,&matrW1,0,&matrV1,CV_SVD_V_T);
|
||||
|
||||
@ -2034,7 +2034,7 @@ void icvComputeTransform4D(CvMat* points1,CvMat* points2,CvMat* transMatr)
|
||||
}
|
||||
|
||||
/* From svd we need just two last vectors of V or two last row V' */
|
||||
/* We get transposed matrixes U and V */
|
||||
/* We get transposed matrices U and V */
|
||||
|
||||
cvSVD(matrA,matrW,0,&matrV,CV_SVD_V_T);
|
||||
|
||||
|
@ -778,7 +778,7 @@ void SURF_calcOrientation(
|
||||
// This reduction searches for the longest wavelet response vector. The first
|
||||
// step uses all of the work items in the workgroup to narrow the search
|
||||
// down to the three candidates. It requires s_mod to have a few more
|
||||
// elements alocated past the work-group size, which are pre-initialized to
|
||||
// elements allocated past the work-group size, which are pre-initialized to
|
||||
// 0.0f above.
|
||||
for(int t = ORI_RESPONSE_REDUCTION_WIDTH; t >= 3; t /= 2) {
|
||||
if (tid < t) {
|
||||
|
@ -133,7 +133,7 @@ static void fastNlMeansDenoisingMultiCheckPreconditions(
|
||||
{
|
||||
CV_Error(Error::StsBadArg,
|
||||
"imgToDenoiseIndex and temporalWindowSize "
|
||||
"should be choosen corresponding srcImgs size!");
|
||||
"should be chosen corresponding srcImgs size!");
|
||||
}
|
||||
|
||||
for (int i = 1; i < src_imgs_size; i++) {
|
||||
|
@ -168,7 +168,7 @@ if __name__ == "__main__":
|
||||
print >> sys.stderr, "%4s: %s" % (i, name)
|
||||
i += 1
|
||||
if names1:
|
||||
print >> sys.stderr, "Other suits in this log (can not be choosen):"
|
||||
print >> sys.stderr, "Other suits in this log (can not be chosen):"
|
||||
for name in sorted(names1):
|
||||
print >> sys.stderr, "%4s: %s" % (i, name)
|
||||
i += 1
|
||||
|
@ -235,7 +235,7 @@ void LayoutAwarePage::CoreWindow_PointerPressed(CoreWindow^ sender, PointerEvent
|
||||
if (properties->IsLeftButtonPressed || properties->IsRightButtonPressed ||
|
||||
properties->IsMiddleButtonPressed) return;
|
||||
|
||||
// If back or foward are pressed (but not both) navigate appropriately
|
||||
// If back or forward are pressed (but not both) navigate appropriately
|
||||
bool backPressed = properties->IsXButton1Pressed;
|
||||
bool forwardPressed = properties->IsXButton2Pressed;
|
||||
if (backPressed ^ forwardPressed)
|
||||
|
Loading…
x
Reference in New Issue
Block a user