OpenCV文档阅读笔记-inRange官方解析及实例

目录

官方解析

博主例子


 

官方解析

CV_EXPORTS_W void inRange(InputArray src, InputArray lowerb,InputArray upperb, OutputArray dst);

如果待检测数组在给定的范围内那么就替换他。
这个函数检测范围如下:
1.对于单通道输入的数组:
\f[\texttt{dst} (I)= \texttt{lowerb} (I)_0  \leq \texttt{src} (I)_0 \leq  \texttt{upperb} (I)_0\f]
2.对于双通道的数组:
\f[\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\f]
3.四通道的也如此

各个参数的解析:
1.src是输入的数组
2.lowerb是包含lowerb的最小值数组或分量
3.upperb是包含upperb的最大值数组或分量
4.输出的数组,大小和通道数与src一样,并且是CV_8V的类型

 

博主例子

运行截图如下:

源码如下:

#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/imgproc/imgproc_c.h>

#include <iostream>
using namespace std;
using namespace cv;

void main(){

	Mat matSrc=imread("1.png",IMREAD_UNCHANGED);
	Mat matHsv,matInRange;
	cvtColor(matSrc,matHsv,COLOR_RGB2HSV);
	inRange(matHsv,Scalar(35,43,46),Scalar(77,255,255),matInRange);

	waitKey();
	getchar();
}

 

©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页