2011-06-27 24 views
2

私はフィルタでイメージを畳み込み、opencvのfilter2D関数を使ってCV_64F型の行列に格納しようとしています。宛先の行列の型が変更され、私はassignTo 0r ConvertTo関数の助けを借りてCV_64Fに戻そうとしますが、私はそうすることができません。助けてもらえますか?これは、私はOpenCVの2.3と、次のようなコードを実行しようと、それはすなわちbのタイプはfilter2Dを呼び出した後CV_64Fだった働いた私のコードopencvの行列型変換

     cv::Mat op = cv::Mat(25,25,a.type(),Arr1); // a is the image matrix and op is the filter. 
     cv::Point anchor = Point(-1,-1); 
     cv::Mat b = cv::Mat(a.size(),CV_64F); 
     cv::Mat l = cv::Mat(a.size(),CV_64F); 
     cv::Mat m = cv::Mat(a.size(),CV_64F); 

     //prnmt(a); 

     filter2D(a,b,-1,op,anchor,0,BORDER_DEFAULT); 
     b.assignTo(l,CV_64F); 

答えて

1

の行です:

cv::Mat a(100, 100, CV_64F); 
cv::Mat op(25, 25, CV_64F); 
cv::Mat b(a.size(), CV_64F); 
cv::Mat l(a.size(), CV_64F); 
cv::Mat m(a.size(), CV_64F); 
cv::Point anchor(-1, -1); 

filter2D(a, b, -1, op, anchor, 0, cv::BORDER_DEFAULT); 

あなたはaてください。あなたのコードでCV_64Fですか?

bはどのタイプに変換されますかfilter2D

使用しているOpenCVのバージョンはどれですか?