怎么把一个网站的信息都抓取下来,wordpress评论已关闭,访问国外网站好慢,昆明网站策划目录 1. 色彩空间基础2. 色彩空间类型2.1 GRAY 色彩空间2.2 BGR 色彩空间2.3 CMY(K) 色彩空间2.4 XYZ 色彩空间2.5 HSV 色彩空间2.6 HLS 色彩空间2.7 CIEL*a*b* 色彩空间2.8 CIEL*u*v* 色彩空间2.9 YCrCb 色彩空间 3. 类型转换函数3.1 cv2.cvtColor3.2 cv2.inRange 1. 色彩空间… 目录 1. 色彩空间基础2. 色彩空间类型2.1 GRAY 色彩空间2.2 BGR 色彩空间2.3 CMY(K) 色彩空间2.4 XYZ 色彩空间2.5 HSV 色彩空间2.6 HLS 色彩空间2.7 CIEL*a*b* 色彩空间2.8 CIEL*u*v* 色彩空间2.9 YCrCb 色彩空间 3. 类型转换函数3.1 cv2.cvtColor3.2 cv2.inRange 1. 色彩空间基础 RGB 图像是一种比较常见的色彩空间类型除此之外比较常见的还有以下类型GRAY 色彩空间即灰度图像、XYZ 色彩空间、YCrCb 色彩空间、HSV 色彩空间、HLS 色彩空间、CIELab 色彩空间、CIELuv 色彩空间等这些不同的色彩空间是根据不同角度进行定义的比如从光学角度出发可以将颜色解析为主波长、纯度、明度等从心理学和视觉角度出发可以将颜色解析为色调、饱和度、亮度等从神经学来说自然界中常见的各种光都可以通过三基色按照一定的比例混合构成。 色彩空间也称为颜色空间、色彩模型、彩色模型、彩色空间、颜色模型、颜色系统等。色彩空间转换指的是图像从一个色彩空间转换到另一个色彩空间比如讲图像从 RGB 色彩空间转换到 XYZ 色彩空间不同的色彩空间适用不同的场景所以有时候需要将它们进行互相转换。
2. 色彩空间类型
2.1 GRAY 色彩空间
GRAY色彩空间通常指的是灰度图像这是一种单色图像其中每个像素的值表示从黑色到白色的不同灰度级别。在GRAY色彩空间中图像只有一个通道通常用8位表示这意味着有256个可能的灰度级别范围从0黑色到255白色。在这个范围内数值越小像素颜色越接近黑色数值越大像素颜色越接近白色。中间的数值则代表不同亮度的灰色。GRAY色彩空间常用于图像处理和分析因为它简化了颜色信息使得处理更加高效。例如在人脸识别、文本识别或图像分割等任务中灰度图像往往能提供足够的信息而无需考虑颜色信息。此外将彩色图像转换为灰度图像还可以减少计算量加快处理速度。在OpenCV中可以使用cv2.cvtColor()函数将彩色图像转换为灰度图像。转换时OpenCV会应用一定的算法如加权平均法来计算每个像素的灰度值。转换后的灰度图像将只包含一个通道的数据可以显著降低图像的数据量和处理复杂度。也可以自行采用计算公式Y0.2126R0.7152G0.0722*BRGB分别为彩色图像的三通阀哦。
2.2 BGR 色彩空间
BGR代表蓝Blue、绿Green和红Red三个颜色通道这三个通道的组合可以表示出广泛的颜色范围。在BGR色彩空间中每个颜色通道都使用8位bit来表示因此其值的范围是从0到255。BGR色彩空间常用于图像处理和计算机视觉库在OpenCV中读取的图像默认就是以BGR格式存储的。这是因为许多图像显示设备如电视和计算机显示器在显示图像时也是使用BGR顺序。与RGB色彩空间相比BGR色彩空间只是颜色通道的顺序不同RGB是红、绿、蓝的顺序而BGR是蓝、绿、红的顺序。这种差异主要在于不同的图像处理库和显示设备可能采用不同的颜色通道顺序。
2.3 CMY(K) 色彩空间
CMYK色彩空间主要应用于印刷工业。在CMYK色彩空间中颜色是通过青Cyan、品红Magenta、黄Yellow和黑Key/Black四种油墨以不同的网点面积率叠印而成的。这种色彩空间是基于减色混色原理的与RGB等基于增色混色原理的色彩空间不同。在CMYK色彩空间中青色、品红色和黄色是三种基本颜色它们通过不同的组合可以产生出丰富的色彩。然而由于实际印刷过程中油墨的特性、纸张的吸收性等因素这三种颜色并不能完全混合产生黑色。因此为了更准确地再现黑色引入了黑色油墨K。CMYK色彩空间的一个重要特点是它具有多值性即对于同一种具有相同绝对色度的颜色在相同的印刷过程前提下可以用不同的CMYK数字组合来表示和印刷出来。这是因为在实际印刷过程中油墨的网点面积率、油墨的颜色浓度等因素都会对最终的颜色产生影响。此外CMYK色彩空间是与设备或印刷过程相关的表色空间这意味着不同的印刷设备、不同的印刷工艺、不同的纸张等因素都可能导致相同的CMYK数字组合产生不同的颜色效果。因此在实际应用中需要根据具体的印刷条件和要求来选择合适的CMYK数字组合。
2.4 XYZ 色彩空间 XYZ色彩空间是由国际照明委员会CIE制定的一种色彩空间标准也是最先采用数学方式来定义的色彩空间之一。XYZ色彩空间中的三个分量X、Y、Z分别代表不同颜色刺激的光谱三刺激值它们是基于人眼对不同波长光的响应曲线进行加权计算得出的。 在XYZ色彩空间中Y分量代表亮度而X和Z分量则与色度有关。通过调整X、Y、Z三个分量的值可以精确地定义和表示各种颜色。与RGB色彩空间相比XYZ色彩空间具有更高的精度和更广泛的色域因为它不是基于特定的显示设备或染料而是基于人眼的视觉特性。 XYZ色彩空间通常用于颜色测量、颜色管理和颜色再现等领域。例如在颜色测量中可以使用XYZ色彩空间来测量物体表面的反射光谱并计算出其对应的XYZ值。在颜色管理中XYZ色彩空间可以作为不同色彩空间之间的桥梁将其他色彩空间中的颜色转换为XYZ色彩空间中的颜色以实现跨设备、跨媒体的颜色一致性。
2.5 HSV 色彩空间
与RGB色彩空间相比HSV色彩空间更接近于人类对颜色的感知方式因此更适合用于颜色分析和处理。在HSV色彩空间中颜色由三个分量表示色调Hue、饱和度Saturation和亮度Value。色调H表示颜色的基本属性是一个角度度量范围通常为0°-360°从红色开始按逆时针方向计算红色为0°绿色为120°蓝色为240°。饱和度S表示颜色的纯度或深浅程度范围通常为0%~100%值越大颜色越饱和。亮度V表示颜色的明亮程度范围也通常为0%-100%值越大颜色越亮。在HSV色彩空间中颜色之间的相似性和差异性可以更容易地进行度量和分析。例如在色调H上相差较小的颜色通常被认为是相似的颜色而在饱和度S或亮度V上相差较大的颜色则可能被认为是不同的颜色。这种特性使得HSV色彩空间在颜色分割、颜色跟踪和颜色识别等应用中具有优势。此外HSV色彩空间还可以通过调整饱和度S和亮度V来实现对颜色的调整和修改。例如增加饱和度S可以使颜色更加鲜艳而增加亮度V则可以使颜色更加明亮。这种灵活性使得HSV色彩空间在图像处理中得到了广泛应用。 取值详情如下 颜色库 2.6 HLS 色彩空间
HLS色彩空间也是一种描述颜色的方法它由色调Hue、光亮度Lightness和饱和度Saturation三个分量组成。HLS色彩空间与HSV色彩空间有些类似但在亮度的定义上有所不同。在HLS色彩空间中亮度L是一个衡量从物体表面反射出来的光线的数量它的取值范围通常是0到1其中0表示黑色1表示白色。色调H在HLS色彩空间中的含义与HSV模型中的色调相同它描述了一个纯色彩的基本属性比如红色、蓝色等。色调的取值范围也是0到360度。饱和度S在HLS色彩空间中表示纯色彩所添加的白光的程度也就是色彩的纯度。当饱和度降低时颜色会变得更加灰色。当饱和度值为零时颜色将变为灰度值。HLS色彩空间在艺术家和图像处理中也被广泛使用。与HSV色彩空间相比HLS色彩空间更强调光亮度而不是颜色的强度或明度。这意味着在HLS色彩空间中即使饱和度很高如果光亮度很低颜色也会显得比较暗。
2.7 CIELab* 色彩空间
CIELab色彩空间是一种均匀色彩空间也是一种面向视觉感知的颜色模型。在这个色彩空间中颜色的表示方式与人类视觉系统对颜色的感知方式更加一致。CIELab色彩空间中的三个分量分别为L*、a和b L*分量表示像素的亮度取值范围在[0, 100]之间表示从纯黑0到纯白100。这个分量与人类对亮度的感知是线性相关的。a*分量表示从红色到绿色的范围取值范围是[-127, 127]。正值表示红色负值表示绿色。这个分量与人类对红色和绿色的感知是线性相关的。b*分量表示从黄色到蓝色的范围取值范围也是[-127, 127]。正值表示黄色负值表示蓝色。这个分量与人类对黄色和蓝色的感知是线性相关的。 由于CIELab色彩空间是均匀色彩空间这意味着在色彩空间中的两个颜色之间的欧氏距离与它们在视觉上的感知差异是成正比的。这个特性使得CIELab色彩空间在颜色差异测量、颜色匹配和颜色校正等应用中非常有用。此外CIELab色彩空间是从CIE的XYZ色彩空间发展而来的。在处理颜色时通常需要先将颜色从RGB色彩空间转换到XYZ色彩空间然后再转换到CIELab色彩空间。这种转换通常基于一定的数学公式或算法
2.8 CIELuv* 色彩空间
CIELuv色彩空间也称为LUV色彩空间是另一种国际照明委员会CIE推荐的颜色空间。与CIELab色彩空间类似它也是均匀色彩空间并且面向视觉感知。CIELuv色彩空间中的三个分量分别为L、u和v。 L分量在CIELuv色彩空间中同样表示亮度取值范围在[0, 100]之间从纯黑0到纯白100。这个分量与人类对亮度的感知是线性相关的。u和v分量一起表示色度取值范围通常是[-100, 100]。u分量表示从黄色到蓝色的范围正值表示黄色负值表示蓝色。v分量表示从紫色到绿色的范围正值表示紫色负值表示绿色。 CIELuv色彩空间与CIELab色彩空间的主要区别在于它们对颜色的表示方式。虽然它们都是均匀色彩空间并且都试图与人类视觉感知相匹配但它们在处理某些颜色时可能会有所不同。此外CIELuv*色彩空间对蓝色的变化较为敏感而对红色的变化则相对不太敏感。CIELuv色彩空间通常用于颜色测量、颜色管理和颜色校正等领域。与CIELab色彩空间一样处理颜色时通常需要将颜色从RGB色彩空间转换到XYZ色彩空间然后再转换到CIELuv*色彩空间。这种转换通常基于一定的数学公式或算法:
2.9 YCrCb 色彩空间
YCrCb色彩空间也称为YUV色彩空间是一种广泛应用于数字视频和图像处理的颜色编码方法。YCrCb色彩空间将颜色信息分为亮度分量Y和色度分量Cr和Cb这种分离使得在处理视频信号时可以更有效地利用带宽并且兼容老式的黑白电视。在YCrCb色彩空间中Y分量表示亮度信息即像素的明暗程度。它的取值范围通常是[0, 255]或[16, 235]具体取决于不同的标准和实现方式。Y分量的值越大像素越亮值越小像素越暗。Cr和Cb分量表示色度信息即像素的颜色属性。Cr分量通常表示红色与亮度的差异而Cb分量表示蓝色与亮度的差异。它们的取值范围也通常是[0, 255]或[16, 240]。通过调整Cr和Cb的值可以改变像素的颜色。YCrCb色彩空间在图像处理中有许多应用特别是在颜色空间转换、图像压缩和颜色校正等方面。例如在人脸检测中将图像从RGB色彩空间转换为YCrCb色彩空间可以简化肤色检测的过程因为肤色在YCrCb空间中的聚类效果更好。此外YCrCb色彩空间也常用于JPEG等图像压缩算法中以减少存储和传输所需的带宽。需要注意的是YCrCb色彩空间与RGB色彩空间之间存在转换关系。在将图像从RGB色彩空间转换为YCrCb色彩空间时通常使用特定的转换公式或矩阵进行计算。这些转换公式或矩阵的具体形式可能因不同的标准和实现方式而有所差异: 3. 类型转换函数
3.1 cv2.cvtColor
dst cvtColor(src, code[, dstCn])作用实现色彩空间的变换。该函数能够实现多个仓彩空间之间的转换。参数说明 dst输出的结果与原始输入图像的数据类型和深度相同src输入的图像。可以是 8 位无符号图像、16位无符号图像、单精度浮点数dstCn目标图像的通道数默认为 0自动通过原始输入图像和 code 参数计算得到code色彩空间转换码,code转换码列表
3.2 cv2.inRange
cv2.inRange(src, lowerb, upperb[, dst])作用判断图像内的像素点的像素值是否在指定的范围内。参数说明 src输入图像可以是灰度图像或彩色图像。lowerb表示下界的阈值可以是一个标量值或与输入图像通道数相同的数组。对于灰度图像lowerb是一个标量值对于彩色图像可以通过传递一个数组来指定每个通道的下界阈值。upperb表示上界的阈值与lowerb的类型相同用于指定上界阈值。对于灰度图像upperb是一个标量值对于彩色图像可以通过传递一个数组来指定每个通道的上界阈值。dst可选输出图像用于存储计算得到的阈值图像。它应该具有与输入图像相同的尺寸和数据类型。 cv2.inRange函数的工作原理是扫描图像的每个像素如果像素值在lowerb和upperb指定的范围内则将该像素设置为白色或指定的其他值否则设置为黑色。这样就可以提取出指定范围内的颜色并将该颜色的区域设置为白色其余区域设置为黑色。