1.Mac中Xcode如何配置OpenCV
2.ubuntu 20.04建立python3虚拟环境安装gdal
3.å¦ä½å¨ iOS å·¥ç¨ä¸ä½¿ç¨ OpenCV
4.OpenCV下载和安装(包含所有平台)!
5.å¨iosä¸å¦ä½å©ç¨ opencv è¿è¡å¾åå¤ç
6.Mac 下的 C++ 开发环境 XCODE和其他介绍
Mac中Xcode如何配置OpenCV
如果官网下载不便或者速度较慢,可以参考安装homebrew国内镜像版。
使用homebrew下载OpenCV:在终端输入“brew install opencv”,自动安装最新版OpenCV。安装完成后,输入“brew info opencv”查看OpenCV是折扣计算源码否下载成功及记录下载地址。
打开访达查找相关文件:使用快捷键command+shift+G输入记录的OpenCV地址“/usr/local/Cellar/opencv/4.6.0/lib”。在此文件夹中,利用command选中所有带有OpenCV版本号的文件,复制并保存到一个文件夹中,例如保存到“files”文件夹。
在Xcode中新建一个工程:创建一个新的target,操作步骤如下。导入刚才选中的文件,效果如图所示。以下测试代码用于判断是否配置成功。
配置成功效果图如下,图中红色框选内容填入自己计算机上的地址。
如果不幸配置失败,参考下图。Header Search Path和Library Search Path只需填入之前的提取发货源码内容,其中的数字要填入自己的OpenCV版本。
至此,操作结束。希望对您有所帮助。
ubuntu .建立python3虚拟环境安装gdal
在OSX .上遇到使用opencv和gdal编写python程序时的安装问题,决定在Ubuntu .上重新搭建虚拟环境解决。
首先检查Ubuntu系统中已安装python3,无需安装python2,可直接放弃python2。然后,确保虚拟环境和虚拟环境工作区已安装。如果没有安装,使用以下命令进行安装:
sudo apt install virtualenv
sudo apt install virtualenvwrapper
在配置文件中添加相关路径,确保虚拟环境可以正常启动。
在主目录下创建虚拟环境并激活。
通过pip安装numpy和python-opencv,这些安装步骤在虚拟环境中顺利进行。
在虚拟环境中使用pip安装的packages位于指定路径。
安装gdal需要额外依赖库,如gcc和g++,udp助手源码c并确保gcc编译环境已安装。在Ubuntu系统下安装gdal-dev和gdal-bin。
在虚拟环境中执行编译和安装gdal,解决安装过程中出现的bug。在编译过程中,可能需要指定正确的头文件和库路径。
解决在虚拟环境中使用gdal时遇到的问题,通过替换osgeo包路径解决问题。发现编译安装gdal后,生成的egg文件夹中的osgeo包与默认路径不匹配,通过修改路径解决了问题。
解决macOS软件编译时找不到头文件的问题,可通过重启进入保护模式并修改usr/bin目录文件,或使用xcode-select --install命令安装所需的命令行工具。
通过软链接将相关目录和文件链接到CoreFoundation和Security框架,解决在macOS系统下编译时的依赖问题。
最终,通过调整编译参数,成功解决了使用gdal时遇到的依赖问题,实现了在Ubuntu虚拟环境中使用opencv和gdal进行python编程的指标公式 板块源码目标。
å¦ä½å¨ iOS å·¥ç¨ä¸ä½¿ç¨ OpenCV
å¨ iOS å·¥ç¨ä¸ä½¿ç¨ OpenCVçæ¹æ³ï¼
ä¸ãå®è£ OpenCV for MAC
1ï¼é¦å ä¸è½½opencv for macå®è£ æºæ件ï¼è§£å缩
2ï¼å®è£ cmakeç¨åºãç¬è 使ç¨çæ¯Homebrewï¼å¨ç»ç«¯ä¸è¾å ¥ï¼âbrew install cmakeâï¼èªå¨å®è£ cmakeã
3ï¼ è¿å ¥åæ¾è§£ååçopencvæ件夹ï¼æ°å»ºä¸ä¸ªç©ºçæ件夹releaseï¼è¿å ¥è¯¥æ件夹ï¼ç¼è¯å®è£ opencvï¼ä½¿ç¨å½ä»¤å¦ä¸ï¼
mkdir release
cd release
cmake -G "Unix Makefiles" ..
make
sudo make install
4ï¼å®è£ 好çlibæ件åæ¾å¨â/usr/local/libâæ件夹ï¼hæ件åæ¾å¨â/usr/local/includeâä¸ãè³æ¤ï¼opencv for Mac å®è£ å®æ¯ã
äºãå¨XCodeä¸ä½¿ç¨OpenCV
1. å建ä¸ä¸ªç©ºçcommand lineå·¥ç¨ã
2. å¨main.cppä¸ç²è´´ä»¥ä¸ä»£ç ï¼
#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv/cvaux.hpp>
#include <fstream>
using namespace std;
#define BYTE unsigned char
int main(int argc, const char * argv[])
{
#if 1
//get the image from the directed path
IplImage* img = cvLoadImage("/Users/boyuanfeng/aaa.bmp", 1);
//NSLog(img);
//create a window to display the image
cvNamedWindow("picture", 1);
//show the image in the window
cvShowImage("picture", img);
//wait for the user to hit a key
cvWaitKey(0);
//delete the image and window
cvReleaseImage(&img);
cvDestroyWindow("picture");
#endif
//return
return 0;
}
3. æ·»å libæ件ï¼å³é®ç¹å»å·¥ç¨åï¼éæ©âAdd files to..âï¼å¨æ件éæ©å¯¹è¯æ¡å¼¹åºæ¥æ¶è¾å ¥â/âï¼å¨å¼¹åºçè·¯å¾æ¡ä¸è¾å ¥ï¼/usr/local/libï¼å ¨é该æ件夹ä¸çå ¨é¨dylibæ件ï¼æ·»å è³å·¥ç¨ã
4. æ·»å libæ件æ¥æ¾æ¯æ: ç¹å»å·¥ç¨åæ件ï¼è¿å ¥âBuild Settingsâé项å¡ï¼å¨âLibrary Search Pathsâæ ä¸è¾å ¥â/usr/local/libâ
5. æ·»å 头æ件ï¼ç¹å»å·¥ç¨åæ件ï¼è¿å ¥âBuild Settingsâé项å¡ï¼å¨âHeader Search Pathsâæ ä¸è¾å ¥ï¼â/usr/local/include /usr/local/include/opencvâ
6. ç¼è¯è¿è¡æ´ä¸ªå·¥ç¨ï¼è¿è¡æåã
OpenCV下载和安装(包含所有平台)!
在 OpenCV 的官方网站上,可以下载其最新完整版本以及多数 release 版本的源码。如今,OpenCV 使用 Git 进行版本管理,同时也利用 Cmake 进行工程构建。
在 Windows 中,可通过下载 EXE 文件,该文件会将预编译好的 OpenCV 解压到本地,适配不同版本的 Visual Studio。然而,Windows 缺乏包含 debug 版本库的预编译版本,因此需要在项目启动前手动编译。需额外设置环境变量 OPENCV_DIR,通过 `setx` 命令将其路径设置为 `D:\OpenCV\Build\x\vc`。静态链接 OpenCV 仅需此步,若需动态链接库(DLL),需确保编译器能访问 `%OPENCV_DIR%\bin`。针对 Windows ,可于系统属性 -> 环境变量中添加 `%OPENCV_DIR%\bin` 到 path 变量。
使用源代码进行 OpenCV 编译,解压linux源码命令步骤包括运行 CMake GUI,设置 OpenCV 源码目录以及构建目标文件夹,配置编译器(或选择 MinGW 构建文件),使用 Visual Studio 打开生成的解决方案进行编译。Linux 环境下,需准备 GCC、GLIBC、GTK+ 2.x或更高版本、cmake、libtbb等库,下载源代码后通过 `./configure --enable-shared`、`make`、`sudo make install` 进行编译。
注意在 Ubuntu、Debian、SuSE等 Linux 发行版中,可能提供内置 OpenCV,否则需使用源代码安装,安装要求包括 Python 2.6 或更高版本、NumPy、ffmpeg 的 libav* 库与头文件等。Linux 与 Windows 类似,CMake 配置允许自定义构建选项,如构建指定例子、增加 Python 支持或启用 CUDA 功能。当编译完成时,文件将安装在指定目录,利用 IPP 进行加速,除非通过 CMake 指令明确禁用。
Mac 系统安装 OpenCV 类似于 Linux,Xcode 提供了构建和调试所需的大多数工具。Mac 默认采用 Cocoa 替代 GTK+、QTKit 替代 ffmpeg、GDC 替代 TBB 和 OpenMP。从 GitHub 的 OpenCV Git 仓库下载最新版本,Linux 用户可执行 `git clone /opencv/opencv.git`。在编程路上,不断进阶与探索是值得的。
å¨iosä¸å¦ä½å©ç¨ opencv è¿è¡å¾åå¤ç
å¨iosä¸å¦ä½å©ç¨ opencv è¿è¡å¾åå¤ççæ¹æ³ï¼SDKçæ¬
ä½è æä¾çå·¥ç¨SDKçæ¬å¯è½åä½ å¼åç¯å¢çä¸åï¼æä¸è½½å°çæ¯åºäº4.0çï¼ï¼éè¦è®¾ç½®æä½ ä½¿ç¨çSDKçæ¬ï¼å¨Groups&Filesçªå£çå·¥ç¨æä»¶æ ¹ç®å½å³é®-Get Infoï¼å¨buildæ çBase SDKä¸é¡¹ä¸ï¼æ¹ä¸ºä½ çSDKçæ¬ï¼
2. é¾æ¥æ è®° Other linker flags
æ¬å°çOpenCVåºè¦é¾æ¥è¿Xcodeå·¥ç¨ä¸ï¼å¨Get Infoçbuild项ä¸ï¼æç´¢ Other Linker Flagsï¼æ·»å ç¸åºçé¾æ¥æ è®°ï¼
iPhoneçæºè°è¯ï¼
-lstdc++
-lz
â$(SRCROOT)/OpenCV/lib/iPhoneOS/lib/libcv.aâ
â$(SRCROOT)/OpenCV/lib/iPhoneOS/lib/libcxcore.aâ
模æå¨è°è¯ï¼
-lstdc++
-lz
â$(SRCROOT)/OpenCV/lib/iPhoneSimulator/lib/libcv.aâ
â$(SRCROOT)/OpenCV/lib/iPhoneSimulator/lib/libcxcore.aâ
3. 头æ件æç´¢è·¯å¾ Header search paths
为æ¹ä¾¿çè°ç¨OpenCV头æ件ï¼è¦è®¾ç½®å¤´æ件æ索路å¾ï¼åæ ·å¨build项ä¸æç´¢Header search pathsï¼æ·»å ç¸åºçå 容ï¼
iPhoneçæºè°è¯ï¼
â$(SRCROOT)/OpenCV/lib/iPhoneOS/include/opencv/â
â$(SRCROOT)/OpenCV/lib/iPhoneOS/include/â
模æå¨è°è¯ï¼
â$(SRCROOT)/OpenCV/lib/iPhoneSimulator/include/opencv/â
â$(SRCROOT)/OpenCV/lib/iPhoneSimulator/include/â
4. Building OpenCV
æ两ç§æ¹å¼æ建OpenCVï¼ä¸ç§æ¯è½¬æ¢å°OpenCV targetåç¬æ建ï¼ä¸ç§æ¯å°OpenCVæ·»å 为主åºç¨çä¾èµï¼æ建主åºç¨æ¶ä¸åæ建ãç±äºOpenCVç代ç åºæ¬ä¸éè¦ä¿®æ¹ï¼ä¸æ建è¿ç¨å¾æ ¢ï¼æ以建议对OpenCVè¿è¡åç¬æ建ã
å¨Groups & Filesçªå£ä¸çTargetsæ ä¸ï¼åå»OpenCVï¼ç¹å»Build and Runè¿è¡ç¼è¯ãè¿ç¨æ¯è¾æ ¢ï¼ä¸è¬ä¼æ¥å 个erroråwarningï¼ä¸è¿åºæ¬å¯ä»¥æ è§ã
è¿è¡äºè¿äºè®¾ç½®ä¹åï¼ä¸»åºç¨åºæ¬å°±å¯ä»¥æ£å¸¸ç¼è¯è¿è¡äºï¼
Mac 下的 C++ 开发环境 XCODE和其他介绍
Xcode,版本4.6.3,内置了创建C++项目的功能,操作步骤如下:首先打开Xcode并新建项目,选择OS X中的Application内的Command Line Tool选项,然后在项目设置中选择Type为C++。若不需要使用自动引用计数(ARC),取消勾选C++选项。完成这些步骤后,即可在Xcode中创建一个基础的C++项目。
值得注意的是,Xcode默认使用的C++编译器是Apple LLVM Compiler(4.6.3版本为4.2),默认标准库为libc++,已支持C++标准(先前的C++0x)。Xcode同时提供了LLVM GCC编译器,其附带的C++标准库为libstdc++。在引入第三方库时,需特别注意选择,例如OpenCV可能需要将标准库设置为libstdc++。
如果选择不使用IDE,直接通过命令行编译C++项目也很容易,只需要使用编译器即可。
接下来,我们简要介绍C++的编译过程。编译过程包含预处理、编译和链接等步骤,目的是从源代码生成可执行文件。compiling仅是整个build过程的一部分,但人们经常会误将compile视为整个过程。通常情况下,这些步骤由编译器自动完成,无需单独运行命令。
Mac上默认拥有LLVM和GCC两大编译工具。
LLVM起源于“Low Level Virtual Machine”项目,由Chris Lattner和Vikram Adve于年在伊利诺伊大学厄巴纳-香槟分校开始。年Apple雇佣了Chris Lattner,组建团队专注于LLVM在Apple开发系统上的应用。目前,LLVM是MacOS和iOS开发工具的关键组成部分。
LLVM项目是一个综合项目,包括了一系列与开发工具相关的技术,如编译器Clang、调试器LLDB、JIT系统VMKit、优化器DragonEgg等。
GCC,全称为GNU Complier Collection,是GNU项目的核心组成部分,由自由软件之父Richard Stallman于年发起。GCC最初只支持C语言编译,1.0版本后开始支持C++,随后支持了Objective-C、Objective-C++、Fortran、Java、Ada、Go等其他语言。
选择LLVM或GCC取决于具体需求。GCC历史悠久,支持范围广泛,许多开源项目直接使用GCC作为编译器。而LLVM相较于GCC的优势在于:编译速度快、内存占用小、模块化设计易于集成及其他用途的重用、诊断信息可读性强、设计清晰简单、易于理解和扩展。通过GCC和Clang的相应编译选项,可以查看build过程的各个步骤,如仅执行预处理、编译阶段或生成对应名称的对象文件等。
关于GCC和Clang的编译选项,通过man gcc和man clang可以获取更多详细信息。
ipadå¯ä»¥å®è£ opencvå
iOS å·¥ç¨ä½¿ç¨ OpenCVï¼
ãå®è£ OpenCV for MAC
1ï¼é¦å è½½opencv for macå®è£ æºæ件解å缩
2ï¼å®è£ cmakeç¨åºç¬è 使ç¨Homebrewç»ç«¯è¾å ¥ï¼brew install cmakeèªå®è£ cmake
3ï¼ è¿å ¥åæ¾è§£åopencvæ件夹æ°å»ºç©ºæ件夹releaseè¿å ¥è¯¥æ件夹ç¼è¯å®è£ opencv使ç¨å½ä»¤ï¼
mkdir release
cd release
cmake -G "Unix Makefiles" ..
make
sudo make install
4ï¼å®è£ libæ件åæ¾/usr/local/libæ件夹hæ件åæ¾/usr/local/includeè³opencv for Mac å®è£ å®æ¯
äºãXCode使ç¨OpenCV
1. å建空command lineå·¥ç¨
2. main.cppç²è´´ä»£ç ï¼
#include
#include opencv.hpp>
#include highgui/highgui.hpp>
#include cvaux.hpp>
#include
using namespace std;
#define BYTE unsigned char
int main(int argc, const char * argv[])
{
#if 1
//get the image from the directed path
IplImage* img = cvLoadImage("/Users/boyuanfeng/aaa.bmp", 1);
//NSLog(img);
//create a window to display the image
cvNamedWindow("picture", 1);
//show the image in the window
cvShowImage("picture", img);
//wait for the user to hit a key
cvWaitKey(0);
//delete the image and window
cvReleaseImage(&img);
cvDestroyWindow("picture");
#endif
//return
return 0;
}
3. æ·»å libæ件ï¼å³é®ç¹å»å·¥ç¨åéæ©Add files to..æ件éæ©æ¡å¼¹è¾å ¥/弹路å¾æ¡è¾å ¥ï¼/usr/local/libå ¨é该æä»¶å¤¹å ¨é¨dylibæ件添å è³å·¥ç¨
4. æ·»å libæ件æ¥æ¾æ¯æ: ç¹å»å·¥ç¨åæ件è¿å ¥Build Settingsé项å¡Library Search Pathsæ è¾å ¥/usr/local/lib
5. æ·»å æ件ï¼ç¹å»å·¥ç¨åæ件è¿å ¥Build Settingsé项å¡Header Search Pathsæ è¾å ¥ï¼/usr/local/include /usr/local/include/opencv
6. ç¼è¯è¿è¡æ´å·¥ç¨è¿è¡å