《opencv实用探索·十五》inRange二值化图像

opencv接口如下:

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

函数实现二值化功能,主要是将在两个阈值内的像素值设置为白色(255),而不在阈值区间内的像素值设置为黑色(0)

参数1:输入要处理的图像,可以为单通道或多通道。
参数2:包含下边界的数组或标量。
参数3:包含上边界数组或标量。
参数4:输出图像,与输入图像src 尺寸相同且为CV_8U 类型。
请注意:该函数输出的dst是一幅二值化之后的图像。

单通道灰度图demo:

#include <opencv2/opencv.hpp>

int main() {
   
    cv::Mat grayImage = cv::imread("gray_image.jpg", cv::IMREAD_GRAYSCALE);

    if (grayImage.empty()) {
   
        std::cerr << "Error: Could not read the image." << std::endl;
        return -1;
    }

    // 定义灰度范围(上限和下限都设置为相同的值,表示提取该灰度值)
    int lowerBound = 100;
    int upperBound = 200;

    // 创建输出图像
    cv::Mat binaryImage;

    // 应用灰度范围阈值
    cv::inRange(grayImage, lowerBound, upperBound, binaryImage);

    // 显示原图和二值图像
    cv::imshow("Original Image", grayImage);
    cv::imshow("Binary Image", binaryImage);

    cv::waitKey(0);
    return 0;
}

三通道图像demo:

#include <opencv2/opencv.hpp>

int main() {
   
    cv::Mat colorImage = cv::imread("color_image.jpg");

    if (colorImage.empty()) {
   
        std::cerr << "Error: Could not read the image." << std::endl;
        return -1;
    }

    // 定义颜色范围
    cv::Scalar lowerBound(100, 0, 0);  // BGR格式,最小值
    cv::Scalar upperBound(255, 50, 50);  // BGR格式,最大值

    // 创建输出图像
    cv::Mat binaryImage;

    // 应用颜色范围阈值
    cv::inRange(colorImage, lowerBound, upperBound, binaryImage);

    // 显示原图和二值图像
    cv::imshow("Original Image", colorImage);
    cv::imshow("Binary Image", binaryImage);

    cv::waitKey(0);
    return 0;
}

上面代码中注意点:
(1)opencv中三通道图像按BGR排列,不是RGB
(2)上面案例中B通道(100-255)范围设置1,G通道(0-50)范围设置1,R通道(0-50)范围设置1

在这里插入图片描述

相关推荐

  1. OpenCV图像

    2023-12-11 22:16:03       17 阅读
  2. OpenCV图像阈值分割、

    2023-12-11 22:16:03       19 阅读
  3. opencv-python库 cv2图像详解

    2023-12-11 22:16:03       15 阅读
  4. 【如何应用OpenCV图像进行

    2023-12-11 22:16:03       14 阅读
  5. Qt图像处理-基于OpenCv图像处理

    2023-12-11 22:16:03       40 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-11 22:16:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-11 22:16:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-11 22:16:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-11 22:16:03       20 阅读

热门阅读

  1. CMD的学习

    2023-12-11 22:16:03       40 阅读
  2. 数据集汇总

    2023-12-11 22:16:03       39 阅读
  3. Python数据分析的模块有哪些?

    2023-12-11 22:16:03       36 阅读
  4. 数据结构和算法专题---2、算法思想

    2023-12-11 22:16:03       38 阅读
  5. vue3中修改element plus 主题色

    2023-12-11 22:16:03       38 阅读
  6. vue 基础

    2023-12-11 22:16:03       34 阅读
  7. qt有哪些常用控件

    2023-12-11 22:16:03       35 阅读