颜色转换

RGB颜色空间转换小笔记

早过忘川 提交于 2020-02-09 14:06:52
摘自书籍: Advanced High Dynamic Range Imaging (second edition, 2018) Francesco Banterle,Alessandro Artusi,Kurt Debattista,Alan Chalmers CRC Press,Taylor & Francis Group sRGB presents a non-linear transformation for each color channel to linearize the signal when displayed on LCD and CRT display. Such a nonlinear transformation is called an electro-optical transfer function (EOTF) in the standards community. Its inverse is typically called an opto-electrical transfer function (OETF). This is because there is a non-linear relationship between the output intensity generated by the displaying device

颜色空间转换

烂漫一生 提交于 2020-02-07 00:11:11
1、转换颜色空间 HSV:色调(H),饱和度(S),明度(V)。 比如从 BGR 到灰度图,或者从BGR 到 HSV 等 我们要用到的函数是:cv2.cvtColor(input_image,flflag),其中 flflag 就是转换类型。 对于 BGR↔Gray 的转换,我们要使用的 flflag 就是 cv2.COLOR_BGR2GRAY。 同样对于 BGR↔HSV 的转换,我们用的 flflag 就是 cv2.COLOR_BGR2HSV。 你还可以通过下面的命令得到所有可用的 flflag。 import cv2 flags=[i for in dir(cv2) if i startswith('COLOR_')] print flags 注意:在 OpenCV 的 HSV 格式中,H(色彩/色度)的取值范围是 [0,179], S(饱和度)的取值范围 [0,255],V(亮度)的取值范围 [0,255]。但是不 同的软件使用的值可能不同。所以当你需要拿 OpenCV 的 HSV 值与其他软 件的 HSV 值进行对比时,一定要记得归一化。 2、物体跟踪 在 HSV 颜色空间中要比在 BGR 空间 中更容易表示一个特定颜色。 • 从视频中获取每一帧图像 • 将图像转换到 HSV 空间 • 设置 HSV 阈值到蓝色范围。 • 获取蓝色物体,当然我们还可以做其他任何我们想做的事

动画 | 什么是红黑树?(与2-3-4树等价)

混江龙づ霸主 提交于 2020-01-24 19:50:44
二分搜索树是为了快速查找而生,它是一颗二叉树,每一个节点只有一个元素(值或键值对),左子树所有节点的值均小于父节点的值,右子树所有的值均大于父节点的值,左右子树也是一颗二分搜索树,而且没有键值相等的节点。它的查找、插入和删除的时间复杂度都与树高成比例,期望值是O(log n)。 但是插入数组如[],二分搜索树的缺点就暴露出来了,二分搜索树退化成线性表,查找的时间复杂度达到最坏时间复杂度O(n)。 动画:二分搜索树退化成线性表 那有没有插入和删除操作都能保持树的完美平衡性(任何一个节点到其叶子节点的路径长度都是相等的)? 有,B树。B树是一种自平衡的树,根节点到其叶子节点的路径高度都是一样的,能够保持数据有序(通过中序遍历能得到有序数据)。B树一个节点可以拥有2个以上的子树,如2-3树、2-3-4树甚至2-3-4-5-6-7-8树,它们满足二分搜索树的性质,但它们不属于二叉树,也不属于二分搜索树。 2-3-4树的完美平衡,每条从根节点到叶子节点的路径的高度都是一样的 2-3-4树有以下节点组成: 2-节点,含有一个元素(值或键值对)和两个子树(左右子树),左子树所有的值均小于父节点的值,右子树所有的值均大于父节点的值; 3-节点,含有两个元素和三个子树,左子树所有的值均小于父节点最小元素的值,中间子树所有的值均位于父节点两个元素之间,右子树所有的值均大于父节点最大元素的值; 4-节点

动画 | 什么是红黑树?(与2-3-4树等价)

