npr.cpp 888 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. /*
  2. * OpenCV Non-Photorealistic Rendering C++ Example
  3. *
  4. * Copyright 2015 by Satya Mallick <spmallick@gmail.com>
  5. *
  6. */
  7. #include "opencv2/opencv.hpp"
  8. using namespace cv;
  9. using namespace std;
  10. int main(int argc, char* argv[])
  11. {
  12. // Read image
  13. Mat im = imread("cow.jpg");
  14. Mat imout, imout_gray;
  15. // Edge preserving filter with two different flags.
  16. edgePreservingFilter(im, imout, RECURS_FILTER);
  17. imwrite("edge-preserving-recursive-filter.jpg", imout);
  18. edgePreservingFilter(im, imout, NORMCONV_FILTER);
  19. imwrite("edge-preserving-normalized-convolution-filter.jpg", imout);
  20. // Detail enhance filter
  21. detailEnhance(im,imout);
  22. imwrite("detail-enhance.jpg", imout);
  23. // Pencil sketch filter
  24. pencilSketch(im, imout_gray, imout);
  25. imwrite("pencil-sketch.jpg", imout_gray);
  26. // Stylization filter
  27. stylization(im,imout);
  28. imwrite("stylization.jpg", imout);
  29. }