Home | History | Annotate | Download | only in src

Lines Matching defs:cn

82     virtual void operator()(const uchar* src, uchar* dst, int width, int cn)
86 int i = 0, k, ksz_cn = ksize*cn;
88 width = (width - 1)*cn;
89 for( k = 0; k < cn; k++, S++, D++ )
92 for( i = 0; i < ksz_cn; i += cn )
95 for( i = 0; i < width; i += cn )
98 D[i+cn] = s;
1036 int type = _src.type(), sdepth = CV_MAT_DEPTH(type), cn = CV_MAT_CN(type), esz = CV_ELEM_SIZE(type);
1042 if (cn > 4 || (!doubleSupport && (sdepth == CV_64F || ddepth == CV_64F)) ||
1057 wtype = CV_MAKE_TYPE(wdepth, cn), dtype = CV_MAKE_TYPE(ddepth, cn);
1081 (ksize.width == 5 && ksize.height == 5 && cn == 1)))
1087 int pxLoadNumPixels = cn != 1 || size.width % 4 ? 1 : 4;
1088 int pxLoadVecSize = cn * pxLoadNumPixels;
1093 if (cn <= 2 && ksize.width <= 4 && ksize.height <= 4)
1098 else if (cn < 4 || (ksize.width <= 4 && ksize.height <= 4))
1115 sprintf(build_options, "-D cn=%d "
1122 cn, anchor.x, anchor.y, ksize.width, ksize.height,
1129 ocl::convertTypeStr(sdepth, wdepth, cn, cvt[0]),
1130 ocl::convertTypeStr(wdepth, ddepth, cn, cvt[1]),
1157 " -D ST1=%s -D DT1=%s -D cn=%d",
1158 BLOCK_SIZE_X, BLOCK_SIZE_Y, ocl::typeToStr(type), ocl::typeToStr(CV_MAKE_TYPE(ddepth, cn)),
1159 ocl::typeToStr(CV_MAKE_TYPE(wdepth, cn)),
1160 ocl::convertTypeStr(wdepth, ddepth, cn, cvt[0]),
1161 ocl::convertTypeStr(sdepth, wdepth, cn, cvt[1]),
1165 ocl::typeToStr(sdepth), ocl::typeToStr(ddepth), cn);
1185 _dst.create(size, CV_MAKETYPE(ddepth, cn));
1291 int cn = CV_MAT_CN(srcType), sumType = CV_64F;
1296 sumType = CV_MAKETYPE( sumType, cn );
1314 int stype = src.type(), sdepth = CV_MAT_DEPTH(stype), cn = CV_MAT_CN(stype);
1317 _dst.create( src.size(), CV_MAKETYPE(ddepth, cn) );
1352 if (ippiFilterBoxBorderGetBufferSize(roiSize, maskSize, ippDataType, cn, &bufSize) >= 0) \
1434 virtual void operator()(const uchar* src, uchar* dst, int width, int cn)
1438 int i = 0, k, ksz_cn = ksize*cn;
1440 width = (width - 1)*cn;
1441 for( k = 0; k < cn; k++, S++, D++ )
1444 for( i = 0; i < ksz_cn; i += cn )
1450 for( i = 0; i < width; i += cn )
1454 D[i+cn] = s;
1494 int srcType = _src.type(), sdepth = CV_MAT_DEPTH(srcType), cn = CV_MAT_CN(srcType);
1514 int sumType = CV_MAKETYPE( sumDepth, cn ), dstType = CV_MAKETYPE(ddepth, cn);
1660 int depth = CV_MAT_DEPTH(type), cn = CV_MAT_CN(type);
1662 if ((depth == CV_8U || depth == CV_16U || depth == CV_16S || depth == CV_32F) && (cn == 1 || cn == 3) &&
1673 if (ippiFilterGaussianGetBufferSize(roiSize, (Ipp32u)ksize.width, dataType, cn, &specSize, &bufferSize) >= 0)
1833 int cn = _dst.channels(), m = _dst.rows, r = (ksize-1)/2;
1838 int STRIPE_SIZE = std::min( _dst.cols, 512/cn );
1840 std::vector<HT> _h_coarse(1 * 16 * (STRIPE_SIZE + 2*r) * cn + 16);
1841 std::vector<HT> _h_fine(16 * 16 * (STRIPE_SIZE + 2*r) * cn + 16);
1851 const uchar* src = _src.ptr() + x*cn;
1852 uchar* dst = _dst.ptr() + (x - r)*cn;
1854 memset( h_coarse, 0, 16*n*cn*sizeof(h_coarse[0]) );
1855 memset( h_fine, 0, 16*16*n*cn*sizeof(h_fine[0]) );
1858 for( c = 0; c < cn; c++ )
1861 COP( c, j, src[cn*j+c], += (cv::HT)(r+2) );
1867 COP( c, j, p[cn*j+c], ++ );
1876 memset( H, 0, cn*sizeof(H[0]) );
1877 memset( luc, 0, cn*sizeof(luc[0]) );
1878 for( c = 0; c < cn; c++ )
1883 COP( c, j, p0[j*cn + c], -- );
1884 COP( c, j, p1[j*cn + c], ++ );
1947 dst[dstep*i+cn*j+c] = (uchar)(16*k + b);
2010 dst[dstep*i+cn*j+c] = (uchar)(16*k + b);
2037 int cn = _src.channels();
2040 #define UPDATE_ACC01( pix, cn, op ) \
2043 zone1[cn][p] op; \
2044 zone0[cn][p >> 4] op; \
2048 for( x = 0; x < size.width; x++, src += cn, dst += cn )
2065 memset( zone0, 0, sizeof(zone0[0])*cn );
2066 memset( zone1, 0, sizeof(zone1[0])*cn );
2070 for( c = 0; c < cn; c++ )
2074 for( k = 0; k < m*cn; k += cn )
2079 for( k = 0; k < m*cn; k += cn )
2092 for( c = 0; c < cn; c++ )
2114 if( cn == 1 )
2126 else if( cn == 3 )
2141 assert( cn == 4 );
2381 int i, j, k, cn = _src.channels();
2391 int sdelta = size.height == 1 ? cn : sstep;
2392 int sdelta0 = size.height == 1 ? 0 : sstep - cn;
2393 int ddelta = size.height == 1 ? cn : dstep;
2396 for( j = 0; j < cn; j++, src++ )
2408 size.width *= cn;
2414 int limit = useSIMD ? cn : size.width;
2420 int j0 = j >= cn ? j - cn : j;
2421 int j2 = j < size.width - cn ? j + cn : j;
2437 for( ; j <= size.width - VecOp::SIZE - cn; j += VecOp::SIZE )
2439 VT p0 = vop.load(row0+j-cn), p1 = vop.load(row0+j), p2 = vop.load(row0+j+cn);
2440 VT p3 = vop.load(row1+j-cn), p4 = vop.load(row1+j), p5 = vop.load(row1+j+cn);
2441 VT p6 = vop.load(row2+j-cn), p7 = vop.load(row2+j), p8 = vop.load(row2+j+cn);
2460 int sdelta = size.height == 1 ? cn : sstep;
2461 int sdelta0 = size.height == 1 ? 0 : sstep - cn;
2462 int ddelta = size.height == 1 ? cn : dstep;
2465 for( j = 0; j < cn; j++, src++ )
2480 size.width *= cn;
2489 int limit = useSIMD ? cn*2 : size.width;
2496 int j1 = j >= cn ? j - cn : j;
2497 int j0 = j >= cn*2 ? j - cn*2 : j1;
2498 int j3 = j < size.width - cn ? j + cn : j;
2499 int j4 = j < size.width - cn*2 ? j + cn*2 : j3;
2537 for( ; j <= size.width - VecOp::SIZE - cn*2; j += VecOp::SIZE )
2543 p[k*5] = vop.load(rowk+j-cn*2); p[k*5+1] = vop.load(rowk+j-cn);
2544 p[k*5+2] = vop.load(rowk+j); p[k*5+3] = vop.load(rowk+j+cn);
2545 p[k*5+4] = vop.load(rowk+j+cn*2);
2586 int type = _src.type(), depth = CV_MAT_DEPTH(type), cn = CV_MAT_CN(type);
2588 if ( !((depth == CV_8U || depth == CV_16U || depth == CV_16S || depth == CV_32F) && cn <= 4 && (m == 3 || m == 5)) )
2592 bool useOptimized = (1 == cn) &&
2601 format("-D T=%s -D T1=%s -D T4=%s%d -D cn=%d -D USE_4OPT", ocl::typeToStr(type),
2602 ocl::typeToStr(depth), ocl::typeToStr(depth), cn*4, cn)
2604 format("-D T=%s -D T1=%s -D cn=%d", ocl::typeToStr(type), ocl::typeToStr(depth), cn) ;
2736 int cn = src0.channels();
2737 CV_Assert( src.depth() == CV_8U && (cn == 1 || cn == 3 || cn == 4) );
2768 int i, j, cn = dest->channels(), k;
2779 const uchar* sptr = temp->ptr(i+radius) + radius*cn;
2782 if( cn == 1 )
2831 assert( cn == 3 );
2974 int type = _src.type(), depth = CV_MAT_DEPTH(type), cn = CV_MAT_CN(type);
2977 if (depth != CV_8U || cn > 4)
3013 space_ofs[maxk++] = (int)(i * temp.step + j * cn);
3017 String cnstr = cn > 1 ? format("%d", cn) : "";
3024 if (dst.cols % 4 == 0 && cn == 1) // For single channel x4 sized images.
3031 format("-D radius=%d -D maxk=%d -D cn=%d -D int_t=%s -D uint_t=uint%s -D convert_int_t=%s"
3033 radius, maxk, cn, ocl::typeToStr(CV_32SC(cn)), cnstr.c_str(),
3034 ocl::convertTypeStr(CV_8U, CV_32S, cn, cvt[0]),
3035 ocl::typeToStr(type), ocl::typeToStr(CV_32FC(cn)),
3036 ocl::convertTypeStr(CV_32S, CV_32F, cn, cvt[1]),
3037 ocl::convertTypeStr(CV_32F, CV_8U, cn, cvt[2]), gauss_color_coeff));
3062 int cn = src.channels();
3089 if( cn == 1 )
3104 std::vector<float> _color_weight(cn*256);
3113 for( i = 0; i < 256*cn; i++ )
3127 space_ofs[maxk++] = (int)(i*temp.step + j*cn);
3143 cn(_cn), radius(_radius), maxk(_maxk), space_ofs(_space_ofs),
3161 const float* sptr = temp->ptr<float>(i+radius) + radius*cn;
3164 if( cn == 1 )
3224 CV_Assert( cn == 3 );
3311 int cn, radius, maxk, *space_ofs;
3323 int cn = src.channels();
3370 len = (float)(maxValSrc - minValSrc) * cn;
3371 kExpNumBins = kExpNumBinsPerChannel * cn;
3398 space_ofs[maxk++] = (int)(i*(temp.step/sizeof(float)) + j*cn);
3403 BilateralFilter_32f_Invoker body(cn, radius, maxk, space_ofs, temp, dst, scale_index, space_weight, expLUT);