走远了吗. 提交于 2020-01-23 13:40:58
二分搜索树是为了快速查找而生,它是一颗二叉树,每一个节点只有一个元素(值或键值对),左子树所有节点的值均小于父节点的值,右子树所有的值均大于父节点的值,左右子树也是一颗二分搜索树,而且没有键值相等的节点。它的查找、插入和删除的时间复杂度都与树高成比例,期望值是O(log n)。 但是插入数组如[],二分搜索树的缺点就暴露出来了,二分搜索树退化成线性表,查找的时间复杂度达到最坏时间复杂度O(n)。 动画:二分搜索树退化成线性表 那有没有插入和删除操作都能保持树的完美平衡性(任何一个节点到其叶子节点的路径长度都是相等的)? 有,B树。B树是一种自平衡的树,根节点到其叶子节点的路径高度都是一样的,能够保持数据有序(通过中序遍历能得到有序数据)。B树一个节点可以拥有2个以上的子树,如2-3树、2-3-4树甚至2-3-4-5-6-7-8树,它们满足二分搜索树的性质,但它们不属于二叉树,也不属于二分搜索树。 2-3-4树的完美平衡,每条从根节点到叶子节点的路径的高度都是一样的 2-3-4树有以下节点组成: 2-节点,含有一个元素(值或键值对)和两个子树(左右子树),左子树所有的值均小于父节点的值,右子树所有的值均大于父节点的值; 3-节点,含有两个元素和三个子树,左子树所有的值均小于父节点最小元素的值,中间子树所有的值均位于父节点两个元素之间,右子树所有的值均大于父节点最大元素的值; 4-节点

颜色空间

我是研究僧i 提交于 2020-01-06 00:09:06
颜色通常用三个相对独立的属性来描述,三个独立变量综合作用,自然就构成一个空间坐标,这就是颜色空间。而颜色可以由不同的角度,用三个一组的不同属性加以描述,就产生了不同的颜色空间。但被描述的颜色对象本身是客观的,不同颜色空间只是从不同的角度去衡量同一个对象。 颜色空间按照基本结构可以分两大类:基色颜色空间和色、亮分离颜色空间。前者的典型是 RGB,还包括 CMY、CMYK、CIE XYZ 等;后者包括 YCC/YUV、Lab、以及一批“色相类颜色空间”。CIE XYZ 是定义一切颜色空间的基准,很奇妙的是,它即属于基色颜色空间,也属于色、亮分离颜色空间,是贯穿两者的枢纽。色、亮分离颜色空间中的子类型“色相类颜色空间”,是把颜色分成一个表亮属性,和两个表色属性,其中有一个表色属性是色相,而色相以外的两个属性可以选用不同的变量来定义,而色相的概念不变,因此就构成一族共同使用色相属性,另加表亮属性和表色属性各一个组成的颜色空间,它们是颜色空间中的一个家族,暂且统称为 HSB 颜色空间。 RGB颜色空间是一种大的分类,具体而言RGB空间还包含多种空间,其中sRGB是HP和Microsoft联合制定的标准RGB空间,除此之外还有Adobe RGB,Apple RGB,ColorMatch RGB等等,他们通过不同的方式表示RGB三种颜色,使得它们具有不同的色彩宽度,GAMMA值也是不一样的

colorsys模块颜色模型转换

℡╲_俬逩灬. 提交于 2019-12-26 20:10:10
colorsys模块颜色模型转换 colorsys模块用于RGB和YIQ/HLS/HSV颜色模式的双向转换 colorsys.rgb_to_yiq(r, g, b) colorsys.rgb_to_hls(r, g, b) colorsys.rgb_to_hsv(r, g, b) colorsys.yiq_to_rgb(y, i, q) colorsys.hls_to_rgb(h, l, s) colorsys.hsv_to_rgb(h, s, v) 其中除了i,q之外的其他参数取值都是在[0, 1]范围内的浮点数。RGB参数需要除以255。 RGB RGB是一种相加色,根据红绿蓝三种光的相互叠加来显示不同的颜色,RGB三个字母分别代表红色Red、绿色Green和蓝色Blue。像素的颜色就是由这三个发光管的亮度决定的。 HSV HSV也就是HSB,分别代表色相Hue,饱和度Saturation和明度Value(Brightness)。 HLS HLS 也就是HSL,分别代表色相Hue,亮度Lightness和饱和度Saturation。 YIQ YIQ颜色模型使用亮度Luminance和色度Chrominance来表示颜色。用一组坐标来表示颜色的变化,Q表示了颜色色调由紫到绿的变化,I表示了颜色色调由橙到蓝的变化。 来源: CSDN 作者: kakak_ 链接: https:/

