系统:Ubuntu20.04
c++ 14
IDE: Clion
1 main.cpp 代码如下:
- #include
- #include
- #include
- #include "opencv2/opencv.hpp"
-
- using namespace std;
-
- uint8_t* matToBytes(cv::Mat image)
- {
- int size = image.total() * image.elemSize();
- uint8_t* bytes = new uint8_t[size];
- cout << (int)image.at
(0, 0)[0] << endl; - cout << (int)(image.data[0]) << endl;
- std::memcpy(bytes, image.data, size * sizeof(uint8_t));
- return bytes;
- }
-
- int main() {
- cv::Mat img = cv::imread("/home/test.jpg");
- uint8_t* img_byte = NULL;
- img_byte = matToBytes(img);
- cout << (int)img_byte[0] << endl;
- delete[] img_byte; //使用delete,防止内存泄露
- return 0;
- }
2 CMakeLists.txt
- cmake_minimum_required(VERSION 3.22)
- project(TEst)
-
- set(CMAKE_CXX_STANDARD 14)
- # 设置OpenCV目录所在
- set(OpenCV_DIR "/home/opencv/build")
-
- # 搜索OpenCV目录
- find_package(OpenCV REQUIRED)
-
- # 添加OpenCV头文件目录
- include_directories(${OpenCV_INCLUDE_DIRS})
-
- add_executable(TEst main.cpp)
-
- target_link_libraries( TEst ${OpenCV_LIBS} /home/opencv/build/lib/)
- MESSAGE("OpenCV_LIBS: " ${OpenCV_LIBS} ) #display opencv libs found
-
-
-