이미지 로딩 시 OpenCV 색상 변환 불일치
Python OpenCV를 사용하여 컬러 이미지를 로드하고 표시하려고 하면 사용자에게 예상치 못한 색상 편차가 발생할 수 있습니다. 결과 이미지에서. 이 문제는 OpenCV와 Matplotlib 라이브러리 간의 기본 색상 순서 체계의 차이로 인해 발생합니다.
문제 설명
사용자가 제공한 코드에 색상 로드가 포함됩니다. OpenCV의 cv2.imread() 함수를 사용하여 이미지를 만들고 cv2.cvtColor()를 사용하여 회색조로 변환합니다. 이어서 Matplotlib의 plt.imshow() 함수를 사용하여 원본 이미지와 회색조 이미지를 모두 플롯합니다. IMREAD_COLOR 플래그를 사용했음에도 불구하고 플롯된 이미지의 색상이 왜곡됩니다.
기본 문제
기본적으로 OpenCV는 파란색-녹색-빨간색(BGR) 색상 순서를 사용합니다. Matplotlib은 RGB(Red-Green-Blue)를 사용합니다. OpenCV에서 로드한 이미지를 Matplotlib에 표시하면 채널이 반전되어 색상 불일치가 발생합니다.
해결책
이 문제를 해결하려면 사용자가 명시적으로 다음을 수행할 수 있습니다. cv2.cvtColor() 함수를 사용하여 OpenCV에서 로드된 BGR 이미지를 RGB로 변환합니다. 변환된 RGB 이미지는 Matplotlib에서 플로팅하는 데 사용할 수 있습니다.
<code class="python">import cv2 import matplotlib.pyplot as plt # Load image in BGR img = cv2.imread('lena_caption.png', cv2.IMREAD_COLOR) # Convert BGR to RGB RGB_img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) # Plot RGB image in Matplotlib plt.imshow(RGB_img) plt.title('Original Image in RGB') plt.xticks([]), plt.yticks([]) plt.show()</code>
위 내용은 다음은 제공된 텍스트의 내용에 맞는 몇 가지 질문 기반 제목입니다. * **Matplotlib로 플롯할 때 OpenCV 이미지가 다르게 보이는 이유는 무엇입니까?** * **왜 색상 불일치가 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!