>  기사  >  백엔드 개발  >  RBGA 이미지를 RGB 바이트 배열로 효율적으로 변환

RBGA 이미지를 RGB 바이트 배열로 효율적으로 변환

WBOY
WBOY앞으로
2024-02-05 22:51:121093검색

RBGA 이미지를 RGB 바이트 배열로 효율적으로 변환

질문 내용

RGB 형식의 24비트 비트맵이 포함된 바이트 배열에 대한 포인터가 필요한 C 라이브러리와 함수가 있습니다. 알파 채널은 중요하지 않으며 잘릴 수 있습니다. 나는 다음과 같은 것을 시도했습니다:

으아악

하지만 nrgba도 픽셀당 4바이트로 구축된 것 같습니다. gocv를 사용하면 이 문제를 해결할 수 있지만 이렇게 간단한 작업에는 너무 과도한 것 같습니다. 간단하고 효율적인 방법으로 이를 수행할 수 있는 방법이 있습니까?


정답


표준 라이브러리에는 RGB 이미지 유형이 없지만 매우 쉽게 RGB 배열을 조립할 수 있습니다.

으아악

img.pix 데이터는 4바이트 rgba 값을 보유합니다. 위 코드는 모든 픽셀의 처음 3바이트 rgb 값을 복사합니다.

pix 数组中的行是连续的,因此可以通过每行仅调用 pixoffset 一次来改进上述代码,并且每个像素前进 4 个字节。另外,手动复制 3 个字节可能比调用 copy()로 인해 더 빨라졌습니다(중요한 경우 기준):

으아악

위 내용은 RBGA 이미지를 RGB 바이트 배열로 효율적으로 변환의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제