2016-10-12 11 views
0

MNIST 이미지 데이터 세트와 같은 벡터 행렬을 만들려고합니다. 웹캠의 각 이미지가 캡처되어 벡터에 저장됩니다. 그러나 내가 만든 행렬은 MNIST 데이터 세트와 다릅니다. 그래서 내가 만든 행렬에 대해서는 주 코드가 작동하지 않습니다.매트릭스를 MNIST 이미지 데이터 세트와 어떻게 만들 수 있습니까?

픽셀 유형이 다르기 때문에 그럴 수도 있다고 생각했습니다. 내가 알아챈 것은 MNIST 데이터에서 단일 행렬을 조회했을 때 소수점이 15 점이었습니다. 그러나 나는 소수점 15 개를 설정할 수 없었다. 이미지를 CV_FC64로 설정할 때. 다음과 같은 오류 메시지가 표시됩니다. 는 "어설 이력서 :: cvtColor, 파일 C 실패 : \ 파일 경로를."

주요 코드는 MNIST 데이터 세트 작동 .. 내가 ..

하시기 바랍니다 조언을 할 모르겠어요. 나를.

while (1) 
    { 
     cap >> src; 

     src.convertTo(src, CV_64FC1); 
     src = src/256; 

     cvtColor(src, src_gray, CV_RGB2GRAY); 
     resize(src_gray, src_N, size); 
     testX.push_back(src_N); 
    } 

답변

0

cvtColor8U, 16U32F 비트 깊이를 허용한다. 그래서 convertTo(..., CV_64FC1) 후, 비트 깊이 64F과 주장은 실패 https://github.com/opencv/opencv/blob/84699e0e1860a3485e3dfc12230fbded955dba13/modules/imgproc/src/color.cpp#L8676을 : 당신이 정말로 64F 필요한 경우

 CV_Assert(depth == CV_8U || depth == CV_16U || depth == CV_32F); 

이 처음 cvtColor 이해가 다음 convertTo을 사용 64F에 비트 심도를 증가시킬 것입니다.

+0

고마워요! 그것은 해결책이었습니다! –