2012-03-18 4 views
1

저는 최근에 Emgu CV에서 OpenCVSharp로 프로젝트 라이브러리를 옮겼습니다. Emgu의 CV (PictureBox를 사용) 이미지를 뒤집기위한 코드였다OpenCVSharp에서 이미지를 가로로 뒤집기

Image<Bgr,Byte> f = _capture.QueryFrame().Flip(Emgu.CV.CvEnum.FLIP.HORIZONTAL) 
I가 OpenCVSharp에서 Flip(CvArr dst, FlipMode flip_mode) 방법을 사용하여 시도

하지만 헛된있다. dst에 대해 무엇을 사용해야할지 모르겠습니다.

답변

1

OpenCVSharp의 Flip 메서드는 here으로 선언됩니다.

EmguCV의 Flip 메서드는 4162 here에 선언되어 있습니다. dst를 null로 설정합니다 (정의에 따라 IntPtr.Zero).

원래 OpenCV 설명서는 here입니다. dst를 들어

중 하나 cvArr 당신이에 Flip를 호출하는 등의 cvArr (IplImage 여부 cvMat 같은 크기를 지정합니다.

을이가 이성을 상실 배열에 배치된다는 것을 의미합니다 당신이 dst과로 통과 cvArr 당신의 OpenCVSharp에서 소스 OpenCV의에서 배열 srcthis이 변경되지 않습니다. dst가 null

경우, 배열이 자리에 이성을 상실한다. 이것은 당신의 소스 배열로 변경된다는 것을 의미합니다 플립 된 배열이어야합니다.

이전과 동일한 동작을 원할 경우 myImage.Flip(null, FlipMode.Y);을 myimage가 주어진 IplImage 또는 cvMat 인 곳으로 안전하게 호출 할 수 있습니다.

이전 버전의 OpenCVSharp를 사용하는 경우 Flip은 호출하는 개체에서 가져 오는 대신 source 인수도 사용합니다. 예 :

+0

마지막 성명서에서 말한 내용이 저에게 충분하다고 생각합니다. 그러나 작동하지 않습니다. 내 코드는'img = img.Flip (null, FlipMode.Y);'이며, img는'IplImage'로 정의됩니다. – ykombinator

+0

작동하지 않는 기능은 무엇입니까? null을 전달하면 이미지가 제자리에서 수정되므로 할당이 필요하지 않습니다. OpenCVSharp의 어떤 버전입니까? – Appleman1234

+0

감사! 나는 어리 석다. 과제는 필요하지 않았습니다. :) – ykombinator