代码之家  ›  专栏  ›  技术社区  ›  YeenFei

图像转换:rgba到rgb

  •  3
  • YeenFei  · 技术社区  · 16 年前

    假设我有来自帧抓取器的rgba(32位)输出,没有使用alpha通道(保留值,同时由帧抓取器填充),是否有任何有效的转换方法到rgb(24位)?

    我正在处理500万像素的流媒体图像,所以速度也很重要。 记住,alpha通道中的数据可以被丢弃。

    2 回复  |  直到 16 年前
        1
  •  2
  •   Nils Pipenbrinck    16 年前

    只需复制数据并跳过未使用的alpha字节。

    如果速度对您很重要,您可能需要使用SSE或MMX并使用内置的位转换指令。这通常比普通的C代码快一点。

    500万像素听上去不像那么多数据,除非你必须以100fps的速度去做。

        2
  •  3
  •   Kirill V. Lyadvinsky    16 年前

    只需复制RGB字节并丢弃alpha通道(1字节)。可能的优化将是特定于硬件的。例如,英特尔在 IPP library .