title: How to find out what type to use for OpenCV .at function in C++?
body: <p>Is there a simple reliable way to find out what equivalent type I should use for the .at function for a Mat of a given CV type?</p>
  
  <p>For example, how can I tell that the blanks should be filled with <code>ushort</code>, <code>float</code> and <code>Vec3b</code>?</p>
  
  <pre><code>Mat mat1(1, 2, CV_16UC1, 12345);
  std::cout &lt;&lt; mat1.at&lt;___&gt;(0, 1) &lt;&lt; "\n";
  Mat mat2(1, 2, CV_32FC1, 67.89);
  std::cout &lt;&lt; mat2.at&lt;___&gt;(0, 1) &lt;&lt; "\n";
  Mat mat3(1, 2, CV_8UC3, Scalar(65, 66, 67));
  std::cout &lt;&lt; mat3.at&lt;___&gt;(0, 1)[2] &lt;&lt; "\n";
  </code></pre>