imread_examples.cpp 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /**
  2. * OpenCV SimpleBlobDetector 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. string type2str(int type) {
  11. string r;
  12. uchar depth = type & CV_MAT_DEPTH_MASK;
  13. switch ( depth ) {
  14. case CV_8U: r = "8U"; break;
  15. case CV_8S: r = "8S"; break;
  16. case CV_16U: r = "16U"; break;
  17. case CV_16S: r = "16S"; break;
  18. case CV_32S: r = "32S"; break;
  19. case CV_32F: r = "32F"; break;
  20. case CV_64F: r = "64F"; break;
  21. default: r = "User"; break;
  22. }
  23. return r;
  24. }
  25. int main( int argc, char** argv )
  26. {
  27. // Read 8-bit grayscale image
  28. Mat im = imread("earth-16-bit-per-channel.png", IMREAD_GRAYSCALE);
  29. cout << "flags : IMREAD_GRAYSCALE" << endl;
  30. cout << "Number of Channels : " << im.channels() << ", depth : " << type2str(im.depth()) << endl << endl;
  31. // Read 8-bit color image
  32. im = imread("earth-16-bit-per-channel.png", IMREAD_COLOR);
  33. cout << "flags : IMREAD_COLOR" << endl;
  34. cout << "Number of Channels : " << im.channels() << ", depth : " << type2str(im.depth()) << endl << endl;
  35. // Read 16-bit color image
  36. im = imread("earth-16-bit-per-channel.png", IMREAD_ANYCOLOR | IMREAD_ANYDEPTH );
  37. cout << "flags : IMREAD_ANYCOLOR | IMREAD_ANYDEPTH" << endl;
  38. cout << "Number of Channels : " << im.channels() << ", depth : " << type2str(im.depth()) << endl << endl;
  39. // Read transparent PNG / TIFF image
  40. im = imread("earth-16-bit-per-channel.png", IMREAD_UNCHANGED);
  41. cout << "flags : IMREAD_UNCHANGED" << endl;
  42. cout << "Number of Channels : " << im.channels() << ", depth : " << type2str(im.depth()) << endl << endl;
  43. }