linux环境下编译运行OpenCV程序的两种方法

一、命令行Command Line

1 g++ opencv_test.cpp -o opencv_test `pkg-config --cflags --libs opencv`
2 ./opencv_test test.jpg

备注:pkg-config选项
--cflags 它是用来指定程序在编译时所需要头文件所在的目录
--libs 则是指定程序在链接时所需要的动态链接库的目录

二、CMake工具编译

在程序同目录下创建CMakeLists.txt

 1 #文件地址(下载源码安装包中):/opencv-3.4.1/samples/cpp/example_cmake/
 2
 3 # cmake needs this line
 4 cmake_minimum_required(VERSION 2.8)
 5
 6 # Define project name
 7 project(opencv_example_project)
 8
 9 # Find OpenCV, you may need to set OpenCV_DIR variable
10 # to the absolute path to the directory containing OpenCVConfig.cmake file
11 # via the command line or GUI
12 find_package(OpenCV REQUIRED)
13
14 # If the package has been found, several variables will
15 # be set, you can find the full list with descriptions
16 # in the OpenCVConfig.cmake file.
17 # Print some message showing some of them
18 message(STATUS "OpenCV library status:")
19 message(STATUS " version: ${OpenCV_VERSION}")
20 message(STATUS " libraries: ${OpenCV_LIBS}")
21 message(STATUS " include path: ${OpenCV_INCLUDE_DIRS}")
22
23 if(CMAKE_VERSION VERSION_LESS "2.8.11")
24 # Add OpenCV headers location to your include paths
25 include_directories(${OpenCV_INCLUDE_DIRS})
26 endif()
27
28 # Declare the executable target built from your sources
29 add_executable(opencv_example example.cpp)
30
31 # Link your application with OpenCV libraries
32 target_link_libraries(opencv_example ${OpenCV_LIBS})

然后执行:

1 cmake .
2 make
3 ./opencv_example test.jpg

示例代码参见:https://www.cnblogs.com/Shuqing-cxw/p/9195303.html

原文地址:https://www.cnblogs.com/Shuqing-cxw/p/9195773.html

时间: 2024-10-13 16:20:06

linux环境下编译运行OpenCV程序的两种方法的相关文章

在linux环境下编译运行OpenCV程序的两种方法

原来以为在Ubuntu下安装好了OpenCV之后,自己写个简单的程序应该很容易吧,但是呢,就是为了编译一个简单的显示图片的程序我都快被弄崩溃了. 在谷歌和上StackOverFlow查看相关问题解答之后,我下面就介绍Command Line和CMake两种方式. 首先我先粘上我测试的代码吧,文件名为Test.c 1 #include <highgui.h> 2 3 int main(int argc,char ** argv) { 4 5 IplImage* img = cvLoadImage

在虚拟机linux环境下编译windows版adb fastboot

原文出自:http://blog.chinaunix.net/uid-20546441-id-1746200.html 我根据虚拟机编译遇到的问题进行一些添加 [前提条件] Linux Android源码完整 虚拟机磁盘空间100G左右(60G用来存放代码和编译后的文件) swap 30G左右,若太小会导致在编译后提示缺失文件 [具体步骤] 理论上,只要下一个windows版本的SDK,里面就自带了fastboot和adb工具. 但我最近确实遇到了一个需要在linux下编译出windows版本的

linux系统下php安装mbstring扩展的二种方法

.执行 复制代码代码如下: yum install php-mbstring 2. 修改php.ini (这一步非常重要, 部分lxadmin版本无法自动修改) 复制代码代码如下: echo ‘extension=mbstring.so' >>/etc/php.ini #更具php安装目录而定 3. 重启web service 如果是apache: service httpd restart 方法二:php 5.36安装目录:/usr/local/php 复制代码代码如下: #cd /usr/

HTTPS的证书未经权威机构认证的情况下,访问HTTPS站点的两种方法

注意一下文章中提到的jsse在jdk1.4以后已经集成了,不必纠结. 摘 要 JSSE是一个SSL和TLS的纯Java实现,通过JSSE可以很容易地编程实现对HTTPS站点的访问.但是,如果该站点的证书未经权威机构的验证,JSSE将拒绝信任该证书从而不能访问HTTPS站点.本文在简要介绍JSSE的基础上提出了两种解决该问题的方法. 引言 过去的十几年,网络上已经积累了大量的Web应用.如今,无论是整合原有的Web应用系统,还是进行新的Web开发,都要求通过编程来访问某些Web页面.传统的方法是使

linux环境下编译带中文的java源文件unmappable character for encoding UTF8

添加-encoding gbk即可编译成功 javac -encoding gbk -cp .:activemq-all-5.11.1.jar  JMSConsumer.java linux下独立运行java程序 http://os.51cto.com/art/201104/256055.htm

Linux环境下段错误的产生原因及调试方法小结(转)

最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且 项目工程庞大复杂,出现了不少问题,其中遇到最多.花费时间最长的问题就是著名的“段错误”(Segmentation Fault).借此机会系统学习了一下,这里对Linux环境下的段错误做个小结,方便以后同类问题的排查与解决. 1. 段错误是什么 一句话来说,段错误是指访问的内存超出了系统给这个程序所设定的内存空间,例如访问了不存在的内存地址.访问了系统保护的内存地址.访问了只读的内存地址等等情况.这里贴一个对于“段

Linux环境下段错误的产生原因及调试方法小结

最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多.花费时间最长的问题就是著名的“段错误”(Segmentation Fault).借此机会系统学习了一下,这里对Linux环境下的段错误做个小结,方便以后同类问题的排查与解决. 1. 段错误是什么 一句话来说,段错误是指访问的内存超出了系统给这个程序所设定的内存空间,例如访问了不存在的内存地址.访问了系统保护的内存地址.访问了只读的内存地址等等情况.这里贴一个对于“段错

【转】【调试技巧】Linux环境下段错误的产生原因及调试方法小结

本文转自:http://www.cnblogs.com/panfeng412/archive/2011/11/06/segmentation-fault-in-linux.html 最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多.花费时间最长的问题就是著名的“段错误”(Segmentation Fault).借此机会系统学习了一下,这里对Linux环境下的段错误做个小结,方便以后同类问题的排查与解决. 1. 段错误

Linux环境下段错误的产生原因及调试方法小结(转载)

转载自http://www.cnblogs.com/panfeng412/archive/2011/11/06/2237857.html 最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多.花费时间 最长的问题就是著名的“段错误”(Segmentation Fault).借此机会系统学习了一下,这里对Linux环境下的段错误做个小结,方便以后同类问题的排查与解决. 1. 段错误是什么 一句话来说,段错误是指访问的内存超