1.python版本配置
使用conda进行配置,命令如下,其中myenv是一个完整环境的名字,内置python3.9版本,然后activate激活环境。
conda create -n myenv python=3.9
conda activate myenv
执行完以上两条命令之后,在terminal里可以看到如下信息:
以上信息就代表在conda里配置python3.9成功。
2.其他相关库配置(opencv numpy matplotlib)
opencv是这次做图像分析和处理的主角,我们先安装其他必要的库,numpy matplotlib,再安装python版本的opencv库,命令如下:
pip install numpy
pip install matplotlib
pip install opencv
安装完之后,还需要验证一下是否成功。可以看到各个版本如下:
3.c++版本的opencv库配置
python代码毕竟只是做前期算法验证,真正实现还是c++代码。所以需要拿到opencv源码重新编译生存平台支持的库。
- 下载opencv源码:
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.5.0.zip
- 解压
unzip opencv.zip
cd opencv-4.5.0
mkdir build && cd build
- 配置
cmake \
-DCMAKE_SYSTEM_PROCESSOR=arm64 \
-DCMAKE_OSX_ARCHITECTURES=arm64 \
-DWITH_OPENJPEG=OFF \
-DWITH_IPP=OFF \
-D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_C_EXAMPLES=OFF \
-D OPENCV_ENABLE_NONFREE=ON \
-D BUILD_EXAMPLES=ON ..
- 编译,并安装
make -j8;sudo make install
- opencv库代码验证(注意看图操作)
在opencv-4.5.0/samples/cpp/example_cmake下有个演示demo,cmake . 进行生成Makefile文件(注意,cmake后面有个 . )。然后使用make进行编译。
#include "opencv2/core.hpp"
#include "opencv2/imgproc.hpp"
#include "opencv2/highgui.hpp"
#include "opencv2/videoio.hpp"
#include <iostream>
using namespace cv;
using namespace std;
void drawText(Mat & image);
int main()
{
cout << "Built with OpenCV " << CV_VERSION << endl;
Mat image;
VideoCapture capture;
capture.open(0);
if(capture.isOpened())
{
cout << "Capture is opened" << endl;
for(;;)
{
capture >> image;
if(image.empty())
break;
drawText(image);
imshow("Sample", image);
if(waitKey(10) >= 0)
break;
}
}
else
{
cout << "No capture" << endl;
image = Mat::zeros(480, 640, CV_8UC1);
drawText(image);
imshow("Sample", image);
waitKey(0);
}
return 0;
}
void drawText(Mat & image)
{
putText(image, "Hello OpenCV",
Point(20, 50),
FONT_HERSHEY_COMPLEX, 1, // font face and scale
Scalar(255, 255, 255), // white
1, LINE_AA); // line thickness and type
}
最后一步再次一举了。直接 ./opencv_example 运行;