2016-10-12 8 views
0

私はベクトルマトリックスを作ろうとしています。これはMNIST画像データセットと同じです。 ウェブカメラからの各画像がキャプチャされ、ベクトルに格納されます。しかし、作成した行列はMNISTデータセットとは異なります。したがって、メインコードは作成した行列に対しては機能しません。MNIST画像データセットと同じようにマトリックスを作ることができます。

ピクセルタイプが異なるため、私はおそらくそのことを考えていました。 私が気づいたのは、MNISTデータから単一の行列を調べると、小数点15点でした。しかし私は小数点以下15桁を設定できませんでした。イメージをCV_FC64に設定したとき。次のエラーメッセージが表示されます。 は、「アサーションは、CV :: 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

cvtColorのみ8U16U32Fビット深度を可能にします。だから、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

ありがとうございました!それが解決策でした! –

関連する問題