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