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

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

WBOY
풀어 주다: 2024-02-05 22:51:12
앞으로
1108명이 탐색했습니다.

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으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