2013-07-21 2 views
1

아마도 이것은 매우 간단하지만 어쨌든 나는 틀린 것을 알 수 없습니다. 사각형 행렬로 크기를 조정할 단일 열 cv :: Mat가 있습니다. 이 코드입니다 :OpenCV 크기 변경 값 변경

int matSize = 5; 
Mat src(matSize, 1, CV_8UC1); 
//Fill src with data...(all ones but one zero) 
cout << "src:\n" << src << endl; 

Mat output(matSize, matSize, CV_8UC1); 
resize(src.t(), output, output.size()); 
cout << "output:\n"output << endl; 

출력은 다음과 같습니다 : 그래서 제로가 분실

src: 
[1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 
output: 
[1, 1, 1, 1, 1; 
1, 1, 1, 1, 1; 
1, 1, 1, 1, 1; 
1, 1, 1, 1, 1; 
1, 1, 1, 1, 1] 

! 나는 이것을 더 큰 맥락에서 필요로하지만, 작은 규모로 먼저 일하기를 원한다. 도와주세요!

+1

오 죄송합니다. 그것은 모양을 바꾸지 않았고 크기를 조정하지 않았습니다! 보간으로 인해 제로가 손실되었습니다! – Teris

+1

질문을 삭제하거나 답변을 추가하십시오 (현재 "의견"섹션에 답변 됨). – JonesV

+0

오, 아 ~ 잊어 버렸어. – Teris

답변

0

나는 그 자체로 해결했다. 올바른 기능은 "resize"대신에 "reshape"로, 행렬을 "스케일"하는데 사용되는데, 헤더를 변경하여 데이터에 대한 다른 접근을 얻는다.