Commit 33f18dd6 authored by Alexander Alekhin's avatar Alexander Alekhin

Merge remote-tracking branch 'upstream/3.4' into merge-3.4

parents f65010ea b6767ccc
......@@ -328,7 +328,8 @@ void OpticalFlowPCAFlow::getSystem( OutputArray AOut, OutputArray b1Out, OutputA
Mat b2 = b2Out.getMat();
ocl::Kernel kernel( "fillDCTSampledPoints", _ocl_fillDCTSampledPointsSource );
size_t globSize[] = {features.size(), basisSize.width, basisSize.height};
CV_Assert(basisSize.width > 0 && basisSize.height > 0);
size_t globSize[] = {features.size(), (size_t)basisSize.width, (size_t)basisSize.height};
kernel
.args( cv::ocl::KernelArg::ReadOnlyNoSize( Mat( features ).getUMat( ACCESS_READ ) ),
cv::ocl::KernelArg::WriteOnlyNoSize( A ), (int)features.size(), (int)basisSize.width,
......@@ -376,7 +377,8 @@ void OpticalFlowPCAFlow::getSystem( OutputArray A1Out, OutputArray A2Out, Output
Mat b2 = b2Out.getMat();
ocl::Kernel kernel( "fillDCTSampledPoints", _ocl_fillDCTSampledPointsSource );
size_t globSize[] = {features.size(), basisSize.width, basisSize.height};
CV_Assert(basisSize.width > 0 && basisSize.height > 0);
size_t globSize[] = {features.size(), (size_t)basisSize.width, (size_t)basisSize.height};
kernel
.args( cv::ocl::KernelArg::ReadOnlyNoSize( Mat( features ).getUMat( ACCESS_READ ) ),
cv::ocl::KernelArg::WriteOnlyNoSize( A ), (int)features.size(), (int)basisSize.width,
......
......@@ -1941,11 +1941,12 @@ public:
{
if( dIptr[0] == 0 && dIptr[1] == 0)
continue;
short It[4] = {(Jptr[x] << 5) - Iptr[x],
(Jptr[x+cn]<< 5) - Iptr[x],
(Jptr1[x]<< 5) - Iptr[x],
(Jptr1[x+cn]<< 5) - Iptr[x]};
short It[4] = {
(short)((Jptr [x] << 5) - Iptr[x]),
(short)((Jptr [x+cn] << 5) - Iptr[x]),
(short)((Jptr1[x] << 5) - Iptr[x]),
(short)((Jptr1[x+cn] << 5) - Iptr[x])
};
_b1[0] += (float)(It[0]*dIptr[0]);
_b1[1] += (float)(It[1]*dIptr[0]);
_b1[2] += (float)(It[2]*dIptr[0]);
......
......@@ -267,7 +267,9 @@ bool ocl_getAllDCTDescriptorsForImage( const Mat *imgCh, std::vector< GPCPatchDe
const Size sz = imgCh[0].size();
ocl::Kernel kernel( "getPatchDescriptor", ocl::optflow::sparse_matching_gpc_oclsrc,
format( "-DPATCH_RADIUS_DOUBLED=%d -DCV_PI=%f -DSQRT2_INV=%f", PATCH_RADIUS_DOUBLED, CV_PI, SQRT2_INV ) );
size_t globSize[] = {sz.height - 2 * patchRadius, sz.width - 2 * patchRadius};
CV_Assert(sz.height - 2 * patchRadius > 0);
CV_Assert(sz.width - 2 * patchRadius > 0);
size_t globSize[] = {(size_t)(sz.height - 2 * patchRadius), (size_t)(sz.width - 2 * patchRadius)};
UMat out( globSize[0] * globSize[1], GPCPatchDescriptor::nFeatures, CV_64F );
if (
kernel
......
......@@ -81,6 +81,7 @@ ocv_add_module(sfm
opencv_calib3d
opencv_features2d
opencv_xfeatures2d
opencv_imgcodecs
WRAP python
)
......
......@@ -18,7 +18,7 @@
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
// IN THE SOFTWARE.
#include <opencv2/highgui.hpp>
#include <opencv2/imgcodecs.hpp>
#include "libmv/base/vector_utils.h"
#include "libmv/correspondence/feature.h"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment