2013-09-27 8 views
3

CV_16UC1 타입의 cv :: Mat 이미지가 있고이를 CV_8UC1에서 필요로하므로 cv :: integral을 실행할 수 있습니다. 변환 중에 오버플로가 걱정되지 않습니다. 본질적으로 이미지를 unsigned short에서 unsigned char로 일괄 변환하려고합니다.cv :: mat type을 CV_16UC1에서 CV_8UC1로 변환하는 방법

나는 다른 곳에서 물었고 누군가 cvtColor을 제안했지만 어떤 변환 코드를 사용해야할지 모르겠다.

+0

http://docs.opencv.org/modules/core/doc/basic_structures.html#mat-convertto –

답변

8

Mat :: convertTo를 사용하는 것이 어떻습니까? Documentation

빠른 예 : (나는 시도하지 않은 이후로 당신이 생각 scaleFactor와 필요 있는지 확실하지 않습니다)

Your16Image.convertTo (outputImage, CV_8UC1, scaleFactor와)

+0

이것은 저에게 효과적 이었지만 이진수를 입력하려고 했으므로 CVS :: 임계 값도 필요했습니다. 이미지를 cv :: integral로 변환합니다. 비슷한 문제가있는 사람을위한 노트. cv :: threshold (m, 바이너리, 0, 1, CV_THRESH_BINARY); – escapecharacter

+0

스케일 팩터를 사용 했습니까? (아마 모든 단계를 게시 할 수 있습니까?). 고마워 – Tanasis

0

직접 설정 cv::convertScaleAbs을 사용할 수 있습니다 출력 행렬을 unsigned char로 설정하십시오.

관련 문제