OpenCV 를 사용하다보면 이미지를 저장하는 배열의 형태가 사람마다 각각 다를 경우를 겪으신 분들이 있을겁니다.
예를들어 다른 선구자들이 만들어 놓은 소스코드를 참고하고자 할때, CvMat, cv::Mat, IplImage, CvArr 등등 각각 다른 포멧을 사용하는것을 보신 분들이 있을텐데요,
저도 이러한 경우를 자주 겪어서 정리 겸, 정보 공유 겸, 오랫만에 포스팅 겸.. 해서 글을 적게 되었네요.
//OpenCV 이미지 변환
//Mat & CvMat & IplImage, CvArr convert function
IplImage to->
IplImage* -> cv::Mat
1. Mat Mat_img(IplImage_img);
2. Mat Mat_img = cvarrToMat(IplImage_img);
IplImage* -> CvMat
cvGetMat( IplImage_img, &CvMat_img);
cv::Mat to->
cv::Mat -> IplImage*
IplImage *IplImage_img = new IplImage(Mat_img);
cv::Mat -> CvMat
CvMat CvMat_img = Mat_img; // convert directly
CvMat to->
CvMat -> IplImage*
IplImage *IplImage_img = cvGetImage(CvMat_img);
CvMat -> cv::Mat
Mat Mat_img(CvMat_img);
Referenced:
http://docs.opencv.org/index.html
http://v_lovepooh_v.blog.me/20170546845
'[ Topics ] > OpenCV' 카테고리의 다른 글
OpenCV를 활용하여 FullHD웹캠영상 얻어오기 (6) | 2013.11.19 |
---|---|
cvReleaseCapture() 사용할때 주의사항! (2) | 2013.11.19 |
tbb.dll Error, 그리고 해결 (0) | 2012.09.19 |
cvCreateFileCapture returns null error and make CvvImage manally (DrawToHDC()) (0) | 2012.05.06 |
cvFindContours() 함수 (0) | 2012.02.13 |