@@ -121,6 +121,22 @@ __host__ void gridTransformBinary_(const SrcPtr1& src1, const SrcPtr2& src2, Gpu
121
121
grid_transform_detail::transform_binary<Policy>(shrinkPtr (src1), shrinkPtr (src2), shrinkPtr (dst), op, shrinkPtr (mask), rows, cols, StreamAccessor::getStream (stream));
122
122
}
123
123
124
+ template <class Policy , class SrcPtr1 , class SrcPtr2 , typename DstType1, typename DstType2, class BinOp1 , class BinOp2 , class MaskPtr >
125
+ __host__ void gridTransformBinary_ (const SrcPtr1& src1, const SrcPtr2& src2, GpuMat_<DstType1>& dst1, GpuMat_<DstType2>& dst2,
126
+ const BinOp1& op1, const BinOp2& op2, const MaskPtr& mask, Stream& stream = Stream::Null())
127
+ {
128
+ const int rows = getRows (src1);
129
+ const int cols = getCols (src1);
130
+
131
+ CV_Assert ( getRows (src2) == rows && getCols (src2) == cols );
132
+ CV_Assert ( getRows (mask) == rows && getCols (mask) == cols );
133
+
134
+ dst1.create (rows, cols);
135
+ dst2.create (rows, cols);
136
+
137
+ grid_transform_detail::transform_binary<Policy>(shrinkPtr (src1), shrinkPtr (src2), shrinkPtr (dst1), shrinkPtr (dst2), op1, op2, shrinkPtr (mask), rows, cols, StreamAccessor::getStream (stream));
138
+ }
139
+
124
140
template <class Policy , class SrcPtr1 , class SrcPtr2 , typename DstType, class BinOp , class MaskPtr >
125
141
__host__ void gridTransformBinary_ (const SrcPtr1& src1, const SrcPtr2& src2, const GlobPtrSz<DstType>& dst, const BinOp& op, const MaskPtr& mask, Stream& stream = Stream::Null())
126
142
{
@@ -134,6 +150,22 @@ __host__ void gridTransformBinary_(const SrcPtr1& src1, const SrcPtr2& src2, con
134
150
grid_transform_detail::transform_binary<Policy>(shrinkPtr (src1), shrinkPtr (src2), shrinkPtr (dst), op, shrinkPtr (mask), rows, cols, StreamAccessor::getStream (stream));
135
151
}
136
152
153
+ template <class Policy , class SrcPtr1 , class SrcPtr2 , typename DstType1, typename DstType2, class BinOp1 , class BinOp2 , class MaskPtr >
154
+ __host__ void gridTransformBinary_ (const SrcPtr1& src1, const SrcPtr2& src2, const GlobPtrSz<DstType1>& dst1, const GlobPtrSz<DstType2>& dst2,
155
+ const BinOp1& op1, const BinOp2& op2, const MaskPtr& mask, Stream& stream = Stream::Null())
156
+ {
157
+ const int rows = getRows (src1);
158
+ const int cols = getCols (src1);
159
+
160
+ CV_Assert ( getRows (dst1) == rows && getCols (dst1) == cols );
161
+ CV_Assert ( getRows (dst2) == rows && getCols (dst2) == cols );
162
+ CV_Assert ( getRows (src2) == rows && getCols (src2) == cols );
163
+ CV_Assert ( getRows (mask) == rows && getCols (mask) == cols );
164
+
165
+ grid_transform_detail::transform_binary<Policy>(shrinkPtr (src1), shrinkPtr (src2), shrinkPtr (dst1), shrinkPtr (dst2), op1, op2, shrinkPtr (mask), rows, cols, StreamAccessor::getStream (stream));
166
+ }
167
+
168
+
137
169
template <class Policy , class SrcPtr1 , class SrcPtr2 , typename DstType, class BinOp >
138
170
__host__ void gridTransformBinary_ (const SrcPtr1& src1, const SrcPtr2& src2, GpuMat_<DstType>& dst, const BinOp& op, Stream& stream = Stream::Null())
139
171
{
@@ -147,6 +179,21 @@ __host__ void gridTransformBinary_(const SrcPtr1& src1, const SrcPtr2& src2, Gpu
147
179
grid_transform_detail::transform_binary<Policy>(shrinkPtr (src1), shrinkPtr (src2), shrinkPtr (dst), op, WithOutMask (), rows, cols, StreamAccessor::getStream (stream));
148
180
}
149
181
182
+ template <class Policy , class SrcPtr1 , class SrcPtr2 , typename DstType1, typename DstType2, class BinOp1 , class BinOp2 >
183
+ __host__ void gridTransformBinary_ (const SrcPtr1& src1, const SrcPtr2& src2, GpuMat_<DstType1>& dst1, GpuMat_<DstType2>& dst2,
184
+ const BinOp1& op1, const BinOp2& op2, Stream& stream = Stream::Null())
185
+ {
186
+ const int rows = getRows (src1);
187
+ const int cols = getCols (src1);
188
+
189
+ CV_Assert ( getRows (src2) == rows && getCols (src2) == cols );
190
+
191
+ dst1.create (rows, cols);
192
+ dst2.create (rows, cols);
193
+
194
+ grid_transform_detail::transform_binary<Policy>(shrinkPtr (src1), shrinkPtr (src2), shrinkPtr (dst1), shrinkPtr (dst2), op1, op2, WithOutMask (), rows, cols, StreamAccessor::getStream (stream));
195
+ }
196
+
150
197
template <class Policy , class SrcPtr1 , class SrcPtr2 , typename DstType, class BinOp >
151
198
__host__ void gridTransformBinary_ (const SrcPtr1& src1, const SrcPtr2& src2, const GlobPtrSz<DstType>& dst, const BinOp& op, Stream& stream = Stream::Null())
152
199
{
@@ -159,6 +206,20 @@ __host__ void gridTransformBinary_(const SrcPtr1& src1, const SrcPtr2& src2, con
159
206
grid_transform_detail::transform_binary<Policy>(shrinkPtr (src1), shrinkPtr (src2), shrinkPtr (dst), op, WithOutMask (), rows, cols, StreamAccessor::getStream (stream));
160
207
}
161
208
209
+ template <class Policy , class SrcPtr1 , class SrcPtr2 , typename DstType1, typename DstType2, class BinOp1 , class BinOp2 >
210
+ __host__ void gridTransformBinary_ (const SrcPtr1& src1, const SrcPtr2& src2, const GlobPtrSz<DstType1>& dst1, const GlobPtrSz<DstType2>& dst2,
211
+ const BinOp1& op1, const BinOp2& op2, Stream& stream = Stream::Null())
212
+ {
213
+ const int rows = getRows (src1);
214
+ const int cols = getCols (src1);
215
+
216
+ CV_Assert ( getRows (dst1) == rows && getCols (dst1) == cols );
217
+ CV_Assert ( getRows (dst2) == rows && getCols (dst2) == cols );
218
+ CV_Assert ( getRows (src2) == rows && getCols (src2) == cols );
219
+
220
+ grid_transform_detail::transform_binary<Policy>(shrinkPtr (src1), shrinkPtr (src2), shrinkPtr (dst1), shrinkPtr (dst2), op1, op2, WithOutMask (), rows, cols, StreamAccessor::getStream (stream));
221
+ }
222
+
162
223
template <class Policy , class SrcPtr , typename D0, typename D1, class OpTuple , class MaskPtr >
163
224
__host__ void gridTransformTuple_ (const SrcPtr& src, const tuple< GpuMat_<D0>&, GpuMat_<D1>& >& dst, const OpTuple& op, const MaskPtr& mask, Stream& stream = Stream::Null())
164
225
{
@@ -449,24 +510,54 @@ __host__ void gridTransformBinary(const SrcPtr1& src1, const SrcPtr2& src2, GpuM
449
510
gridTransformBinary_<DefaultTransformPolicy>(src1, src2, dst, op, mask, stream);
450
511
}
451
512
513
+ template <class SrcPtr1 , class SrcPtr2 , typename DstType1, typename DstType2, class Op1 , class Op2 , class MaskPtr >
514
+ __host__ void gridTransformBinary (const SrcPtr1& src1, const SrcPtr2& src2, GpuMat_<DstType1>& dst1, GpuMat_<DstType2>& dst2,
515
+ const Op1& op1, const Op2& op2, const MaskPtr& mask, Stream& stream = Stream::Null())
516
+ {
517
+ gridTransformBinary_<DefaultTransformPolicy>(src1, src2, dst1, dst2, op1, op2, mask, stream);
518
+ }
519
+
452
520
template <class SrcPtr1 , class SrcPtr2 , typename DstType, class Op , class MaskPtr >
453
521
__host__ void gridTransformBinary (const SrcPtr1& src1, const SrcPtr2& src2, const GlobPtrSz<DstType>& dst, const Op& op, const MaskPtr& mask, Stream& stream = Stream::Null())
454
522
{
455
523
gridTransformBinary_<DefaultTransformPolicy>(src1, src2, dst, op, mask, stream);
456
524
}
457
525
526
+ template <class SrcPtr1 , class SrcPtr2 , typename DstType1, typename DstType2, class Op1 , class Op2 , class MaskPtr >
527
+ __host__ void gridTransformBinary (const SrcPtr1& src1, const SrcPtr2& src2, const GlobPtrSz<DstType2>& dst1, const GlobPtrSz<DstType2>& dst2,
528
+ const Op1& op1, const Op2& op2, const MaskPtr& mask, Stream& stream = Stream::Null())
529
+ {
530
+ gridTransformBinary_<DefaultTransformPolicy>(src1, src2, dst1, dst2, op1, op2, mask, stream);
531
+ }
532
+
458
533
template <class SrcPtr1 , class SrcPtr2 , typename DstType, class Op >
459
534
__host__ void gridTransformBinary (const SrcPtr1& src1, const SrcPtr2& src2, GpuMat_<DstType>& dst, const Op& op, Stream& stream = Stream::Null())
460
535
{
461
536
gridTransformBinary_<DefaultTransformPolicy>(src1, src2, dst, op, stream);
462
537
}
463
538
539
+ template <class SrcPtr1 , class SrcPtr2 , typename DstType1, typename DstType2, class Op1 , class Op2 >
540
+ __host__ void gridTransformBinary (const SrcPtr1& src1, const SrcPtr2& src2,
541
+ GpuMat_<DstType1>& dst1, GpuMat_<DstType2>& dst2,
542
+ const Op1& op1, const Op2& op2, Stream& stream = Stream::Null())
543
+ {
544
+ gridTransformBinary_<DefaultTransformPolicy>(src1, src2, dst1, dst2, op1, op2, stream);
545
+ }
546
+
464
547
template <class SrcPtr1 , class SrcPtr2 , typename DstType, class Op >
465
548
__host__ void gridTransformBinary (const SrcPtr1& src1, const SrcPtr2& src2, const GlobPtrSz<DstType>& dst, const Op& op, Stream& stream = Stream::Null())
466
549
{
467
550
gridTransformBinary_<DefaultTransformPolicy>(src1, src2, dst, op, stream);
468
551
}
469
552
553
+ template <class SrcPtr1 , class SrcPtr2 , typename DstType1, typename DstType2, class Op1 , class Op2 >
554
+ __host__ void gridTransformBinary (const SrcPtr1& src1, const SrcPtr2& src2,
555
+ const GlobPtrSz<DstType1>& dst1, const GlobPtrSz<DstType2>& dst2,
556
+ const Op1& op1, const Op2& op2, Stream& stream = Stream::Null())
557
+ {
558
+ gridTransformBinary_<DefaultTransformPolicy>(src1, src2, dst1, dst2, op1, op2, stream);
559
+ }
560
+
470
561
template <class SrcPtr , typename D0, typename D1, class OpTuple , class MaskPtr >
471
562
__host__ void gridTransformTuple (const SrcPtr& src, const tuple< GpuMat_<D0>&, GpuMat_<D1>& >& dst, const OpTuple& op, const MaskPtr& mask, Stream& stream = Stream::Null())
472
563
{
0 commit comments