27 #ifndef LBANN_UTILS_OPENCV_HPP_INCLUDED 28 #define LBANN_UTILS_OPENCV_HPP_INCLUDED 32 #include <opencv2/core.hpp> 46 const std::vector<size_t>& dims)
50 const auto& unused = data.template get<uint8_t>();
53 catch (
const std::bad_any_cast&) {
56 if (dims.size() != 3 || (dims[0] != 1 && dims[0] != 3)) {
72 const std::vector<size_t>& dims)
76 const auto& unused = data.template get<uint8_t>();
79 catch (
const std::bad_any_cast&) {
82 if (dims.size() != 3 || (dims[0] != 1 && dims[0] != 3)) {
94 const std::vector<size_t>& dims)
97 auto& mat = data.template get<uint8_t>();
100 dims[0] == 1 ? CV_8UC1 : CV_8UC3,
111 const std::vector<size_t>& dims)
113 if (dims.size() != 3 || (dims[0] != 1 && dims[0] != 3)) {
118 dims[0] == 1 ? CV_8UC1 : CV_8UC3,
125 #endif // LBANN_UTILS_OPENCV_HPP_INCLUDED bool check_is_image(const utils::type_erased_matrix &data, const std::vector< size_t > &dims)
T & data(const cnpy::NpyArray &na, const std::vector< size_t > indices)
void assert_is_image(const utils::type_erased_matrix &data, const std::vector< size_t > &dims)
A type-erased wrapper around an El::Matrix<T,Device::CPU>
El::Matrix< DataType, El::Device::CPU > Mat
cv::Mat get_opencv_mat(utils::type_erased_matrix &data, const std::vector< size_t > &dims)