fix bugs on host and device sides for imgprog_sobel3.cl

This commit is contained in:
konstantin 2013-10-28 00:14:07 +04:00
parent ddd2b106fb
commit 973137c78e
2 changed files with 9 additions and 5 deletions

View File

@ -908,7 +908,11 @@ namespace cv
Context* clCxt = Context::getContext();
if(clCxt->supportsFeature(FEATURE_CL_INTEL_DEVICE) && src.type() == CV_8UC1 &&
src.cols % 8 == 0 && src.rows % 8 == 0 &&
ksize==3)
ksize==3 &&
(borderType ==cv::BORDER_REFLECT ||
borderType == cv::BORDER_REPLICATE ||
borderType ==cv::BORDER_REFLECT101 ||
borderType ==cv::BORDER_WRAP))
{
Dx.create(src.size(), CV_32FC1);
Dy.create(src.size(), CV_32FC1);

View File

@ -55,11 +55,11 @@ __kernel void sobel3(
lsmem[liy+1][lix+1] = convert_float(Src[ id_y * srcStride + id_x ]);
int id_y_h = ADDR_H(id_y-1, 0);
int id_y_b = ADDR_B(id_y+1, height);
int id_y_h = ADDR_H(id_y-1, 0,height);
int id_y_b = ADDR_B(id_y+1, height,id_y+1);
int id_x_l = ADDR_L(id_x-1, 0);
int id_x_r = ADDR_R(id_x+1, width);
int id_x_l = ADDR_L(id_x-1, 0,width);
int id_x_r = ADDR_R(id_x+1, width,id_x+1);
if(liy==0)
{