나는 avi 비디오에서 프레임을 얻었고 Matlab에 의해 컬러 이미지를 열고 R, G, B 세 가지 채널의 픽셀 값을 확인했습니다. (케이스 1)Matlab과 Opencv 사이의 이미지에서 픽셀 값의 차이
그 후, 나는 opencv2.4.3을 사용하여 프레임을 얻고 픽셀 값을 txt 파일로 저장합니다. 그런 다음 txt 파일을 확인하면 픽셀 값이 Matlab과 다르다는 것을 알 수 있습니다. opencv에서 열어 본 색상 이미지는 BGR이며 픽셀의 인덱스 위치는 반드시 1이어야합니다 (Matlab에서는 픽셀 위치 (x, y)). , 화소 위치 (x-1, y-1))). (케이스 2)
마지막으로 opencv를 사용하여 cvSaveImage 함수로 프레임을 저장 한 다음이 프레임을 Matlab에서 엽니 다. 이 경우 픽셀 값도 위의 두 가지 경우와 다릅니다.
왜 이런 일이 발생합니까?
감사합니다. 내 영어에 대해 미안해!
이 내 코드 http://www.scribd.com/doc/129263549/Code MATLAB과 OpenCV의 픽셀 값을 저장하는 다른 방법이
기본적으로 손실이 많은 jpeg 형식을 시도한 것 같습니다. 무손실 형식을 시도하십시오. 그것은 동일해야합니다. –
세 번째 사례는 중요하지 않습니다. 하지만 첫 번째와 두 번째 경우에는 avi 이미지에서 프레임을 가져 와서 데이터를 직접 처리합니다. opencv에서 프레임 체크 값을 얻기 위해 cvCaptureFromAVI와 cvQueryFrame을 사용합니다. Matlab에서는 VideoReader를 사용하여 프레임을 가져온 다음 값을 확인하기 위해 imshow를 읽습니다. 두 값이 다릅니다! –
등록이 필요한 일부 다운로드 사이트에 링크하는 대신 코드의 관련 부분을 질문에 포함하십시오. – Junuxx