1

我正在尝试规范化 OpenCV 中的一个矩阵,我这样做是这样的:

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

我阅读了“规范化”功能的文档,但无法完全理解如何为“alpha”和“beta”赋值。所以从例子中:

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 回答