added sipport of BORDER_REPLICATE mode into gpu::corner* functions

This commit is contained in:
Alexey Spizhevoy
2010-12-06 07:47:26 +00:00
parent bb9bf53eb1
commit 6ef4d9b1dd
6 changed files with 162 additions and 26 deletions

View File

@@ -44,7 +44,7 @@ namespace cv { namespace gpu {
struct BrdReflect101
{
BrdReflect101(int len) : last(len - 1) {}
BrdReflect101(int len): last(len - 1) {}
__device__ int idx_low(int i) const
{
@@ -73,7 +73,7 @@ namespace cv { namespace gpu {
template <typename T>
struct BrdRowReflect101: BrdReflect101
{
BrdRowReflect101(int len) : BrdReflect101(len) {}
BrdRowReflect101(int len): BrdReflect101(len) {}
__device__ float at_low(int i, const T* data) const
{
@@ -90,7 +90,7 @@ namespace cv { namespace gpu {
template <typename T>
struct BrdColReflect101: BrdReflect101
{
BrdColReflect101(int len, int step) : BrdReflect101(len), step(step) {}
BrdColReflect101(int len, int step): BrdReflect101(len), step(step) {}
__device__ float at_low(int i, const T* data) const
{
@@ -108,7 +108,7 @@ namespace cv { namespace gpu {
struct BrdReplicate
{
BrdReplicate(int len) : last(len - 1) {}
BrdReplicate(int len): last(len - 1) {}
__device__ int idx_low(int i) const
{
@@ -122,7 +122,7 @@ namespace cv { namespace gpu {
__device__ int idx(int i) const
{
return min(max(i, last), 0);
return max(min(i, last), 0);
}
bool is_range_safe(int mini, int maxi) const
@@ -137,7 +137,7 @@ namespace cv { namespace gpu {
template <typename T>
struct BrdRowReplicate: BrdReplicate
{
BrdRowReplicate(int len) : BrdReplicate(len) {}
BrdRowReplicate(int len): BrdReplicate(len) {}
__device__ float at_low(int i, const T* data) const
{
@@ -154,7 +154,7 @@ namespace cv { namespace gpu {
template <typename T>
struct BrdColReplicate: BrdReplicate
{
BrdColReplicate(int len, int step) : BrdReplicate(len), step(step) {}
BrdColReplicate(int len, int step): BrdReplicate(len), step(step) {}
__device__ float at_low(int i, const T* data) const
{