inRange()
//cpp
void cv::inRange ( InputArray src,
InputArray lowerb,
InputArray upperb,
OutputArray dst
)
//python
dst =cv.inRange(src, lowerb, upperb[, dst] )
1. 参数
Parameters
src
first input array.
lowerb
inclusive lower boundary array or a scalar.
upperb
inclusive upper boundary array or a scalar.
dst
output array of the same size as src and CV_8U type.
2. 使用例子
inRange(imgHSV, Scalar(iLowH, iLowS, iLowV), Scalar(iHighH, iHighS, iHighV), imgThresholded);
两通道如下所示,三通道以此类推
dst
(
I
)
=
lowerb
(
I
)
0
≤
src
(
I
)
0
≤
upperb
(
I
)
0
∧
lowerb
(
I
)
1
≤
src
(
I
)
1
≤
upperb
(
I
)
1
\texttt{dst} (I)= \texttt{lowerb} (I)_0 \leq \texttt{src} (I)_0 \leq \texttt{upperb} (I)_0 \land \texttt{lowerb} (I)_1 \leq \texttt{src} (I)_1 \leq \texttt{upperb} (I)_1
dst(I)=lowerb(I)0≤src(I)0≤upperb(I)0∧lowerb(I)1≤src(I)1≤upperb(I)1
3.Scalar讲解
Scalar_<_Tp>::Scalar_(_Tp v0, _Tp v1, _Tp v2, _Tp v3)
{
this->val[0] = v0;
this->val[1] = v1;
this->val[2] = v2;
this->val[3] = v3;
}
它将各个通道的值构成一个整体,赋给具有相同通道数的矩阵元素