>  기사  >  백엔드 개발  >  OpenCV 컬러 이미지를 matplotlib에 로드할 때 잘못 표시되는 이유는 무엇입니까?

OpenCV 컬러 이미지를 matplotlib에 로드할 때 잘못 표시되는 이유는 무엇입니까?

DDD
DDD원래의
2024-10-25 03:35:29950검색

Why are my OpenCV color images displaying incorrectly when I load them in matplotlib?

로드 시 OpenCV가 컬러 이미지를 잘못 렌더링하는 이유는 무엇입니까?

Python OpenCV를 사용하여 컬러 이미지를 로드할 때 사용자는 결과가 다음과 같은 인스턴스를 접할 수 있습니다. 이미지가 잘못된 색상으로 표시됩니다. 이 문제는 OpenCV와 matplotlib에서 사용되는 서로 다른 색상 순서 규칙으로 인해 발생합니다.

색상 순서 차이 이해

OpenCV는 BGR(Blue-Green-Red)을 기본값으로 사용합니다. 이미지의 색상 순서는 matplotlib가 RGB(Red-Green-Blue)로 작동하는 동안입니다. 이러한 불일치로 인해 matplotlib에서 OpenCV에 의해 로드된 이미지를 표시할 때 색상 왜곡이 발생합니다.

해결 방법: BGR을 RGB로 변환

이 문제를 해결하려면 BGR에서 이미지를 명시적으로 변환합니다. 다음 코드 줄을 사용하여 RGB로 변환합니다.

RGB_img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

표시용 변환된 이미지 사용

이미지가 RGB로 변환되면 대신 플로팅에 사용할 수 있습니다. 원본 BGR 이미지:

plt.subplot(1,2,i+1),plt.imshow(RGB_img,'gray')

이 접근 방식을 따르면 matplotlib에서 사용하는 기존 RGB 순서에 맞춰 이미지가 정확한 색상으로 표시됩니다.

위 내용은 OpenCV 컬러 이미지를 matplotlib에 로드할 때 잘못 표시되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.