MCPcopy Create free account
hub / github.com/creatale/node-dv / inRangeReduce

Function inRangeReduce

deps/opencv/modules/core/src/arithm.cpp:2657–2679  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2655}
2656
2657static void inRangeReduce(const uchar* src, uchar* dst, size_t len, int cn)
2658{
2659 int k = cn % 4 ? cn % 4 : 4;
2660 size_t i, j;
2661 if( k == 1 )
2662 for( i = j = 0; i < len; i++, j += cn )
2663 dst[i] = src[j];
2664 else if( k == 2 )
2665 for( i = j = 0; i < len; i++, j += cn )
2666 dst[i] = src[j] & src[j+1];
2667 else if( k == 3 )
2668 for( i = j = 0; i < len; i++, j += cn )
2669 dst[i] = src[j] & src[j+1] & src[j+2];
2670 else
2671 for( i = j = 0; i < len; i++, j += cn )
2672 dst[i] = src[j] & src[j+1] & src[j+2] & src[j+3];
2673
2674 for( ; k < cn; k += 4 )
2675 {
2676 for( i = 0, j = k; i < len; i++, j += cn )
2677 dst[i] &= src[j] & src[j+1] & src[j+2] & src[j+3];
2678 }
2679}
2680
2681typedef void (*InRangeFunc)( const uchar* src1, size_t step1, const uchar* src2, size_t step2,
2682 const uchar* src3, size_t step3, uchar* dst, size_t step, Size sz );

Callers 1

inRangeMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected