使用加速缩放 Ycbcr (420f) 时的伪像

2024-01-24

我找不到任何有关如何调整 Ycbcr biplanar 大小的文档或示例,根据 Apple 的说法,Ycbcr biplanar 应该是您应该在 iOS 上使用的主要格式。我尝试像这样调整两个飞机的大小:

    // resize luma
    vImage_Buffer originalYBuffer = { CVPixelBufferGetBaseAddressOfPlane(pixelBuffer, 0), CVPixelBufferGetHeightOfPlane(pixelBuffer, 0), CVPixelBufferGetWidthOfPlane(pixelBuffer, 0), CVPixelBufferGetBytesPerRowOfPlane(pixelBuffer, 0) };
    vImage_Buffer resizedYBuffer;
    vImageBuffer_Init(&resizedYBuffer, IMAGE_HEIGHT, IMAGE_WIDTH, 8 * sizeof(Pixel_8), kvImageNoFlags);
    error = vImageScale_Planar8(&originalYBuffer, &resizedYBuffer, NULL, kvImageNoFlags);
    assert(!error);
    cv::Mat grey(IMAGE_HEIGHT, IMAGE_WIDTH, CV_8UC1, resizedYBuffer.data);

    // resize chroma
    vImage_Buffer originalUVBuffer = { CVPixelBufferGetBaseAddressOfPlane(pixelBuffer, 1), CVPixelBufferGetHeightOfPlane(pixelBuffer, 1), CVPixelBufferGetWidthOfPlane(pixelBuffer, 1), CVPixelBufferGetBytesPerRowOfPlane(pixelBuffer, 1) };
    vImage_Buffer resizedUVBuffer;
    vImageBuffer_Init(&resizedUVBuffer, IMAGE_HEIGHT / 2, IMAGE_WIDTH / 2, 8 * sizeof(Pixel_16U), kvImageNoFlags);
    error = vImageScale_Planar8(&originalUVBuffer, &resizedUVBuffer, NULL, kvImageNoFlags);
    assert(!error);

但颜色完全无聊。亮度通道本身工作,所以这是色度的问题。这种格式应该使用 2 个字节来表示色度,但并不完全确定。如果我使用vImageScale_Planar8我的屏幕一半是绿色的,否则如果我使用vImageScale_Planar16U我的图像上到处都是蓝色/黄色噪点。


您可以使用vImageScale_CbCr8对于 UV 缓冲区,但它仅适用于 iOS 10+ :

// resize luma
vImage_Buffer originalYBuffer = { CVPixelBufferGetBaseAddressOfPlane(pixelBuffer, 0), CVPixelBufferGetHeightOfPlane(pixelBuffer, 0), CVPixelBufferGetWidthOfPlane(pixelBuffer, 0), CVPixelBufferGetBytesPerRowOfPlane(pixelBuffer, 0) };
vImage_Buffer resizedYBuffer;
vImageBuffer_Init(&resizedYBuffer, IMAGE_HEIGHT, IMAGE_WIDTH, 8 * sizeof(Pixel_8), kvImageNoFlags);
error = vImageScale_Planar(&originalYBuffer, &resizedYBuffer, NULL, kvImageNoFlags);
assert(!error);
cv::Mat grey(IMAGE_HEIGHT, IMAGE_WIDTH, CV_8UC1, resizedYBuffer.data);

// resize chroma
vImage_Buffer originalUVBuffer = { CVPixelBufferGetBaseAddressOfPlane(pixelBuffer, 1), CVPixelBufferGetHeightOfPlane(pixelBuffer, 1), CVPixelBufferGetWidthOfPlane(pixelBuffer, 1), CVPixelBufferGetBytesPerRowOfPlane(pixelBuffer, 1) };
vImage_Buffer resizedUVBuffer;
vImageBuffer_Init(&resizedUVBuffer, IMAGE_HEIGHT / 2, IMAGE_WIDTH / 2, 8 * sizeof(Pixel_16U), kvImageNoFlags);
error = vImageScale_CbCr8(&originalUVBuffer, &resizedUVBuffer, NULL, kvImageNoFlags);
assert(!error);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用加速缩放 Ycbcr (420f) 时的伪像 的相关文章

随机推荐

  • Django+Heroku:compilemessages 可以工作,但我的翻译文件不行。

    我发现自己处于一个非常奇怪的境地 我没有我的 mo提交到我的存储库中的文件 我计划在部署后生成它们 我安装了 gettext buildpack 位于https github com piotras heroku buildpack get
  • Git 使用绝对路径忽略目录

    gitignore 中可以使用绝对目录路径吗 我将以下内容放入 var www bidjunction gitignore 中 但是 html 仍然被跟踪 为什么还被追踪 var www bidjunction html 编辑 有点偏离主题
  • 如何在 ASP.NET MVC 中维护 Html.CheckBox() 的状态

    我的 MVC 应用程序中有两个复选框 它们都是布尔 位字段 通知电子邮件 和 通知短信 每当我回发到服务器并发生错误时 尽管我设置了尝试的值 但复选框的状态已消失 为什么不做这么简单的事情呢
  • 重定向回他们登录前查看的实际页面

    如果我的用户被重定向到登录页面 如何使他们在登录后重定向到原始目标页面 他们第一次单击的页面 将最初请求的 URL 作为重定向到登录页面的请求参数传递 String from request getRequestURI if request
  • 记录器日志自动清除

    我创建了这个脚本来通过电子邮件发送日志 类似于上的示例https developers google com apps script reference base logger https developers google com app
  • 什么是 python runpy 模块? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想知道这样做的目的runpyPython 中的模块以及它如何帮助 Python 用户社区的日常开发 有人可以解释一下它的必要性 用法
  • 如何在 PySpark ML 中创建自定义 SQLTransformer 来透视数据

    我有一个类似于以下结构的数据框 Prepare training data training spark createDataFrame 990011 1001 01 Salary 1000 0 0 990011 1002 02 POS P
  • 显示 Rails Carrierwave URL,而不暴露整个路径

    我正在制作一个付费下载的网络应用程序 并且我遵循了 Carrierwave 的指南保护上传 https github com carrierwaveuploader carrierwave wiki how to secure upload
  • 如何更新进度条的进度以显示复制文件的进度

    我想要一个进度条来指示正在复制的文件如何通过组合以下代码行来更新进度条以显示复制文件的进度 这是我的进度条代码 FXML private void startbtnaction ActionEvent event startbtn setD
  • ASP.NET 5 beta 7 的共享类库参考

    在我们当前的环境中 我们有一些共享的公共库 C 类库 NET 4 5 1 csproj 项目 它们被 ASP NET 和控制台应用程序引用 我们正在考虑将 1 个 Web 项目升级到 ASP NET 5 以开始测试即将到来的一些新更改 由于
  • Flexbox 在 Safari 中添加 1px 左边距

    我在 Safari 向 Flexbox 行中第一个元素的左侧添加 1px 边距 间隙时遇到问题 我在下面附上了该问题的图片 弹性框 CSS 是 equal height display webkit box OLD iOS 6 Safari
  • 如何使用 apache poi 从公式单元格读取单元格值

    我正在尝试从 Excel 文件中读取所有数据 该文件也有一些公式单元格 但我不知道哪个单元格是公式单元格 无论单元格的类型如何 我如何读取单元格中的所有值 我的代码看起来像这样 FormulaEvaluator evaluator wb g
  • 如何命名 es6 类(针对 React 组件)

    这是 ES6 问题的一部分 React 问题的一部分 我正在尝试使用命名空间组件 https facebook github io react docs jsx in depth html namespaced components在 Re
  • Android 搜索图标未显示在操作栏上

    当我在 Android 上学习本教程时遇到了一个问题 正如主题中提到的 我的搜索图标没有显示在操作栏上 我在那一步遇到了问题 http developer android com training basics actionbar addi
  • 如果向量包含值,C++ 代码将不会运行

    我正在使用 VS Code 和 Vim Windows 操作系统 MSYS2 MingW GCC G V 11 2 0 编译器 如果我的代码包含向量 则运行代码时不会有输出 编译或运行代码时没有收到错误 警告 include
  • Python 中的过滤对象数组

    我正在使用 Python 来挖掘一个相当大的项目并挖掘有关它的信息 我能够创建一个数组ProjectFiles 但是我很难弄清楚如何过滤它 class ProjectFile def init self filename str numbe
  • github页面中的图像和相关链接

    我创建了一个用户的 github 页面 现在 假设我在存储库的根目录中有一个图像文件 位置为Images Emoticons Cool png 我尝试将该图像插入到我的主图像中Index html file 我写的 img src 线上和线
  • 在 GitHub 中,有没有办法查看所有分支上的所有(最近)提交?

    在 GitHub 中 有没有办法查看所有分支上的所有最近提交 最好按照时间倒序排列 也许我是个窥探者 但我希望能够看到我的开发人员最近做了什么 至少在对 github 存储库的提交方面 到目前为止 我见过的最接近的是网络图 这当然非常有用
  • 如何让unix脚本每15秒运行一次?

    我见过一些解决方案 包括监视和简单地在后台运行循环 和休眠 脚本 但没有一个是理想的 我有一个脚本需要每 15 秒运行一次 并且由于 cron 不支持秒 所以我不得不解决其他问题 在 UNIX 上每 15 秒运行一次脚本最稳健 最有效的方法
  • 使用加速缩放 Ycbcr (420f) 时的伪像

    我找不到任何有关如何调整 Ycbcr biplanar 大小的文档或示例 根据 Apple 的说法 Ycbcr biplanar 应该是您应该在 iOS 上使用的主要格式 我尝试像这样调整两个飞机的大小 resize luma vImage