RGB 到 YCbCr 转换问题

2024-01-01

我需要将 RGB 图像转换为 YCbCr 颜色空间,但有一些颜色偏移问题,我使用了所有公式并得到了相同的结果。

python 中的公式

    cbcr[0] =  int(0.299*rgb[0] + 0.587*rgb[1] + 0.114*rgb[2]) #Y
    cbcr[1] =  int(-0.1687*rgb[0] - 0.3313*rgb[1] + 0.5*rgb[2] + 128) #Cb
    cbcr[2] =  int( 0.5*rgb[0] - 0.4187*rgb[1] - 0.0813*rgb[2] + 128) #Cr

我知道我应该用不同的方式记录数据来获得相同的图像,但我得到了错误的颜色结果。

http://i.imgur.com/zHuv8yq.png http://i.imgur.com/zHuv8yq.png原来的

http://i.imgur.com/Ek2WEA1.png http://i.imgur.com/Ek2WEA1.png Result

那么我如何获得正常图像或将 RGB PNG 转换为 YCbCr 4:2:2?


这应该有效(大约)

def _ycc(r, g, b): # in (0,255) range
    y = .299*r + .587*g + .114*b
    cb = 128 -.168736*r -.331364*g + .5*b
    cr = 128 +.5*r - .418688*g - .081312*b
    return y, cb, cr

def _rgb(y, cb, cr):
    r = y + 1.402 * (cr-128)
    g = y - .34414 * (cb-128) -  .71414 * (cr-128)
    b = y + 1.772 * (cb-128)
    return r, g, b

>>> c = _ycc(10, 20, 30)
>>> _rgb(*c)
(10.000005760000002, 20.000681726399996, 29.996457920000005)

