#include <opencv2/opencv.hpp> // 加载图像 cv::Mat image = cv::imread("image.jpg");

cv::Mat hsiImage; cv::cvtColor(image, hsiImage, CV_BGR2HSV);

int numPixelsRGB = 0; int numPixelsHSI = 0;

for (int i = 0; i < image.rows; i++) { for (int j = 0; j < image.cols; j++) { // 获取RGB颜色模式下的像素值 cv::Vec3b rgbPixel = image.at<cv::Vec3b>(i, j); uchar red = rgbPixel[2]; uchar green = rgbPixel[1]; uchar blue = rgbPixel[0];

    &#x2F;&#x2F; 获取HSI颜色
    cv::Vec3b hsiPixel &#x3D; hsiImage.at&#x3C;cv::Vec3b&#x3E;(i, j);
    uchar hue &#x3D; hsiPixel[0];
    uchar saturation &#x3D; hsiPixel[1];
    uchar intensity &#x3D; hsiPixel[2];

    &#x2F;&#x2F; 计算像素总数
    numPixelsRGB++;

    &#x2F;&#x2F; 判断HSI颜色是否满足条件(例如,饱和度大于阈值)
    if (saturation &#x3E; threshold) {
        numPixelsHSI++;
    }
}

}


原文地址: https://www.cveoy.top/t/topic/pvY0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录