OpenCV:规范化太慢还是我做错了?

时间:2012-10-08 17:31:31

标签: c++ opencv matrix normalization

我试图在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

我阅读了“normalize”函数的文档,但无法完全理解如何为“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() );

但它在这里崩溃了,我并不感到惊讶。我认为矩阵尺寸太大了吧?或者我在这里做错了规范化?

有没有办法加快规范化?

1 个答案:

答案 0 :(得分:0)

如果您通过编写自己的代码来规范化矩阵,那么它总是很有用。使用直方图来标准化矩阵值有助于您自定义功能。它甚至比OpenCV提供的常规noramlisation功能更快。