728x90
(문)
각각 두가지에 대하여 캠으로 받아
IplImage *frame = 0;
Mat frame;
을 캠으로 받아서 depth를 출력해봤더니
IplImage 에서는 depth값이 8이 나오고
Mat 에서는 depth값이 0이 나오더라구요
각각의 의미에 대해 알고 싶습니다.
가령 Mat img(480,720,CV_32F) 인 경우에는 depth값이 5이고,
IplImage* img; img = cvCreateImage(cvSize(480,720),IPL_DEPTH_32F,3); 인 경우는 32로 나오고
Mat에서의 depth 5값은 IplImage에서의 depth 32값과 같은걸로 알고 있는데 아닌지요
왜 캠으로 frame을 받을때는 각각의 depth값이 다르게 나오는지도 너무 궁금하네요..
(답)
두 구조체/클래스는 서로 다른 값 정의를 가지고 있습니다.
뜻은 같지만 그 뜻을 표현하는 방식이 다른거죠
예를 들면 우리가 먹는 사과를 우리나라는 "사과"라고 발음하고 표기하지만
영미권에서는 "애플"이라 발음하고 "apple"라고 쓰는 것과 비슷합니다.
8U 즉, 한 픽셀에 8비트의 언사인드 값을 가지는 타입을 예로 들어봅시다
iplimage의 depth는 IPL_DEPTH_8U 를 리턴합니다.(types_c.h)
디파인을 따라가보면 8입니다.
이 IPL_DEPTH 계열 디파인들은 비트수를 그대로 표현해 주고 signed인 경우에 0x80000000 을 OR시켜 알려줍니다.
그런데 Mat의 depth()는 CV_8U 를 리턴합니다.(cvdef.h)
이 값은 0입니다.
이 CV_계열 디파인들은 단순열거 되어 있습니다.
즉, 같은 8비트 계열인 CV_8S 는 1입니다.
두 구조체/클래스의 스코프가 다르기 때문에 나오는 문제죠
아마도 bpp를 계산하고 싶으신 듯 한데,
mat은 elemSize()라는 함수를 가지고 있습니다.
한 픽셀을 몇 "바이트"로 표현하는지 리턴해 주는 함수입니다.
따라서 여기에 8을 곱하면 bpp의 계산이 가능합니다
각각 두가지에 대하여 캠으로 받아
IplImage *frame = 0;
Mat frame;
을 캠으로 받아서 depth를 출력해봤더니
IplImage 에서는 depth값이 8이 나오고
Mat 에서는 depth값이 0이 나오더라구요
각각의 의미에 대해 알고 싶습니다.
가령 Mat img(480,720,CV_32F) 인 경우에는 depth값이 5이고,
IplImage* img; img = cvCreateImage(cvSize(480,720),IPL_DEPTH_32F,3); 인 경우는 32로 나오고
Mat에서의 depth 5값은 IplImage에서의 depth 32값과 같은걸로 알고 있는데 아닌지요
왜 캠으로 frame을 받을때는 각각의 depth값이 다르게 나오는지도 너무 궁금하네요..
(답)
두 구조체/클래스는 서로 다른 값 정의를 가지고 있습니다.
뜻은 같지만 그 뜻을 표현하는 방식이 다른거죠
예를 들면 우리가 먹는 사과를 우리나라는 "사과"라고 발음하고 표기하지만
영미권에서는 "애플"이라 발음하고 "apple"라고 쓰는 것과 비슷합니다.
8U 즉, 한 픽셀에 8비트의 언사인드 값을 가지는 타입을 예로 들어봅시다
iplimage의 depth는 IPL_DEPTH_8U 를 리턴합니다.(types_c.h)
디파인을 따라가보면 8입니다.
이 IPL_DEPTH 계열 디파인들은 비트수를 그대로 표현해 주고 signed인 경우에 0x80000000 을 OR시켜 알려줍니다.
그런데 Mat의 depth()는 CV_8U 를 리턴합니다.(cvdef.h)
이 값은 0입니다.
이 CV_계열 디파인들은 단순열거 되어 있습니다.
즉, 같은 8비트 계열인 CV_8S 는 1입니다.
두 구조체/클래스의 스코프가 다르기 때문에 나오는 문제죠
아마도 bpp를 계산하고 싶으신 듯 한데,
mat은 elemSize()라는 함수를 가지고 있습니다.
한 픽셀을 몇 "바이트"로 표현하는지 리턴해 주는 함수입니다.
따라서 여기에 8을 곱하면 bpp의 계산이 가능합니다
728x90
'Computer Vision > OpenCV' 카테고리의 다른 글
(C++) OpenCV 환경 구성하기 (Visual Studio 2017) (5) | 2018.02.27 |
---|---|
OpenCV 강좌 (OpenCVSharp 이용) - 링크 (0) | 2018.02.20 |