opencv访问矩阵的通道数
#include <opencv2/opencv.hpp>
#include <iostream>int main() {cv::Mat colorImage = cv::Mat::zeros(100, 100, CV_8UC3);cv::Mat grayImage = cv::Mat::zeros(100, 100, CV_8UC1);int colorChannels = colorImage.channels();int grayChannels = grayImage.channels();std::cout << "彩色图像的通道数: " << colorChannels << std::endl; std::cout << "灰度图像的通道数: " << grayChannels << std::endl; return 0;
}
opencv可以定义4维矩阵
#include <opencv2/opencv.hpp>
#include <iostream>int main() {cv::Mat mat4D(2, new int[4]{3, 4, 5}, CV_32F);for (int i = 0; i < 2; ++i) {for (int j = 0; j < 3; ++j) {for (int k = 0; k < 4; ++k) {for (int l = 0; l < 5; ++l) {mat4D.at<float>(i, j, k, l) = static_cast<float>(i * 1000 + j * 100 + k * 10 + l);}}}}std::cout << "4维矩阵的大小: " << mat4D.size << std::endl;std::cout << "4维矩阵的内容:" << std::endl;for (int i = 0; i < 2; ++i) {for (int j = 0; j < 3; ++j) {for (int k = 0; k < 4; ++k) {for (int l = 0; l < 5; ++l) {std::cout << mat4D.at<float>(i, j, k, l) << " ";}std::cout << std::endl;}std::cout << std::endl;}}delete[] mat4D.size;return 0;
}