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

网站设计的经费预算巩义旅游网站设计公司

网站设计的经费预算,巩义旅游网站设计公司,政务网站系统,什么网站能接单做网站将sRGB格式的图片转换为BT.2020格式涉及到两个步骤#xff1a;首先将sRGB转换到线性RGB#xff0c;然后将线性RGB转换到BT.2020。这是因为sRGB图像通常使用伽马校正#xff0c;而BT.2020工作在线性色彩空间中。 从sRGB到线性RGB#xff1a;sRGB图像首先需要进行伽马校正解码…将sRGB格式的图片转换为BT.2020格式涉及到两个步骤首先将sRGB转换到线性RGB然后将线性RGB转换到BT.2020。这是因为sRGB图像通常使用伽马校正而BT.2020工作在线性色彩空间中。 从sRGB到线性RGBsRGB图像首先需要进行伽马校正解码转换为线性RGB。这个过程通常不是通过一个简单的线性矩阵实现的而是通过以下公式 [ C_{linear} \begin{cases} \frac{C_{sRGB}}{12.92}, \text{if } C_{sRGB} \leq 0.04045 \ \left(\frac{C_{sRGB} 0.055}{1.055}\right)^{2.4}, \text{otherwise} \end{cases} ] 其中 (C_{linear}) 是线性RGB中的颜色分量值红、绿、蓝(C_{sRGB}) 是sRGB颜色空间中的对应分量值。 从线性RGB到BT.2020接下来您可以应用一个3x3的线性转换矩阵将线性RGB转换为BT.2020色彩空间。这个矩阵通常如下所示 [ \begin{bmatrix} R_{BT.2020} \ G_{BT.2020} \ B_{BT.2020} \end{bmatrix} \begin{bmatrix} 0.6274 0.3293 0.0433 \ 0.0691 0.9195 0.0114 \ 0.0164 0.0880 0.8956 \end{bmatrix} \cdot \begin{bmatrix} R_{linear} \ G_{linear} \ B_{linear} \end{bmatrix} ] 在实际应用中你首先需要编写代码将sRGB图像转换为线性RGB然后再应用上述矩阵进行色彩空间的转换。以下是使用OpenCV在C中实现这一过程的示例代码 #include opencv2/opencv.hpp #include cmathcv::Mat sRGBToLinearRGB(const cv::Mat srgbImage) {cv::Mat linearRGB(srgbImage.size(), srgbImage.type());// cv::Vec3bstatic_castuchar 这2个要根据图片格式选择合适的值srgbImage.forEachcv::Vec3b([](cv::Vec3b pixel, const int * position) - void {for (int i 0; i 3; i) {float c pixel[i] / 255.0f;c c 0.04045f ? c / 12.92f : std::pow((c 0.055f) / 1.055f, 2.4f);linearRGB.atcv::Vec3b(position)[i] static_castuchar(std::round(c * 255.0f));}});return linearRGB; }int main() {// 假设你已经有了一个sRGB格式的cv::Mat对象 srgbImagecv::Mat srgbImage; // 加载你的sRGB图像// 将sRGB转换为线性RGBcv::Mat linearRGB sRGBToLinearRGB(srgbImage);// 定义从线性RGB到BT.2020的转换矩阵cv::Matx33f transformMatrix(0.6274, 0.3293, 0.0433,0.0691, 0.9195, 0.0114,0.0164, 0.0880, 0.8956);// 应用转换矩阵cv::Mat bt2020Image;cv::transform(linearRGB, bt2020Image, transformMatrix);// bt2020Image现在包含转换后的图像return 0; }cv::Mat sRGBToLinearRGB(const cv::Mat srgbImage) {cv::Mat linearRGB(srgbImage.size(), srgbImage.type());srgbImage.forEachcv::Vec3f([](cv::Vec3f pixel, const int * position) - void {for (int i 0; i 3; i) {float c pixel[i] / 255.0f;auto c2 (c 0.04045f) ? (c / 12.92f) : std::pow((c 0.055f) / 1.055f, 2.4f);auto val static_castfloat(std::round(c2 * 255.0f));qDebug() QString(pixel[i] %1, c1 %2, c2 %3, val %4).arg(pixel[i]).arg(c).arg(c2).arg(val);linearRGB.atcv::Vec3f(position)[i] val;}});return linearRGB;}cv::Mat Image_sRGB_BT2020(const cv::Mat src){cv::Mat dst src;// 确保使用浮点数src.convertTo(dst, CV_32F);// 将sRGB转换为线性RGBcv::Mat linearRGB sRGBToLinearRGB(dst);// 定义从线性RGB到BT.2020的转换矩阵cv::Matx33f transformMatrix(0.6274, 0.3293, 0.0433,0.0691, 0.9195, 0.0114,0.0164, 0.0880, 0.8956);// 应用转换矩阵cv::Mat bt2020Image;cv::transform(linearRGB, bt2020Image, transformMatrix);return bt2020Image;}
http://www.dnsts.com.cn/news/90699.html

相关文章:

  • 作图网站都有哪些写网站建设需求文档
  • 化妆品公司网站设计wap手机网站开发
  • 南城区做网站平面设计实习报告
  • 东莞网站设计价格wordpress电子商务网站插件
  • 模板网站建设报价网站建设前准备
  • 如何建淘宝客网站网站建设公司取名
  • 网站标题修改wordpress土豆
  • 青岛做公司网站的多吗厦门网站建设电话
  • 网站开发待遇怎么样哈尔滨道里区
  • 购物网站技术实施方案网建
  • 番禺网站开发哪家专业建设网站收集加工素材教案
  • 单一产品企业或多元化产品企业的网站建设与策划有什么不同?网站空间会过期吗
  • 建设一个网站首先需要什么企业oa办公系统哪家好
  • 网站建设技术架构和语言杭州网站建设 博客
  • 哈尔滨大型网站设计公司织梦网站如何做二级导航栏
  • 做版权保护的网站技校平面设计主要做什么
  • 做一个小说阅读网站怎么做做网站维护工作难吗
  • 做网站时链接的网页无法显示企业网站制作是什么
  • 自己建设网站服务器小超人成都网站建设
  • 成都微信网站建设多少网站推广免费 优帮云
  • 个人网站可以做充值长沙网站开发培训学校
  • 成都爱站网seo站长查询工具东莞专业微网站建设
  • 网站建设哪里公司好高端网站定制设计公司
  • 帝国cms如何做网站大兴网站开发
  • 模板网站和定制网站的优劣势对比小工具文本wordpress
  • 曲阳网站制作公司广州 网站开发公司
  • 品牌网站建设价格天天快递wordpress更换网站域名
  • 网站建设网站制作有限做网站开发的
  • 找人做网站需要多少钱网络软文广告
  • 广州外贸网站公司湖南隆回建设局网站