另请参阅维基百科 http://en.wikipedia.org/wiki/YCbCr#JPEG_conversion

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RGB 到 YCbCr 转换问题 的相关文章

  • 围绕 readline 构建的 python 批处理的触发器选项卡完成

    背景 我有一个 python 程序 它导入并使用 readline 模块来构建自制的命令行界面 我有第二个 python 程序 围绕 Bottle 一个 Web 微框架构建 充当该 CLI 的前端 第二个 python 程序向第一个程序打开
  • 我怎样才能更多地了解Python的内部原理? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我使用Python编程已经有半年多了 我对Python内部更感兴趣 而不是使用Python开发应用程序
  • 如何在序列化器创建方法中获取 URL Id?

    我有以下网址 url r member P
  • python 模拟第三方模块

    我正在尝试测试一些处理推文的类 我使用 Sixohsix twitter 来处理 Twitter API 我有一个类充当 Twitter 类的外观 我的想法是模拟实际的 Sixohsix 类 通过随机生成新推文或从数据库检索它们来模拟推文的
  • 如何使用 imaplib 获取“消息 ID”

    我尝试获取一个在操作期间不会更改的唯一 ID 我觉得UID不好 所以我认为 Message ID 是正确的 但我不知道如何获取它 我只知道 imap fetch uid XXXX 有人有解决方案吗 来自 IMAP 文档本身 IMAP4消息号
  • 填充两个函数之间的区域

    import matplotlib pyplot as plt import numpy as np def domain x np arange 0 10 0 001 f1 lambda x 2 x x 2 0 5 plt plot x
  • 如何计算numpy数组中元素的频率?

    我有一个 3 D numpy 数组 其中包含重复的元素 counterTraj shape 13530 1 1 例如 counterTraj 包含这样的元素 我只显示了几个元素 array 136 129 130 103 102 101 我
  • 为什么Python的curses中escape键有延迟?

    In the Python curses module I have observed that there is a roughly 1 second delay between pressing the esc key and getc
  • Pandas 数据帧到 numpy 数组 [重复]

    这个问题在这里已经有答案了 我对 Python 很陌生 经验也很少 我已经设法通过复制 粘贴和替换我拥有的数据来使一些代码正常工作 但是我一直在寻找如何从数据框中选择数据 但无法理解这些示例并替换我自己的数据 总体目标 如果有人真的可以帮助
  • 切片 Dataframe 时出现 KeyError

    我的代码如下所示 d pd read csv Collector Output csv df pd DataFrame data d dfa df copy dfa dfa rename columns OBJECTID Object ID
  • 将 matplotlib 颜色图集中在特定值上

    我正在使用 matplotlib 颜色图 seismic 绘制绘图 并且希望白色以 0 为中心 当我在不进行任何更改的情况下运行脚本时 白色从 0 下降到 10 我尝试设置 vmin 50 vmax 50 但在这种情况下我完全失去了白色 关
  • 如何使用列表作为pandas数据框中的值?

    我有一个数据框 需要列的子集包含具有多个值的条目 下面是一个带有 运行时 列的数据框 其中包含程序在各种条件下的运行时 df condition a runtimes 1 1 5 2 condition b runtimes 0 5 0 7
  • 无法在 osx-arm64 上安装 Python 3.7

    我正在尝试使用 Conda 创建一个带有 Python 3 7 的新环境 例如 conda create n qnn python 3 7 我收到以下错误 Collecting package metadata current repoda
  • python Soap zeep模块获取结果

    我从 SOAP API 得到如下结果 client zeep Client wsdl self wsdl transport transport auth header lb E authenticate self login res cl
  • 使用 NumPy 将非均匀数据从文件读取到数组中

    假设我有一个如下所示的文本文件 33 346 1223 10 23 11 23 12 23 13 23 14 23 15 23 16 24 10 24 11 24 12 24 13 24 14 24 15 24 16 25 14 25 15
  • 默认情况下,Keras 自定义层参数是不可训练的吗?

    我在 Keras 中构建了一个简单的自定义层 并惊讶地发现参数默认情况下未设置为可训练 我可以通过显式设置可训练属性来使其工作 我无法通过查看文档或代码来解释为什么会这样 这是应该的样子还是我做错了什么导致默认情况下参数不可训练 代码 im
  • 具有自定义值的 Django 管理外键下拉列表

    我有 3 个 Django 模型 class Test models Model pass class Page models Model test models ForeignKey Test class Question model M
  • 如何读取Python字节码?

    我很难理解 Python 的字节码及其dis module import dis def func x 1 dis dis func 上述代码在解释器中输入时会产生以下输出 0 LOAD CONST 1 1 3 STORE FAST 0 x
  • 从 Twitter API 2.0 获取 user.fields 时出现问题

    我想从 Twitter API 2 0 端点加载推文 并尝试获取标准字段 作者 文本 和一些扩展字段 尤其是 用户 字段 端点和参数的定义工作没有错误 在生成的 json 中 我只找到标准字段 但没有找到所需的 user fields 用户
  • 迭代 pandas 数据框的最快方法?

    如何运行数据框并仅返回满足特定条件的行 必须在之前的行和列上测试此条件 例如 1 2 3 4 1 1 1999 4 2 4 5 1 2 1999 5 2 3 3 1 3 1999 5 2 3 8 1 4 1999 6 4 2 6 1 5 1

