denoise program sample
// g++ -o a.out hoge.cc -I/usr/local/include/opencv2 -I/usr/local/include/opencv -L/usr/local/lib -lopencv_highgui -lopencv_photo -lopencv_imgproc -lopencv_core
#include 
#include 
#include 


int main(int argc, char *argv[])
{
    cv::Mat src = cv::imread(argv[1], cv::IMREAD_COLOR);

    const int NoiseSigma = 15;

    cv::Mat nlMeansColored, adaptiveBilateral;

    // (5) Nonlocal means filter (Colored)
    {
      cv::fastNlMeansDenoisingColored(src, nlMeansColored);  
    }
/*
    // (6) Adaptive bilateral filter
    {
      cv::adaptiveBilateralFilter(src, adaptiveBilateral, cv::Size(7, 7), 5, 35);
    }
*/

//    cv::imshow("src", src);
//    cv::imshow("Non-local Means Filter (Colored)", nlMeansColored);
//    cv::imshow("Adaptive Bilateral Filter", adaptiveBilateral);
//    cv::waitKey();
cv::imwrite(argv[2], nlMeansColored);
    return 0;
}

実行手順例 cd /tmp for i in hoge-*.png; do echo $i /tmp/a.out hoge-*.png `basename hoge-*.png .png`-out.png done