本文整理了Java中org.opencv.core.Core.inRange()
方法的一些代码示例,展示了Core.inRange()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Core.inRange()
方法的具体详情如下:
包路径:org.opencv.core.Core
类名称:Core
方法名:inRange
[英]Checks if array elements lie between the elements of two other arrays.
The function checks the range as follows:
dst(I)= lowerb(I)_0
dst(I)= lowerb(I)_0
That is, dst
(I) is set to 255 (all 1
-bits) if src
(I) is within the specified 1D, 2D, 3D,... box and 0 otherwise.
When the lower and/or upper boundary parameters are scalars, the indexes (I)
at lowerb
and upperb
in the above formulas should be omitted.
[中]检查数组元素是否位于其他两个数组的元素之间。
该函数检查范围如下:
*对于单通道输入阵列的每个元素:
dst(I)=低RB(I)0
*对于双通道阵列:
dst(I)=低RB(I)0
*等等。
也就是说,如果src
(I)在指定的1D、2D、3D…范围内,则将dst
(I)设置为255(所有[$1$]-位),。。。框,否则为0。
当下边界和/或上边界参数为标量时,应忽略上述公式中lowerb
和upperb
处的索引(I)
。
代码示例来源:origin: kongqw/OpenCVForAndroid
private void rgba2Hsv(Mat rgba) {
Imgproc.cvtColor(rgba, hsv, Imgproc.COLOR_RGB2HSV);
//inRange函数的功能是检查输入数组每个元素大小是否在2个给定数值之间,可以有多通道,mask保存0通道的最小值,也就是h分量
//这里利用了hsv的3个通道,比较h,0~180,s,smin~256,v,min(vmin,vmax),max(vmin,vmax)。如果3个通道都在对应的范围内,则
//mask对应的那个点的值全为1(0xff),否则为0(0x00).
int vMin = 65, vMax = 256, sMin = 55;
Core.inRange(
hsv,
new Scalar(0, sMin, Math.min(vMin, vMax)),
new Scalar(180, 256, Math.max(vMin, vMax)),
mask
);
}
代码示例来源:origin: us.ihmc/IHMCPerception
public static void thresholdImage(Mat hsvImage, Mat thresholdedImage, HueSaturationValueRange hsvRange)
{
Core.inRange(hsvImage, hsvRange.getMin(), hsvRange.getMax(), thresholdedImage);
}
代码示例来源:origin: us.ihmc/ihmc-perception
public static void thresholdImage(Mat hsvImage, Mat thresholdedImage, HueSaturationValueRange hsvRange)
{
Core.inRange(hsvImage, hsvRange.getMin(), hsvRange.getMax(), thresholdedImage);
}
代码示例来源:origin: nroduit/Weasis
private static void exludePaddingValue(Mat src, Mat mask, int paddingValue, int paddingLimit) {
Mat dst = new Mat();
Core.inRange(src, new Scalar(paddingValue), new Scalar(paddingLimit), dst);
Core.bitwise_not(dst, dst);
Core.add(dst, mask, mask);
}
代码示例来源:origin: us.ihmc/ihmc-perception
Mat mat = hsvRangeMatEntry.getValue();
Core.inRange(medianBlurredMat, hsvRange.getLowerBoundOpenCVScalar(), hsvRange.getUpperBoundOpenCVScalar(), mat);
代码示例来源:origin: us.ihmc/IHMCPerception
Mat mat = hsvRangeMatEntry.getValue();
Core.inRange(medianBlurredMat, hsvRange.getLowerBoundOpenCVScalar(), hsvRange.getUpperBoundOpenCVScalar(), mat);
代码示例来源:origin: openpnp/openpnp
@Override
public Result process(CvPipeline pipeline) throws Exception {
Mat mat = pipeline.getWorkingImage();
Mat mask = mat.clone();
Mat masked = mat.clone();
Scalar color = FluentCv.colorToScalar(Color.black);
mask.setTo(color);
masked.setTo(color);
// FCA Change to have the possibility to work inside the interval or outside (when min>max)
Scalar min;
Scalar max;
if (hueMin <= hueMax) {
min = new Scalar(hueMin, saturationMin, valueMin);
max = new Scalar(hueMax, saturationMax, valueMax);
}
else {
min = new Scalar(hueMax, saturationMin, valueMin);
max = new Scalar(hueMin, saturationMax, valueMax);
}
Core.inRange(mat, min, max, mask);
if (hueMin <= hueMax) {
Core.bitwise_not(mask, mask);
}
mat.copyTo(masked, mask);
return new Result(masked);
}
}
内容来源于网络,如有侵权,请联系作者删除!