导航:首页 > 源码编译 > opencv编译

opencv编译

发布时间:2022-01-12 05:26:01

linux 下 opencv程序怎么编译

运行了楼上给的命令之后,结果是这样的:
# g++ `pkg-config opencv --libs --cflags opencv` facedect.cpp -o facedect -static
/tmp/cc8XhRf6.o: In function `find_face(_IplImage*)':
facedect.cpp:(.text+0x51): undefined reference to `cvCreateImage'
facedect.cpp:(.text+0xc0): undefined reference to `cvCreateImage'
facedect.cpp:(.text+0xdd): undefined reference to `cvCvtColor'
facedect.cpp:(.text+0xf7): undefined reference to `cvResize'
facedect.cpp:(.text+0x109): undefined reference to `cvEqualizeHist'
facedect.cpp:(.text+0x116): undefined reference to `cvClearMemStorage'
facedect.cpp:(.text+0x188): undefined reference to `cvHaarDetectObjects'
facedect.cpp:(.text+0x1c6): undefined reference to `cvReleaseImage'
facedect.cpp:(.text+0x1d1): undefined reference to `cvReleaseImage'
/tmp/cc8XhRf6.o: In function `isperson(char const*)':
facedect.cpp:(.text+0x21e): undefined reference to `cvLoad'
facedect.cpp:(.text+0x22f): undefined reference to `cvCreateMemStorage'
facedect.cpp:(.text+0x25a): undefined reference to `cvLoadImage'
facedect.cpp:(.text+0x27d): undefined reference to `cvReleaseImage'
facedect.cpp:(.text+0x289): undefined reference to `cvDestroyWindow'
collect2: ld returned 1 exit status

㈡ 怎么让opencv编译到可执行文件里,使别人电脑没有opencv也能运行exe

首先,先要再linux上安装opencv的库,在线安装的话,很容易
然后,编译的时候需要加上
`pkg-config
opencv
--libs
--cflags
opencv`
参数

㈢ 能配置opencv的编译软件有哪些

配置环境是: ubuntu12.04 + opencv2.4.0
安装OpenCV:
1. 安装必要的软件
apt-get install build-essential cmake libgtk2.0-dev pkg-config python-dev python-numpy libavcodec-dev libavformat-dev libswscale-dev

2. 从sourceforge上下载OpenCV的源码,下载地址是:
http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.0/

3. 解压到任意目录
tar xvf OpenCV-2.4.3.tar.bz2
cd OpenCV-2.4.3/

4. cmake编译OpenCV源码,所有的lib文件都会被安装到/usr/local目录下
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local

5. 安装
make
sudo make install
环境变量pkg_config_path 提供编译时和运行时库的路径查询。pkg-config 是通过库提供的一个 .pc 文件获得库的各种必要信息的,包括版本信息、编译和链接需要的参数等。这些信息可以通过 pkg-config 提供的参数单独提取出来直接供编译器和 链接器使用。使用 pkg-config 的 --cflags 参数可以给出在编译时所需要的选项,而 --libs 参数可以给出 链接时的选项。
在上述opencv 的安装结束后,pkg-config 的读取目录 /usr/local/lib/pkgconfig/ 下已经有opencv.pc。

6. 更新环境变量:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig/

编译程序:

用OpenCV读入一副图像(img.jpg),代码如下:
//main.cpp
#include <stdio.h>
#include <cvaux.h>
#include <highgui.h>
using namespace cv;

int main() {
IplImage *img = cvLoadImage("img.jpg",0);
if (NULL == img) {
printf("Load image failed.\n");
return -1;
}
printf("Hello World\n");
cvReleaseImage(&img);
return 0;
}