从2-3-4树模型到红黑树实现

只谈情不闲聊 提交于 2019-12-06 06:26:32
目录 从2-3-4树模型到红黑树实现 前言 2-3-4树 查找 插入 树的生长 删除 左倾红黑树 查找 插入 删除 总结 参考文献 从2-3-4树模型到红黑树实现 前言 红黑树,是一个高效的二叉查找树。其定义特性保证了树的路径长度在黑色节点上完美平衡,使得其查找效率接近于完美平衡的二叉树。 但是红黑树的实现逻辑很复杂,各种旋转,颜色变化,直接针对其分析,大多数都是死记硬背各种例子,不太容易有个直观的理解。实际上,红黑树是实现手段,是其他概念模型为了方便在二叉树上实现进而定义的节点颜色这个信息。如果从概念模型入手,再一一对应,就容易理解的多了。而红黑树能够对应的模型有2-3树,2-3-4树等,下面我们会以2-3-4树作为概念模型,对红黑树进行分析。 2-3-4树 2-3-4树是对完美平衡二叉树的扩展,其定义为: 在一个节点中,可以存在1-3个 key 。 2-节点,拥有1个 key 和2个子节点。 3-节点,拥有2个 key 和3个子节点。 4-节点,拥有3个 key 和4个子节点。 子节点为空的节点称为叶子节点。 任意从根节点到叶子节点的路径拥有相同的长度,即路径上的链接数相同。 下图就是一个2-3-4树: 查找 2-3-4树的查找很简单,类似于二叉树,步骤如下: 将查找 key 和节点内的 key 逐一对比。 如果命中,则返回节点内 key 的对应值。 如果节点内的 key

图像预处理

匿名 (未验证) 提交于 2019-12-02 23:54:01
1、主流颜色空间 RGB三通道彩色图,每个通道都是[0,255],常用的三通道―>单通道,Gray=R*0.3+G*0.59+B*0.11 2、图像增强的目标 改善图像的视觉效果 转换为更适合人或机器分析处理的形式; 突出对人或机器分析有意义的信息 抑制无用信息,提高图像的使用价值 包括图像锐化、平滑、去躁、灰度调整(对比度增强) 3、图像处理方法 3.1 特征提取方法 直方图 3.2 空间域处理及其变换 来源: https://www.cnblogs.com/yqpy/p/11337369.html

实验楼Python破解验证码

匿名 (未验证) 提交于 2019-12-02 22:11:45
  本人大二,因为Python结业考试项目,又想要学习机器学习方向,但是由于接触时间不长,选择了实验楼的Python破解验证码这个项目作为我的项目, 我在原来的基础上加了一些代码用于完善,并且对功能如何实现记录在此,第一次接触到图像识别的项目。   这是项目需要的文件链接:https://pan.baidu.com/s/1qoJ5qvU9idmH0v7dnFkMCw     总体思想是将验证码变成黑白,然后切割成单字符,再与准备好的训练集相互比对,将相似度最高的字符输出。   第一步,先对一个验证码进行处理, ,①目标是将图片尽量简化成黑白,②然后切割出单字符,对此使用的是PIL的Image库。   ①导入图片,转换成8位像素的图片 #加载图片并且转换成8位像素 im = Image.open("./captcha.gif") im.convert("P")   我们需要知道验证码的颜色,拾色器工具是一种方法,但是我们通过数据说话,通过打印直方图 print(im.histogram()) 可以返回如下列表 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,

C#中将表示颜色的string转换成Color

匿名 (未验证) 提交于 2019-12-02 22:09:29
场景 在Winform中需要存储某控件的Color属性,存储的是string字符串, 然后再对控件进行赋值时需要将string转换成Color。 实现 myPane . YAxis . Color = System . Drawing . ColorTranslator . FromHtml ( yList [ 0 ]. Color ); 来源:博客园 作者: 霸道流氓 链接:https://www.cnblogs.com/badaoliumangqizhi/archive/2019/09/12/11512778.html