随机推荐

  • 异或 Java 神经网络

    尝试使用 Java 中的 XOR 神经网络 但网络总是预测其训练的最终输出 这是我的代码 for int i 0 i lt 4 i Forward pass diff 1 while diff gt 0 01 SumError 0 Y1 I
  • 比较 MySQL 和 Java 时间

    我在 MySQL 中有一个日期时间字段 我通过调用 result getString date 访问它 现在我想检查天气 Java 中的当前日期和时间已经超过 MySQL 时间或早于 MySQL 时间来检查天气结果是否激活 MySQL 中的
  • 如何将短数组转换为字节数组

    我已经发现将短数组转换为字节数组 https stackoverflow com questions 2188660 convert short to byte in java and 字节数组转短数组 https stackoverflo
  • 如何以自定义方式在我的 Zend Framework 应用程序中实现 jquery?

    如何以自定义方式在我的 Zend Framework 应用程序中实现 jquery 附加 jquery jsok 附加脚本ok 将 POST 数据发送到控制器ok 处理发布的数据ok 发送 AjaxContext 响应给客户端now ok
  • C++03中如何在没有临时变量的情况下将数据立即填充到容器中

    假设我有一个Container template
  • 如何列出oracle中特定存储过程中使用的所有表

    我需要获取 Oracle 中特定存储过程中使用的所有表的列表 如何使用查询获取该列表 Dynamic SQLs 被跳过 因为它们没有在SEMANTIC编译期间检查 select proc syn referenced owner proc
  • 在 Powershell 中替换字符串中变量的成员

    我在 PowerShell 脚本中有以下字符串表达式 select count cnt from schema table where col column name is null 架构和表分别解析为 schema 和 table 的值
  • 使用非默认构造函数初始化成员类

    我正在尝试制作一个具有 SimpleWindow 类的 gui 其中包含 textPanel 类 class textPanel private std string text m public textPanel std string s
  • 由于 CMake 缺少 OpenSSL,无法构建 libwebsockets 库

    我正在尝试建立libwebsockets https libwebsockets org 在 Windows 10 上使用 CMake 和 MinGW 该库需要 OpenSSL 环境变量 OPENSSL CONF C Program Fil
  • 如何将外部字体加载到 HTML 文档中?

    如何将外部字体文件加载到 HTML 文档中 例子 使用 HTML CSS 和 或 JAVASCRIPT 将同一目录中的 TTF 文件中的文本 blah blah blah blah blah blah blah 设为自定义字体 看看这个分开
  • GCM XMPP 套接字在发送通知时始终获取 EPIPE 并断开连接

    我们有一个 xmpp 连接服务器 它将套接字连接到 GCM XMPP 端点并开始发送通知 我们注意到的一件事是发送半大通知 例如少至 1000 个设备 时 套接字会突然断开连接收到以下错误消息 Client disconnected soc
  • 如何在 M1 mac 上使用 C++ 运行 mediapipe

    环境 Macbook Air M1 2020 大苏尔 11 3 1 我想做什么 我想成功运行下面的 mediapipe c hello world https google github io mediapipe getting start
  • 使用密码将git项目推送到本地目录

    我目前正在将我的项目推送到 Dropbox 可以访问的本地文件夹 这就是我的备份和安全策略 我想知道是否可以添加另一层安全保护 这样如果有人获取了我的 Dropbox 文件夹 他们就必须输入密码才能提取该项目 当我添加新的遥控器时指定密码就
  • Fortran 90 或 2003 中的访问运算符“[ ]、( )、{ }”重载

    我可以在 FORTRAN 2003 中重载派生数据类型的条目访问运算符 或 吗 在下面的示例中 我想为派生数据类型 custom 定义访问方案 type custom integer dimension allocatable a end
  • php 提供下载后刷新[重复]

    这个问题在这里已经有答案了 第 1 页链接到第 2 页 第 2 页使用以下代码提供下载 header Content disposition attachment filename filename header Content type
  • Android 片段重叠

    我有一个包含两个片段的活动 一个用于显示列表 一个用于显示单击项目的详细信息 启动应用程序时 详细信息部分是静态的 一旦我单击某个项目 它就应该被替换 问题是旧片段没有被替换 所以两个视图都在彼此之上 我的活动布局是
  • 创建类路径资源中定义的名为“entityManagerFactory”的 bean 时出错

    我对 spring 和 spring boot 应用程序很陌生 创建类路径资源中定义的名称为 entityManagerFactory 的 bean 时出错 它说无法构建 EntityManagerFactory 控制台中显示错误 org
  • 定位 JavaScript 中最接近的类

    我刚刚学习 javascript 并遇到了问题 我试图定位最接近的类并更改值 但我只是不断收到 Cannot read property innerText of null at HTMLUListElement 这是不可能的还是我应该研究
  • Visual Studio 2005 搜索内存

    我认为这不存在 但无论如何我都会把它扔掉 调试时是否可以在内存中搜索值 例如 如果我在内存中缓存了一个字符串 uniqueString 但我不知道它存储在哪个变量下 我可以搜索它吗 例如 找出哪些变量的值是 uniqueString 这是针
  • RGB 到 YCbCr 转换问题

    我需要将 RGB 图像转换为 YCbCr 颜色空间 但有一些颜色偏移问题 我使用了所有公式并得到了相同的结果 python 中的公式 cbcr 0 int 0 299 rgb 0 0 587 rgb 1 0 114 rgb 2 Y cbcr