OpenCV-android-sdk와 함께 제공되는 샘플 앱을 시도하고 있지만 미리보기의 색상이 크게 떨어진 것 같습니다. 다음은 에뮬레이터 (API 25)에있는 카메라 앱의 원본 미리보기입니다.
그러나 tutorial-1-camerpreview , color-blob-detection 및 15-puzzle 과 같은 샘플 앱 은 강한 파란색 색조를 제공합니다.
왜 이것이 사실인지 아는 사람이 있습니까?
OpenCV는 기본적으로 RGB 대신 BGR 형식을 사용합니다. 작은 Matlab 스크립트는 단순히 RGB와 BGR이 전환되었음을 보여줍니다. 컵에서 볼 수 있습니다. 원본에서는 빨간색이지만 "잘못된"이미지에서는 파란색입니다.
내 이론을 입증하는 MATLAB 스크립트입니다.
rgb = imread('C:\Users\Kevin\Desktop\uA5Q1.png')
bgr = cat(3,squeeze(rgb(:,:,3)),squeeze(rgb(:,:,2)),squeeze(rgb(:,:,1)))
figure;
imshowpair(rgb,bgr,'Montage')
왼쪽은 op가 게시 한 이미지, 오른쪽은 순서 변경 후 bgr을 보여줍니다.
대부분의 경우 다음과 같은 기능이 있습니다.
public Mat onCameraFrame(CvCameraViewFrame inputFrame) {
return inputFrame.rgba();
}
이 기능을 변경하여 올바른 순서를 표시하도록하여 cvtColor
기능을 사용할 수 있습니다 . 다음과 같이 표시됩니다.
rgba = cvtColor(img,CV_RGBA2BGRA);
여기서 img는 입력 이미지입니다. 이름은 오해의 소지가있을 수 있지만 사용중인 경우 CV_BGRA2RGBA
또는 CV_RGBA2RGBA
두 경우 모두에서 첫 번째 및 최신 매트릭스 만 전환하므로 더 잘 작동하지 않습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다