白平衡算法我想從維基 http://en.wikipedia.org/wiki/Color_balance實現從維基
實現一些白平衡算法它們只是一些簡單的矩陣操作 待辦事項的OpenCV提供任何功能做一些乘法 像一組像素以下?
例如,2×2,3路墊A =
0 0 0 1 1 1
2 2 2 3 3 3
3×3,1個通道墊B =
1 0 0
0 2 0
0 0 3
甲X B = C和C =
0 0 0 1 2 3
2 4 6 3 6 9
我寫了一些泛型函數來處理像素變換 但我更喜歡在openCV的函數中構建,如果它存在因爲OPENCV的 功能可能會做一些優化
template<typename T, typename UnaryFunctor>
void transform_channel(cv::Mat &src, int channel, UnaryFunctor functor)
{
int const channels = src.channels();
if(channels == 1 && src.isContinuous()){
return transform_continuous_channel<T>(src, functor);
}
for(int row = 0; row != src.rows; ++row)
{
auto dst_ptr = get_pointer<T>(src, row, channel);
for(int col = 0; col != src.cols; ++col){
*dst_ptr = functor(*dst_ptr);
dst_ptr += channels;
}
}
}
這是非常傳統的矩陣算術。 – Beta
你是對的,這是一個非常規的矩陣算法,看起來像我應該自己優化算法,謝謝 – StereoMatching