lmage2lcd生成uint8_t
时间: 2023-10-21 20:26:45 浏览: 87
你可以使用图片处理库(比如OpenCV)来加载图像并将其转换为uint8_t类型的数据。下面是一个示例代码:
```cpp
#include <opencv2/opencv.hpp>
// 将图像转换为uint8_t类型数据
std::vector<uint8_t> imageToUint8(cv::Mat image) {
std::vector<uint8_t> data;
if (image.empty()) {
return data;
}
if (image.channels() == 1) {
for (int i = 0; i < image.rows; i++) {
for (int j = 0; j < image.cols; j++) {
data.push_back(image.at<uint8_t>(i, j));
}
}
} else if (image.channels() == 3) {
cv::Mat rgbImage;
cv::cvtColor(image, rgbImage, cv::COLOR_BGR2RGB);
for (int i = 0; i < rgbImage.rows; i++) {
for (int j = 0; j < rgbImage.cols; j++) {
cv::Vec3b rgbPixel = rgbImage.at<cv::Vec3b>(i, j);
data.push_back(rgbPixel[0]); // R
data.push_back(rgbPixel[1]); // G
data.push_back(rgbPixel[2]); // B
}
}
}
return data;
}
int main() {
// 加载图像
cv::Mat image = cv::imread("input.jpg", cv::IMREAD_COLOR);
// 转换为uint8_t类型数据
std::vector<uint8_t> data = imageToUint8(image);
// 使用data进行后续操作
return 0;
}
```
请将代码中的"input.jpg"替换为你想要处理的图像文件路径。这段代码将返回一个包含图像数据的vector<uint8_t>对象,你可以在后续的操作中使用它。
阅读全文