1

OpenCV で 1 つの行列を正規化しようとしています。次のようにしています。

cv::Mat matrix = cv::Mat::zeros ( 3, 480000, CV_8UC1 );
cv::Mat matrix_norm = cv::Mat::zeros ( 3, 480000, CV_8UC1 );
...  // give values to matrix

「正規化」関数のドキュメントを読みましたが、「アルファ」と「ベータ」の値を与える方法を完全には理解できませんでした。したがって、例から:

http://docs.opencv.org/doc/tutorials/features2d/trackingmotion/harris_detector/harris_detector.html

私はそれを次のようにしました:

cv::normalize ( matrix, matrix_norm, 0, 255, NORM_MINMAX, CV_8UC1, Mat() );

しかし、ここでクラッシュしましたが、これは驚くべきことではありません。マトリックスのサイズが大きすぎると思いますよね?それとも、ここで正規化を間違って行っていますか?

また、正規化を高速化する方法はありますか?

4

1 に答える 1

0

独自のコードを記述して行列を正規化すると、常に役立ちます。マトリックス値の正規化にヒストグラムを使用すると、関数のカスタマイズに役立ちます。OpenCV が提供する通常の正規化関数よりもさらに高速です。

于 2012-10-08T18:15:49.210 に答える