#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <iostream>
#include <numeric>
int main()
{
constexpr auto numHalfCols = NUM_COLS / 2;
for (
nc::uint32 row = 0; row < ncArray.numRows(); ++row)
{
auto begin = ncArray.begin(row);
std::iota(begin, begin + numHalfCols,
nc::uint8{0});
auto rbegin = ncArray.rbegin(row);
std::iota(rbegin, rbegin + numHalfCols,
nc::uint8{0});
}
auto cvArray = cv::Mat(ncArray.numRows(), ncArray.numCols(), CV_8SC1, ncArray.data());
cv::namedWindow("Display window", cv::WINDOW_AUTOSIZE);
cv::imshow("Display window", cvArray);
cv::waitKey(0);
auto transposedCvArray = cv::Mat(cvArray.cols, cvArray.rows, CV_8SC1);
cv::namedWindow("Display window", cv::WINDOW_AUTOSIZE);
cv::imshow("Display window", transposedCvArray);
cv::waitKey(0);
auto transposedNcArray =
nc::NdArray<nc::uint8>(transposedCvArray.data, transposedCvArray.rows, transposedCvArray.cols);
{
std::cout << "Arrays are equal.\n";
}
else
{
std::cout << "Arrays are not equal.\n";
}
return 0;
}