当前位置: 首页 > news >正文

opencv图片明暗度判断方法

OpenCV 的LAB 颜色空间(也称为 CIELAB)是一种颜色对手的颜色模型,它旨在模仿人类的色彩感知。LAB 颜色空间由三个分量组成:

L: 亮度分量 (Lightness),范围从 0(黑色)到 100(白色)。

A: 范围从 -127 到 +127,表示从绿色到红色的变化。

B: 范围从 -127 到 +127,表示从蓝色到黄色的变化。

在 OpenCV 中,可以使用 cvtColor 函数来将图像从一种颜色空间转换到另一种颜色空间,包括转换到 LAB 颜色空间。我们可以通过L的亮度分量来初步判断当前摄像头获取的图像颜色偏暗还是偏亮,若是偏暗可以采用补光的方式来增加外部环境的光照亮度。简单的实例代码如下:

#include <opencv2/opencv.hpp>

#include <iostream>

int main() {

       cv::VideoCapture *m_capture = new cv::VideoCapture;

    cv::Mat img;

       // 打开摄像头

       m_capture->open(0,cv::CAP_V4L2);

    m_capture->set( cv::CAP_PROP_FRAME_WIDTH, 800 );

m_capture->set( cv::CAP_PROP_FRAME_HEIGHT, 600 );

while(1)

{

            // 读取图像

m_capture->read(img) ;

            if (img.empty()) {

                std::cout << "Could not open or find the image" << std::endl;

                return -1;

             }

            // 显示原始图像

            cv::imshow("Original Image", img);

            // 将图像从 BGR 转换为 LAB

            cv::Mat lab_img;

            cv::cvtColor(img, lab_img, cv::COLOR_BGR2Lab);

            // 分离 LAB 图像通道

            std::vector<cv::Mat> lab_planes;

            cv::split(lab_img, lab_planes);

            // 显示 LAB 图像的每个通道

            cv::imshow("L Channel", lab_planes[0]);

            cv::imshow("A Channel", lab_planes[1]);

            cv::imshow("B Channel", lab_planes[2]);

   }

    return 0;

}

http://www.lryc.cn/news/486856.html

相关文章:

  • QT6学习第三天
  • 计算机网络-MSTP基础实验一(单域多实例)
  • React合成事件及其核心思想详解
  • Datawhale模型减肥秘籍Tasking之模型量化
  • 在云服务器搭建 Docker
  • Redis 的代理类注入失败,连不上 redis
  • 版本控制【Git Bash】【Gitee】
  • Neo4j Desktop 和 Neo4j Community Edition 区别
  • 使用uniapp开发微信小程序使用uni_modules导致主包文件过大,无法发布的解决方法
  • HarmonyOS NEXT应用元服务开发Intents Kit(意图框架服务)事件推荐开发者测试
  • GD32F103 实践-- MCU编译运行
  • SQL复杂数据类型处理
  • ROS第九梯:ROS+VSCode+Python+C++自定义消息发布和订阅
  • 【Linux】指令 + 压缩与解压
  • 力扣(leetcode)题目总结——动态规划篇
  • 数据仓库数据湖湖仓一体解决方案
  • 微信小程序 最新获取用户头像以及用户名
  • 无人机在森林中的应用!
  • Seatunnel解决Excel中无法将数字类型转换成字符串类型以及源码打包
  • 在阿里云快速启动Appsmith搭建前端页面
  • 「51媒体」:企业成长助推器
  • 安全、便捷、效率高,明达边缘计算网关助力制药装备企业远程调机
  • 海康威视和大华视频设备对接方案
  • 用DMA来自动控制PWM的输出(音频输出,交直流转换)
  • 利用hive元数据统计数据量
  • 平均值(水题???)
  • 免费开源!DBdoctor推出开源版系统诊断工具systool
  • Bufferevent and SSL
  • 我要成为算法高手-位运算篇
  • 分布式IO模块:智慧楼宇的“智慧眼”与“智慧手”