Opencv(2)深浅拷贝与基本绘图(c++python

Opencv(2)深浅拷贝与基本绘图

三、深浅拷贝

浅拷贝是指当图像之间进行赋值时,图像数据并未发生复制,而是两个对象都指向同一块内存块。

深拷贝是指新创建的图像拥有原始图像的崭新拷贝

c++

在这里插入图片描述

python

在这里插入图片描述

四、HSV色域

(1).意义

  • RGB 颜色空间利用三个颜色分量的线性组合来表示颜色,任何颜色都与这三个分量有关,而且这三个分量是高度相关的,所以连续变换颜色时并不直观,想对图像的颜色进行调整需要更改这三个分量才行。

  • 自然环境下获取的图像容易受自然光照、遮挡和阴影等情况的影响,即对亮度比较敏感。而 RGB 颜色空间的三个分量都与亮度密切相关,即只要亮度改变,三个分量都会随之相应地改变,而没有一种更直观的方式来表达。

  • 在图像处理中使用较多的是 HSV 颜色空间,它比 RGB 更接近人们对彩色的感知经验。非常直观地表达颜色的色调、鲜艳程度和明暗程度,方便进行颜色的对比。

H(色调/hue) |

S(饱和度/saturation) |

V(明度/Value) |

在这里插入图片描述

(2).cvtColor()

void cv::cvtColor(InputArray src, OutputArray dst, int code, int dstCn=0)
  • src:输入图像,可以是Mat类型的图像或者其他支持的图像数据结构。
  • dst:输出图像,用于存储转换后的图像。
  • code:颜色空间转换的代码,例如CV_BGR2GRAY表示将BGR颜色空间转换为灰度图像。
  • dstCn:输出图像的通道数,如果为0,则自动根据code参数确定通道数。

(3).inRange()

void inRange(InputArray src, InputArray lowerb,InputArray upperb, OutputArray dst);
void inRange(image, Scalar(hmin,smin,vmin), Scalar(hmax,smax,vmax), image);
//typedef Vec<double, 4> Scalar;

python:

在这里插入图片描述

c++:

在这里插入图片描述

(4).适应光线

光线较暗 -> 暗色调 ; 增加饱和度S ;减小亮度V

光线较亮 -> 亮色调 ; 减小饱和度S ;增大亮度V

相关推荐

  1. OpenCV多边形填充绘制

    2024-02-23 11:46:03       20 阅读
  2. python的深浅拷贝

    2024-02-23 11:46:03       33 阅读
  3. 拷贝拷贝

    2024-02-23 11:46:03       17 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-23 11:46:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-23 11:46:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-23 11:46:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-23 11:46:03       18 阅读

热门阅读

  1. IP设置教程

    2024-02-23 11:46:03       32 阅读
  2. 我努力

    2024-02-23 11:46:03       22 阅读
  3. 10 个 Linux 中超方便的 Bash 别名

    2024-02-23 11:46:03       27 阅读
  4. 10.docker exec -it /bin/bash报错解决、sh与bash区别

    2024-02-23 11:46:03       23 阅读
  5. docker-集成测试搭建

    2024-02-23 11:46:03       27 阅读
  6. #LLM入门|Prompt#1.9_总结_Summary

    2024-02-23 11:46:03       22 阅读