3

我刚开始使用SS2优化图像处理,但是对于3通道24位彩色图像却一无所知。我的像素数据由 BGR BGR BGR ... ,unsigned char 8-bi 排列,所以如果我想用 SSE2/SSE3/SSE4 的指令 C/C++ fun 实现 Color2Gray,我该怎么办?我的像素数据需要对齐(4/8/16)吗?我读过文章:http ://supercomputingblog.com/windows/image-processing-with-sse/ 但它是 ARGB 4 通道 32 位颜色,每次准确处理 4 色像素数据。谢谢!

//Assume the original pixel:
      unsigned char* pDataColor=(unsigned char*)malloc(src.width*src.height*3);//3

  //init pDataColor every pix val
  // The dst pixel:
  unsigned char* pDataGray=(unsigned char*)malloc(src.width*src.height*1);//1 

//RGB->灰色:Y=0.212671*R + 0.715160*G + 0.072169*B

4

2 回答 2

8

我有关于24 位 RGB 像素去交错的幻灯片,其中解释了如何使用 SSE2 和 SSSE3 来实现。

于 2013-03-13T04:58:42.510 回答
2

以下是您的问题的一些答案:

于 2013-03-13T04:29:32.623 回答