- 这次主要是重新记录其工作环境,为了能形成清晰易懂的文件架构(因为太容易忘记了),上一次的blog发现太多不需要的中间文件,毕竟是通过ros创建的
- 工作环境和上次一样
一、创建工作文件夹
找到自己放代码文件夹的位置:
mkdir ws_opencv
cd ws_opencv
接下来在ws_opencv内创建src目录,便于管理
mkdir src
cd src
二、创建工程
在src内可以创建自己的工程
- 直接新建文件夹,文件夹命名为工程名字,如
displayimage
mkdir displayimage
cd displayimage
- 新建cpp源代码文件
touch "displayimage.cpp"
touch "CMakeLists.txt"
三、补充代码
- cpp示例如下
//displayimage.cpp
// Display the image
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main(int argc, char *argv[])
{
Mat image = imread("./photo.jpg");//路径请确保正确,相对路径或者绝对路径都可以
imshow("image",image);
waitKey(0);
return 0;
}
- CMakeLists.txt如下
# 这是对CMake工具最低版本要求,我们可以使用命令“cmake --version”查看CMake版本
cmake_minimum_required(VERSION 3.1)
# 设置工程文件名
project(displayimage)
find_package(OpenCV REQUIRED)# 这是cmake用来查找opencv包用的
include_directories(${OpenCV_INCLUDE_DIRS})
# If the package has been found, several variables will
# be set, you can find the full list with descriptions
# in the OpenCVConfig.cmake file.
# Print some message showing some of them
message(STATUS "OpenCV library status:")
message(STATUS " config: ${OpenCV_DIR}")
message(STATUS " version: ${OpenCV_VERSION}")
message(STATUS " libraries: ${OpenCV_LIBS}")
message(STATUS " include path: ${OpenCV_INCLUDE_DIRS}")
# 这里括号里面的两个参数分别是工程项目名和我们要编译文件名的意思,中间空格键隔开
add_executable(displayimage displayimage) # 改工程文件名 源文件名(不用加cpp)源文件默认从工程文件夹下找
# 链接到OpenCV库的环节
target_link_libraries(test78 ${OpenCV_LIBS})
四、编译
在工程文件夹下打开终端,分别执行以下:
cmake . #即在当前文件夹下按照cmakelists文件来编译源文件
make
./displayimage
即可运行cpp文件