프레임 그래버로 채워지는 동안 알파 채널을 사용하지 않고 프레임 그래버에서 RGBA (32 비트) 출력이 있다고 가정하면 RGB (24 비트) 로의 효과적인 변환 방법이 있습니까? ?이미지 변환 : RGBA에서 RGB
5 메가 픽셀 스트리밍 이미지를 처리 중이므로 속도도 중요합니다. 알파 채널의 데이터는 삭제 될 수 있습니다.
프레임 그래버로 채워지는 동안 알파 채널을 사용하지 않고 프레임 그래버에서 RGBA (32 비트) 출력이 있다고 가정하면 RGB (24 비트) 로의 효과적인 변환 방법이 있습니까? ?이미지 변환 : RGBA에서 RGB
5 메가 픽셀 스트리밍 이미지를 처리 중이므로 속도도 중요합니다. 알파 채널의 데이터는 삭제 될 수 있습니다.
데이터를 복사하고 사용되지 않은 알파 바이트는 건너 뜁니다.
속도가 중요한 경우 SSE 또는 MMX를 사용하고 기본 제공 비트 셔플 링 지침을 사용할 수 있습니다. 보통 보통 C 코드보다 약간 빠릅니다.
100 메가 픽셀에서 그렇게하지 않는 한 5 메가 픽셀은 많은 양의 데이터처럼 들리지 않습니다.
RGB 바이트를 복사하고 알파 채널 (1 바이트)을 버리기 만하면됩니다. 가능한 최적화는 하드웨어에 따라 다릅니다. 예를 들어 Intel은 IPP library에 특별한 색상 변환 기능을 가지고 있습니다.
그래, 그냥 알파 비트를 건너 뛰고 나머지는 복사하십시오. 하드웨어로 작업하고 있다면 내부 버퍼가있을 것이므로 사용하십시오. – aviraldg
정확히 * do * 의미합니까? 24 비트 RGB 구현은 32 비트를 사용하고 알파 채널을 무시하므로 변경할 필요가 없지만 알파 채널을 삭제하려는 경우에만 가능합니다. 소스 코드에서 사용하지 않을 경우 ** – aviraldg
저는 회사의 하드웨어 추상화 레이어를 작성하고 있습니다. 데이터 소비자는 24 비트 RGB 만 사용하고이를 수정하는 것이 우리가 원했던 마지막 작업입니다. 그래서 나는 다른 24bit rgb 버퍼를 만들고 그 결과를 그 안에 넣을 수있는 옵션이 남아 있습니다. – YeenFei
@yeenfai : 좋아요, 하드웨어마다 다를 수 있습니다 ... – aviraldg