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

保定市共青团下属网站搜索引擎营销流程是什么?

保定市共青团下属网站,搜索引擎营销流程是什么?,WordPress生成分享图片,网站建设 香港空间Lab “Lab” 图像格式通常指的是 CIELAB 色彩空间,也称为 Lab 色彩空间。它是一种用于描述人类视觉感知的颜色的设备无关色彩空间,与常见的 RGB 和 CMYK 色彩空间不同。CIELAB 由国际照明委员会(CIE)于1976年定义,用于…

Lab

“Lab” 图像格式通常指的是 CIELAB 色彩空间,也称为 Lab 色彩空间。它是一种用于描述人类视觉感知的颜色的设备无关色彩空间,与常见的 RGB 和 CMYK 色彩空间不同。CIELAB 由国际照明委员会(CIE)于1976年定义,用于更准确地表示人眼对色彩的感知。
CIELAB 包括三个通道:L(亮度)、a(从绿色到红色的颜色分量)和b(从蓝色到黄色的颜色分量)。这种色彩空间的主要优势在于,它试图模拟人眼对色彩的感知方式,使得在 Lab 空间中更接近的颜色在视觉上也更相似。这使得 Lab 色彩空间在许多颜色相关的应用中很有用,如图像处理、颜色校正和颜色匹配等。
然而,需要注意的是,Lab 图像格式本身并不是一种常见的图像文件格式,如 JPEG、PNG 或 GIF。相反,Lab 色彩空间通常是用于图像处理中的中间色彩空间,以帮助进行颜色校正、色彩调整和其他颜色相关的操作。要在计算机上表示 Lab 色彩空间,通常会使用浮点数值表示 L、a 和 b 通道的值。
在这里插入图片描述

YCbCr

YCbCr 是一种用于数字图像和视频编码的颜色空间,它与 RGB 颜色空间不同。YCbCr 通常用于图像和视频压缩、传输以及数字媒体处理中,因为它具有对人眼感知不同的颜色和亮度信息分离的特性,这样可以在保持视觉质量的前提下减少数据传输量。
YCbCr 由三个分量组成:
Y(亮度):表示图像的明亮度分量。这个分量对应于人眼对图像的亮度感知。
Cb 和 Cr(色差):这两个分量表示颜色信息中的色度或色差分量。Cb 表示蓝色和亮度之间的差异,而 Cr 表示红色和亮度之间的差异。这种分离允许将色彩信息与亮度信息分开,从而在不显著影响视觉感知的情况下进行压缩。
YCbCr 被广泛用于数字媒体技术中,例如 JPEG 图像压缩、视频编码(如 MPEG 和 H.264)以及数字电视广播中。许多图像和视频格式都使用 YCbCr 色彩空间来存储数据,因为它在保留图像质量的同时可以减少存储和传输的数据量。在这些格式中,图像的颜色信息被映射到 Cb 和 Cr 通道,而亮度信息保留在 Y 通道中。
在这里插入图片描述

HSV

它基于人类视觉系统对颜色的感知方式,与 RGB 和 CMYK 色彩空间不同。HSV 代表色相(Hue)、饱和度(Saturation)和亮度(Value),它提供了一种直观的方式来描述颜色的不同方面。
以下是 HSV 色彩空间的三个分量:

  1. 色相(Hue):色相表示颜色的基本属性,即我们常说的颜色名称,如红色、绿色、蓝色等。色相的取值范围通常为 0 到 360
    度,将整个颜色环划分为不同的颜色。
  2. 饱和度(Saturation):饱和度表示颜色的纯度或鲜艳程度。饱和度较低的颜色会更加灰暗或淡化,而高饱和度的颜色更加鲜艳。饱和度的取值范围通常为0%(灰色)到 100%(完全饱和)。
  3. 亮度(Value):亮度表示颜色的明暗程度。较高的亮度值表示颜色较亮,而较低的值表示颜色较暗。亮度的取值范围通常为 0%(黑色)到100%(白色)。
    HSV 色彩空间通常在图像处理和计算机图形学中使用,因为它提供了更直观的控制颜色外观的方式。与 RGB 色彩空间相比,HSV 更适合用于调整颜色的饱和度和明暗程度,而不必考虑颜色之间的复杂交互影响。
    在这里插入图片描述

代码

首先先定义这些颜色空间的数据结构,为了方便读写图像,这里使用OpenCV来读入图像,读入之后把BGR转成RGB。

#pragma once
#include <iostream>
#include <algorithm>
#include <opencv2/opencv.hpp>
struct Lab
{float L;float a;float b;
};struct YCbCr
{float Y;float Cb;float Cr;
};struct HSV
{int h;double s;double v;
};struct BGR
{float b;float g;float r;
};

实现代码

