今天开始在秒算2上配置环境了,然后就是我在开机时就很难受,我密码咋也试不对,然后我找说明书,上面也是只有秒算1的,然后我就开始了猜密码,最后猜到了,秒算2的密码是dji。
然后今天就是要配置opencv等。
在这之前呢,我是先查了在里linux上怎么截图 是 ctrl + prtsc
然后开始配置吧
先换源:
sudo gedit /ect/apt/sources.list 然后粘贴下面的,然后保存,这里我换的是阿里的源
deb http://mirrors.aliyun.com/ubuntu/ vivid main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ vivid-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ vivid-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ vivid-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ vivid-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ vivid main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ vivid-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ vivid-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ vivid-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ vivid-backports main restricted universe multiverse
然后sudo apt-get update ,就是报错:
这里报错缺少密钥
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 76F1A20FF987672F
记得将后面的换成我们缺少的
然后这里报错说加锁了:如果不行就从启命令行
sudo rm /var/lib/apt/lists/lock
然后就是第2个错误,解决方法就是把在这个路径下/etc/apt/sources.list.d , 把第一个换成.list.bak
额最后也是不好使
问题解决:中科大nb
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
换成了上面的源好多了,然后下一步:
哎昨天报存的今天咋没有了呢,哎,重新写一下吧:
虽然很多人都用的是qt但是我还是想用vs code,在官网安装后,然后在下载cmake,c++,然后开始了cmake的学习
cmake
demo : hello world!
方法就是新建CMakeLists.txt:
#cmake 版本最低要求
cmake_minimum_required(VERSION 3.1.3)
#工程名称
project(tese)
#设置标准
set(cmake_cxx_standard 11)
#编译生成目标
add_executable(test test.cpp)#cmake 版本最低要求
cmake_minimum_required(VERSION 3.1.3)
#工程名称
project(tese)
#设置标准
set(cmake_cxx_standard 11)
#编译生成目标
add_executable(test test.cpp)
然后在新建一个cpp文件:
#include"iostream"
using namespace std;
int main(){
cout<<"hello world"<<"!"<<endl;
return 0;
}
然后新建一个build文件,进去之后 cmake .. ,然后 make 就会 生成 一个 tsst 的文件 最后./test 运行 就会 输出 hello world了
这里我也是安装了tree :https://www.cnblogs.com/h--d/p/6507421.html 看这个文章
demo2: 配置opencv
这里的话我就是要用opencv打开图片了,那么现在开始吧!
养成好的习惯,先新建CMakeLists.txt,和src(放源代码),bin(放可执行文件),build(外部构建)文件夹
然后先在这讲几个常见命令:
第一行我们常常是设定最小版本号:如:cmake_minimum_required(VERSION 3.5)
然后我们会建工程:PROJECT(projectname [CXX] [C] [Java]) 后面可以不用管
set命令,就是定义变量如:set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${opencv_test_SOURCE_DIR}/bin) ,就是定义输出文件放到的文件夹为该项目的bin文件夹
find_package命令,这个很厉害,如:find_package(OpenCV REQUIRED) 会在直接搜索我们想要的包,然后得到OpenCV_FOUND
、OpenCV_INCLUDE_DIRS
、OpenCV_LIBRARY_DIRS
、OpenCV_LIBRARIES
,它们分别指是否找到OpenCV,OpenCV的头文件目录,OpenCV的库文件目录,OpenCV的所有库文件列表
然后我们就用这些进行配置啦:
先指定头文件路径:include_directories(${OpenCV_INCLUDE_DIRS})
这个指令用来设置库文件的路径这个指令用来设置库文件的路径:link_directories(${OpenCV_LIBRARY_DIRS})
设置需要的库文件:target_link_libraries(target ${OpenCV_LIBS}),其中的target就是前面设置生成的目标文件(可执行文件)
最后生成可执行文件:add_executable(opencv_test src/opencv_test.cpp)
下面是CMakeLists.txt文件
# project name
PROJECT(opencv_test)
# requirement of cmake version
cmake_minimum_required(VERSION 3.5)
# set the directory of executable files
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${opencv_test_SOURCE_DIR}/bin)
# find required opencv
find_package(OpenCV REQUIRED)
# directory of opencv headers
include_directories(${OpenCV_INCLUDE_DIRS})
# name of executable file and path of source file
add_executable(opencv_test src/opencv_test.cpp)
# directory of opencv library
link_directories(${OpenCV_LIBRARY_DIRS})
# opencv libraries
target_link_libraries(opencv_test ${OpenCV_LIBS})
然后opencv_test.cpp也是一个简单的显示图片的代码:
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main()
{
//read the image
Mat image = imread("./1.jpg");
//show the image
imshow("clock", image);
waitKey(0);
return 0;
}
然后就是运行了,这里然后就出现报错了:
最后使用绝对路径解决问题:Mat image = imread("/home/dji/文档/cmake学习/opencv_test/1.jpg");
明天可以正式开始识别了。
参考:https://blog.csdn.net/github_30605157/article/details/79839177