方法1:直接命令编译:
g++ main.cpp -o main `pkg-config --cflags --libs opencv` (注意ESC下面的`,不是单引号)

方法2:借助cmake,需要写CMakeLists.txt,示例如下:

cmake_minimum_required(VERSION 2.8)
project(Hello)
find_package(OpenCV REQUIRED)
add_executable(Hello main.cpp)
target_link_libraries(Hello ${OpenCV_LIBS})

然后:
cmake .
make

㈣ 如何编译opencv代码

..\OpenCV2.3\opencv\moles 这个目录有一些常用的库,一般算法的实现是看不到的,通常在静态库里,你可以连接他们,生成执行文件。
hpp,其实质就是将.cpp的实现代码混入.h头文件当中,定义与实现都包含在同一文件,则该类的调用者只需要include该hpp文件即可,无需再 将cpp加入到project中进行编译。而实现代码将直接编译到调用者的obj文件中,不再生成单独的虎矗港匪蕃睹歌色攻姬obj,采用hpp将大幅度减少调用 project中的cpp文件数与编译次数,也不用再发布烦人的lib与dll,因此非常适合用来编写公用的开源库。

㈤ 如何编译opencv calibration

String.prototype.sub = function (n) {
var r = /[^\x00-\xff]/g;
if (this.replace(r, "mm").length <= n) return this;
// n = n - 3;
var m = Math.floor(n / 2);
for (var i = m; i < this.length; i++) {
if (this.substr(0, i).replace(r, "mm").length >= n) {
return this.substr(0, i);
}

㈥ 如何做到linux下opencv程序的静态编译

运行了楼上给的命令之后,结果是这样的:
# g++ `pkg-config opencv --libs --cflags opencv` facedect.cpp -o facedect -static
/tmp/cc8XhRf6.o: In function `find_face(_IplImage*)':
facedect.cpp:(.text+0x51): undefined reference to `cvCreateImage'
facedect.cpp:(.text+0xc0): undefined reference to `cvCreateImage'
facedect.cpp:(.text+0xdd): undefined reference to `cvCvtColor'
facedect.cpp:(.text+0xf7): undefined reference to `cvResize'
facedect.cpp:(.text+0x109): undefined reference to `cvEqualizeHist'

㈦ linux opencv 怎么重新编译单个源码

首先,先要再linux上安装opencv的库,在线安装的话,很容易 然后,编译的时候需要加上 `pkg-config opencv --libs --cflags opencv` 参数

㈧ 如何编译opencv中的install工程

第一步:由于opencv是在cmake工具下建立的工程,所以我们先要下载cmake,下载地址随便一搜都有,不多说。下载到home的主目录下,这里我们是/home/lg。看下面的命令:#cd /home/lg#tar xzvf CMake2.4.7.tar.gz .#cd CMake2.4.7#./boostrap#gmake#make install这样cmake工具安装好了,并且可以直接使用cmake命令根据cmake的编译规律,我们选择外部编译。
2
下载Opencv2.3.0到/home/lg解压后进入Opencv2.3.0的目录下(这里的opencv与以前版本1.0的不一样,没有configure文件,所以我们执行不了 ./configure命令) :#mkdir build#cd build#cmake -D CMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON.. (这条命令解析可以参考cmake教程, 但是记住这里的第二个选项,我们将opencv安装在/usr/local目录下的)#make#make install到这opencv编译完成,接下去看看opencv这个工具能正常使用。
3
记住这里的做法前一种对fedora有用, 也就是说在fedora的环境下只能使用这种做法, 但是ubuntu却可以使用两种方法。 顺便说一下, 经常遇见apt-get命令,这是在ubuntu下使用获取软件包的命令, fedora使用的是yum, 记住了, 否则经常出现使用apt-get却获取不了软件包的情况。方法1:在/etc/ld.so.conf.d下新建一个文件opencv.conf,里面输入/usr/local/lib方法2:在/etc/ld.so.conf文件中加入/usr/local/lib这一行然后执行#ldconfig(root权限下)#cp /usr/local/lib/pkconfig/opencv.pc /usr/lib/pkgconfig(或者是输入这个命令 exportPKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH)( pkconfig的用法见以前的博文)至此opencv安装完成我们可以找个例子来做实验#cd /home/lg/Opencv2.3.0#cd samples/cpp#g++ `pkconfig --cflags --libs opencv` drawing.cpp -odrawing(记住前面的两个引号是通过ESC下面的那个波浪符键获得的)现在我们编译那个人脸检测程序,在Opencv2.3.0/data/目录下有检测鼻子、眼睛的XML文件,这可以通过改build目录下的c目录下的facedetect文件获得。#cd ..#cd c#g++ `pkconfig --cflags --libs opencv` facedetect.c -ofacedetect到此结束

㈨ cmake编译opencv程序的时候怎么静态编译

使用opencv需要编译源码,得到库文件。可以用cmake构建项目后编译,也可以直接用官方提供的编译好的版本。 官方提供的编译库一般只是标准版本,没有附加某些库,比如tbb等,要想让opencv使用tbb等库,就只能自己构建项目后编译。

阅读全文

与opencv编译相关的资料

热点内容
android图片变灰 浏览:268
linuxvi下一个 浏览:975
安卓手机的应用锁怎么解 浏览:735
linux增加路径 浏览:849
sql身份证号最后四位加密 浏览:533
xp系统表格加密 浏览:856
光遇安卓军大衣什么时候上线 浏览:840
android应用商店图标 浏览:341
java计算圆的面积 浏览:643
应用编译优化recovery 浏览:577
域控命令n 浏览:258
php导出文件 浏览:15
谷歌地图网页版无法连接服务器地址 浏览:298
菜鸟工具在线编译python 浏览:858
栅格化命令有何作用 浏览:825
为什么压缩文件不能解压 浏览:311
足球app哪个软件好 浏览:96
产品经理逼疯程序员的一天 浏览:17
修改svn服务器ip地址 浏览:584
下列关于编译说法正确的是 浏览:246