void BGR_YCbCr(BGR &bgr, YCbCr& y)
{y.Y = 0.257 * bgr.r + 0.564 * bgr.g + 0.098 * bgr.b + 16;y.Cb = -0.148 * bgr.r - 0.291 * bgr.g + 0.439 * bgr.b + 128;y.Cr = 0.439 * bgr.r - 0.368 * bgr.g - 0.071 * bgr.b + 128;
}void BGR_Lab(BGR &bgr, Lab& lab)
{double X, Y, Z;double Fx = 0, Fy = 0, Fz = 0;double b = bgr.b / 255.00;double g = bgr.g / 255.00;double r = bgr.r / 255.00;// gamma 2.2if (r > 0.04045)r = pow((r + 0.055) / 1.055, 2.4);elser = r / 12.92;if (g > 0.04045)g = pow((g + 0.055) / 1.055, 2.4);elseg = g / 12.92;if (b > 0.04045)b = pow((b + 0.055) / 1.055, 2.4);elseb = b / 12.92;// sRGBX = r * 0.436052025 + g * 0.385081593 + b * 0.143087414;Y = r * 0.222491598 + g * 0.716886060 + b * 0.060621486;Z = r * 0.013929122 + g * 0.097097002 + b * 0.714185470;// XYZ range: 0~100X = X * 100.000;Y = Y * 100.000;Z = Z * 100.000;// Reference White Point//2度视场 D50光源三刺激值double ref_X = 96.4221;double ref_Y = 100.000;double ref_Z = 82.5211;X = X / ref_X;Y = Y / ref_Y;Z = Z / ref_Z;// Labif (X > 0.008856)Fx = pow(X, 1 / 3.000);elseFx = (7.787 * X) + (16 / 116.000);if (Z > 0.008856)Fz = pow(Z, 1 / 3.000);elseFz = (7.787 * Z) + (16 / 116.000);if (Y > 0.008856){Fy = pow(Y, 1 / 3.000);lab.L = (116.000 * Fy) - 16.0 + 0.5;}else{Fy = (7.787 * Y) + (16 / 116.000);lab.L = 903.3 * Y;}lab.a = 500.000 * (Fx - Fy) + 0.5;lab.b = 200.000 * (Fy - Fz) + 0.5;
}bool IsEquals(double val1, double val2)
{return fabs(val1 - val2) < 0.001;
}void BGR_HSV(BGR& bgr, HSV& hsv)
{double b, g, r;double h, s, v;double min, max;double delta;b = bgr.b / 255.0;g = bgr.g / 255.0;r = bgr.r / 255.0;if (r > g){max = std::max(r, b);min = std::min(g, b);}else{max = std::max(g, b);min = std::min(r, b);}v = max;delta = max - min;if (IsEquals(max, 0))s = 0.0;elses = delta / max;if (max == min)h = 0.0;else{if (IsEquals(r, max) && g >= b){h = 60 * (g - b) / delta + 0;}else if (IsEquals(r, max) && g < b){h = 60 * (g - b) / delta + 360;}else if (IsEquals(g, max)){h = 60 * (b - r) / delta + 120;}else if (IsEquals(b, max)){h = 60 * (r - g) / delta + 240;}}hsv.h = (int)(h + 0.5);hsv.h = (hsv.h > 359) ? (hsv.h - 360) : hsv.h;hsv.h = (hsv.h < 0) ? (hsv.h + 360) : hsv.h;hsv.s = s;hsv.v = v;
}BGR BGR_value(cv::Mat& cv_src)
{cv::Scalar s = cv::mean(cv_src);BGR bgr;bgr.b = s[0];bgr.g = s[1];bgr.r = s[2];return bgr;
}
http://www.dt0577.cn/news/57251.html

相关文章:

  • 2018做网站开发一个月工资多少国内新闻热点事件
  • 可信网站代码成人短期培训能学什么
  • wordpress 做网站有必要买优化大师会员吗
  • 提供徐州网站建设培训心得体会万能模板
  • 推荐网站在线看兄弟们软文台
  • 个人网站有哪些板块徐州网络推广服务
  • jsp ajax网站开发典型实例pdf项目网
  • 深圳网站建设 设计创公司培训机构专业
  • 做淘宝客服的网站中国百强城市榜单
  • 网站开发课程心得seo培训教程
  • 深圳西乡建网站手机优化软件哪个好
  • 网站建设私单自己建网站详细流程
  • 南宁商城网站建设谷歌play商店官网
  • 国内十大电商平台排名长沙官网seo技巧
  • 外贸产品开发网站最新国际新闻事件
  • 深圳网站建设网站运营网站策划是什么
  • 淘宝优惠券私人查券网站怎么做seo推广经验
  • 在家有电脑怎么做网站中央新闻今日要闻
  • 网站seo标题是什么意思磁力天堂
  • 洛阳网站建设哪家便宜策划方案
  • tp5企业网站开发视频seo发包软件
  • 网站广告劫持怎么做网站访问量查询工具
  • 公司做彩票网站违法吗抖音seo
  • 在哪家网站上可以找到加工活做重庆森林经典台词图片
  • 专门做搜索种子的网站有哪些百度首页
  • 自助注册搭建网站搜索引擎优化工具有哪些
  • 网站开发列表软文代写兼职
  • 陕西大型网站建设泉州全网营销推广
  • wordpress下载管理员落实20条优化措施
  • 管理网站制作小红书推广费用一般多少