一、OpenCV介绍

1.1 OpenCV-Python教程简介

OpenCV由 Gary Bradsky 于1999年在英特尔创立,第一个版本于2000年发布。 Vadim Pisarevsky 加入了Gary Bradsky,管理英特尔的俄罗斯软件OpenCV团队。2005年,OpenCV被用于斯坦利,这辆车赢得了2005年DARPA大挑战赛。

后来,在Willow Garage的支持下,由Gary Bradsky和Vadim Pisarevsky领导该项目,继续积极发展。OpenCV现在支持与计算机视觉和机器学习相关的多种算法,并且正在日益扩展。

OpenCV支持多种编程语言,如C++、Python、Java等,并且可在包括Windows、Linux、OS X、Android和iOS的不同平台上使用。基于CUDA和OpenCL的高速GPU操作接口也在积极开发中。

OpenCV-Python是OpenCV的Python API,结合了OpenCV C++ API和Python语言的最佳品质。

1.2 OpenCV-Python

OpenCV-Python是一个Python绑定库,旨在解决计算机视觉问题。

Python是一种通用编程语言,由 Guido van Rossum 创立,很快就变得非常流行,主要是因为它的简单性和代码可读性。它使程序员能够在不降低可读性的情况下用更少的代码行表达思想。

与C/C++等语言相比,Python更慢。也就是说,Python可以很容易地用C/C++扩展,这允许我们用C/C++编写计算密集型代码,并创建可以用作Python模块的Python包装器。

这给我们带来了两个优势:首先,代码与原始C/C++代码一样快(因为它是在后台工作的实际C++代码),其次,用Python编写代码比C/C++更容易。OpenCV-Python是原始OpenCV C++实现的Python包装器。

OpenCV-Python使用了Numpy,这是一个高度优化的库,用于使用MATLAB风格的语法进行数值运算。所有OpenCV数组结构都可以转换为Numpy数组。这也使得它更容易与其他使用Numpy的库集成,如SciPy和Matplotlib。

1.3 OpenCV-Python教程

OpenCV引入了一组新的教程,将指导您完成OpenCV-Python中可用的各种函数。 本指南主要关注OpenCV 3.x版本(尽管大多数教程也适用于OpenCV 2.x)。

建议先了解Python和Numpy,因为本指南不会涉及它们。 熟练使用Numpy是使用OpenCV-Python编写优化代码的必要条件

本教程最初由Abid Rahman K.作为Google Summer of Code 2013计划的一部分,由Alexander Mordvintsev指导。

1.4 OpenCV需要你!

由于OpenCV是一个开源项目,欢迎所有人为库、文档和教程做出贡献。

如果您在本教程中发现任何错误(从小的拼写错误到代码或概念中的严重错误),请随时通过在GitHub中克隆的OpenCV并提交pull请求来纠正它。OpenCV开发人员将检查您的pull请求,给予您重要的反馈,并且(一旦通过审核者的批准)它将被合并到OpenCV中。您将成为一名开源贡献者

随着新模块被添加到OpenCV-Python中,本教程将不得不进行扩展。如果你熟悉某个特定的算法,并且可以写一个教程,包括算法的基本理论和示例使用的代码,请这样做。

请记住,我们 一起 可以使这个项目取得巨大成功!

1.5 贡献者

下面是向OpenCV-Python提交教程的贡献者列表。

  1. Alexander Mordvintsev(GSoC-2013导师)
  2. Abid Rahman K.(GSoC-2013实习生)

1.6 额外资源

  1. Python快速指南 - Python的一个字节
  2. Python快速指南
  3. NumPy快速入门教程
  4. NumPy参考
  5. OpenCV文档
  6. OpenCV论坛

二、在Windows中安装OpenCV-Python

2.1 目标

在本教程中

  • 我们将学习在Windows系统中设置OpenCV-Python。

以下步骤在Windows 7-64位计算机上使用Visual Studio 2010和Visual Studio 2012进行测试。屏幕截图显示VS 2012。

2.2 从预构建的二进制文件安装OpenCV

下面的Python包将被下载并安装到它们的默认位置。

  • Python 3.x(3.4+)或Python 2.7.x(在)。
  • Numpy包(例如,使用 pip install numpy 命令)。
  • Matplotlib(pip install matplotlib)(Matplotlib是可选的,但推荐使用,因为我们在教程中经常使用它)。

将所有软件包安装到它们的默认位置。如果是Python 2.7,Python将安装到 C:/Python27/

安装完成后,打开Python IDLE。输入 import numpy 并确保Numpy工作正常。

GitHubSourceForge网站下载最新的OpenCV版本,然后双击将其解压缩。

转到 opencv/build/python/2.7 文件夹。

cv2.pyd 复制到 C:/Python 27/lib/site-packages

opencv_world.dll 文件复制到 C:/Python 27/lib/site-packages

打开Python IDLE,在Python终端中输入以下代码。

>>> import cv2 as cv
>>> print( cv.__version__ )

如果结果打印出来没有任何错误,恭喜!您已成功安装OpenCV-Python。

2.3 从源代码构建OpenCV

下载并安装Visual Studio和CMake。

下载必要的Python包并将其安装到默认位置。

  1. Python
  2. Numpy

注意:

在本例中,我们使用Python包的32位二进制文件。但是如果你想在x64上使用OpenCV,需要安装Python包的64位二进制文件。问题是,Numpy没有官方的64位二进制文件。你得靠自己的力量。

为此,您必须使用与构建Python相同的编译器。当你启动Python IDLE时,它会显示编译器的详细信息。你可以在这里获得更多信息。因此,您的系统必须具有相同的Visual Studio版本,并从源代码构建Numpy。

另一种获得64位Python包的方法是使用来自第三方的现成Python发行版,如Anaconda,Enthought等,它会更大,但会有你需要的一切。一切都在shell中。您也可以下载32位版本。

确保Python和Numpy工作正常。

下载OpenCV源代码。它可以来自Sourceforge(官方发布版本)或Github(最新来源)。

将其解压缩到一个文件夹opencv,并在其中创建一个新的文件夹。

打开CMake-gui(Start > All Programs > CMake-gui

按如下方式填写字段(参见下图):

  1. 点击Browse Source...然后找到OpenCV文件夹。
  2. 点击Browse Build...然后找到我们创建的构建文件夹。
  3. 单击Configure。
  4. 它将打开一个新窗口来选择编译器。选择适当的编译器(此处为Visual Studio 11),然后单击“Finish”。
  5. 等待分析完成。

您将看到所有字段都标记为红色。点击 WITH 字段将其展开。它决定了你需要什么额外的功能。因此,标记适当的字段。请参见下图:

现在单击 BUILD 字段展开它。前几个字段配置构建方法。请参见下图:

其余字段指定要构建的模块。由于OpenCV-Python还不支持GPU模块,因此您可以完全避免它以节省保存时间(但如果您使用它们,请保留它)。请参见下图:

现在单击 ENABLE 字段将其展开。确保 ENABLE_SOLUTION_FOLDERS 未选中(Visual Studio Express版不支持解决方案文件夹)。请参见下图:

另外,请确保在 PYTHON 字段中,所有内容都已填充。(忽略PYTHON_DEBUG_LIBRARY)。见下图:

最后点击 Generate 按钮。

现在转到我们的 opencv/build 文件夹。在那里你会发现 OpenCV.sln 文件。用Visual Studio打开它。

将构建模式检查为 Release 而不是 Build

在解决方案资源管理器中,右键单击 Solution(或 ALL_BUILD)并构建它。这将需要一些时间才能完成(16)。

再次右键单击OpenCV-Python并构建它。现在OpenCV-Python将被安装(17)。

打开Python IDLE并输入“import cv 2 as cv”。如果没有错误,则说明安装正确。

注意:

我们所安装的没有其他支持,如TBB,Eigen,Qt,文档等。解释它在这里是很难的。我们很快就会添加更详细的视频,或者您可以直接在附近进行黑客操作。

2.4 额外资源

2.4.1 练习

如果你有一台windows机器,从源代码编译OpenCV,进行各种破解。如果您遇到任何问题,请访问OpenCV论坛并解释您的问题。

三、在Fedora中安装OpenCV-Python

3.1 目标

在本教程中

  • 我们将学习在Fedora系统中设置OpenCV-Python。以下步骤针对Fedora 18(64位)和Fedora 19(32位)进行了测试。

3.2 介绍

OpenCV-Python可以通过两种方式安装在Fedora中:

  1. 从fedora存储库中提供的预构建二进制文件安装。
  2. 从源代码编译。在本节中,我们将看到两者。

另一个重要的事情是需要额外的库。OpenCV-Python只需要 Numpy(除了其他依赖项,我们将在后面看到)。但在本教程中,我们也使用 Matplotlib 来实现一些简单而漂亮的绘图目的(与OpenCV相比,我感觉好多了)。Matplotlib是可选的,但强烈推荐。同样,我们还将看到 IPython,一个交互式Python终端,这也是强烈推荐的。

3.3 从预构建的二进制文件安装OpenCV-Python

以root用户身份在终端中使用以下命令安装所有软件包。

$ yum install numpy opencv*

打开Python IDLE(或IPython),在Python终端中输入以下代码。

>>> import cv2 as cv
>>> print( cv.__version__ )

如果结果打印出来没有任何错误,恭喜!您已成功安装OpenCV-Python。

这很容易,但有一个问题。Yum仓库可能不总是包含最新版本的OpenCV。例如,在编写本教程时,yum存储库包含2.4.5,而最新的OpenCV版本是2.4.6。关于Python API,最新版本总是包含更好的支持。

此外,还可能会出现相机支持,视频播放等问题,这取决于驱动程序、ffmpeg、gstreamer软件包等。

所以我个人倾向于下一种方法,即从源代码编译。同样在某个时候,如果你想为OpenCV做贡献,你会需要这个。

3.4 从源代码安装OpenCV

从源代码编译可能看起来有点复杂,但一旦你成功了,就没有什么复杂的了。

首先,我们将安装一些依赖项。有些是强制的,有些是可选的。可选的依赖项,如果你不需要,可以不填。

3.4.1 强制依赖

我们需要CMake来配置安装,GCC用于编译,Python-devel和Numpy用于创建Python扩展等。

yum install cmake
yum install python-devel numpy
yum install gcc gcc-c++

接下来,我们需要GTK支持GUI功能、camera(libdc1394,v4l)和vedio(ffmpeg,gstreamer)等。

yum install gtk2-devel
yum install libdc1394-devel
yum install ffmpeg-devel yum install fmpeg-devel
yum install gstreamer-plugins-base-devel

3.4.2 可选依赖

以上依赖项足以在您的fedora机器中安装OpenCV。但根据您的需求,您可能需要一些额外的依赖项。下面给出了此类可选依赖项的列表。您可以选择安装或不安装它,由你决定

OpenCV附带了支持PNG,JPEG,JPEG 2000,TIFF,WebP等图像格式的文件,但它可能有点旧。如果你想获得最新的库,你可以安装这些格式的开发文件。

yum install libpng-devel
yum install libjpeg-turbo-devel
yum install jasper-devel
yum install openexr-devel
yum install libtiff-devel
yum install libwebp-devel

一些OpenCV函数通过英特尔的线程构建块(TBB)并行化。但是如果你想启用它,你需要先安装TBB。(同样,在使用CMake配置安装时,不要忘记传递-D WITH_TBB= ON。更多细节见下文)

yum install tbb-devel

OpenCV使用另一个库Eigen来优化数学运算。因此,如果你的系统中安装了Eigen,你就可以利用它。(同时,在配置CMake安装时,不要忘记传递-D WITH_EIGEN= ON。更多细节见下文)

yum install eigen3-devel

如果你想建立文档(是的,你可以在你的系统中用HTML创建OpenCV完整官方文档的离线版本,并提供完整的搜索功能,这样你就不需要总是访问互联网,如果有任何问题,它是相当快的!)),您需要安装Doxygen(文档生成工具)。

yum install doxygen

3.4.3 下载OpenCV

接下来我们需要下载OpenCV。你可以从sourceforge站点下载OpenCV的最新版本。然后解压缩文件夹。

或者你可以从OpenCV的github repo下载最新的源代码(如果你想为OpenCV做贡献,请选择这个。它能让你的OpenCV保持最新)。首先,你需要安装 Git

yum install git
git clone https://github.com/opencv/opencv.git

它将在主目录(或您指定的目录)中创建一个文件夹OpenCV。克隆可能需要一些时间,具体取决于您的网络连接。

现在打开一个终端窗口并导航到下载的OpenCV文件夹。创建一个新的构建文件夹并导航到它。

mkdir build
cd build

3.4.4 配置和安装

现在我们已经安装了所有需要的依赖项,让我们安装OpenCV。安装必须使用CMake进行配置。它指定要安装的模块、安装路径、要使用的附加库、是否要编译文档和示例等。

下面的命令通常用于配置(从构建文件夹执行)。

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

它指定构建类型为“Release Mode”,安装路径为 /usr/local。注意每个选项前的“-D”和最后的“..”。简而言之,这是格式:

cmake [-D <flag>] [-D <flag>] ..

您可以指定任意多个标志,但每个标志前面都应该有-D。

因此,在本教程中,我们将使用TBB和Eigen支持安装OpenCV。我们还构建文档,但不包括性能测试和构建示例。我们还禁用了GPU相关模块(因为我们使用OpenCV-Python,所以不需要GPU相关模块,这节省了我们一些时间)。

以下所有命令都可以在一个cmake语句中完成,但为了更好地理解,这里将其拆分。

  • 启用TBB和Eigen支持:
cmake -D WITH_TBB=ON -D WITH_EIGEN=ON ..
  • 启用文档并禁用测试和示例:
cmake -D BUILD_DOCS=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF ..
  • 禁用所有GPU相关模块:
cmake -D WITH_OPENCL=OFF -D BUILD_opencv_gpu=OFF -D BUILD_opencv_gpuarithm=OFF -D BUILD_opencv_gpubgsegm=OFF -D BUILD_opencv_gpucodec=OFF -D BUILD_opencv_gpufeatures2d=OFF -D BUILD_opencv_gpufilters=OFF -D BUILD_opencv_gpuimgproc=OFF -D BUILD_opencv_gpulegacy=OFF -D BUILD_opencv_gpuoptflow=OFF -D BUILD_opencv_gpustereo=OFF -D BUILD_opencv_gpuwarping=OFF ..
  • 设置安装路径并构建类型
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

每次输入cmake语句时,它都会打印出生成的配置设置。在你得到的最终设置中,确保以下字段已填写(下面是我得到的配置的一些重要部分)。

这些字段也应该在您的系统中适当填写。否则就出问题了。检查你是否正确执行了上述步骤。

...
-- GUI:
-- GTK+ 2.x: YES (ver 2.24.19)
-- GThread : YES (ver 2.36.3) -- Video I/O:
-- DC1394 2.x: YES (ver 2.2.0)
-- FFMPEG: YES
-- codec: YES (ver 54.92.100)
-- format: YES (ver 54.63.104)
-- util: YES (ver 52.18.100)
-- swscale: YES (ver 2.2.100)
-- gentoo-style: YES
-- GStreamer:
-- base: YES (ver 0.10.36)
-- video: YES (ver 0.10.36)
-- app: YES (ver 0.10.36)
-- riff: YES (ver 0.10.36)
-- pbutils: YES (ver 0.10.36) -- V4L/V4L2: Using libv4l (ver 1.0.0) -- Other third-party libraries:
-- Use Eigen: YES (ver 3.1.4)
-- Use TBB: YES (ver 4.0 interface 6004) -- Python:
-- Interpreter: /usr/bin/python2 (ver 2.7.5)
-- Libraries: /lib/libpython2.7.so (ver 2.7.5)
-- numpy: /usr/lib/python2.7/site-packages/numpy/core/include (ver 1.7.1)
-- packages path: lib/python2.7/site-packages ...

还有许多其他的标志和设置。这是留给你进一步探索。

现在你使用make命令构建文件,并使用make install命令安装它。make install应该以root身份执行。

make
su
make install

安装结束了。所有文件都安装在 /usr/local/ 文件夹中。但是要使用它,你的Python应该能够找到OpenCV模块。你有两个选择

  • 将模块移动到Python Path中的任意文件夹 :在Python终端中输入 import sys; print(sys.path) 可以找到Python路径。它将打印出许多位置。将 /usr/local/lib/python2.7/site-packages/cv2.so 移动到此文件夹中的任何一个。比如说,
su mv /usr/local/lib/python2.7/site-packages/cv2.so /usr/lib/python2.7/site-packages
  • 将 /usr/local/lib/python2.7/site-packages 添加到PYTHON_PATH中 :只需要执行一次。只需打开/.bashrc并添加以下代码,然后注销并返回。
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages

OpenCV安装完成。打开一个终端并尝试 import cv 2 as cv。

要构建文档,只需输入以下命令:

make doxygen

然后打开 opencv/build/doc/doxygen/html/index.html 并在浏览器中将其添加为书签。

3.5 额外资源

3.5.1 练习

  1. 在Fedora机器上从源代码编译OpenCV。

四、在Ubuntu中安装OpenCV-Python

4.1 目标

在本教程中,我们将学习如何在Ubuntu系统中安装OpenCV-Python。以下步骤针对Ubuntu 16.04和18.04(均为64位)进行了测试。

OpenCV-Python可以通过两种方式安装在Ubuntu中:

  1. 从Ubuntu存储库中提供的预构建二进制文件安装
  2. 从源代码编译。在本节中,我们将看到这两种。

另一个重要的事情是需要额外的库。OpenCV-Python只需要 Numpy(除了其他依赖项,我们将在后面看到)。但在本教程中,我们也使用 Matplotlib 来实现一些简单而漂亮的绘图目的(与OpenCV相比,我感觉好多了)。Matplotlib是可选的,但强烈推荐。同样,我们还将看到 IPython,一个交互式Python终端,这也是强烈推荐的。

4.2 从预构建的二进制文件安装OpenCV-Python

这种方法在仅用于编程和开发OpenCV应用程序时效果最佳。

在终端中使用以下命令安装python3-opencv软件包(作为root用户)。

$ sudo apt-get install python3-opencv

打开Python IDLE(或IPython),在Python终端中输入以下代码。

import cv2 as cv
print(cv.__version__)

如果结果打印出来没有任何错误,恭喜!您已成功安装OpenCV-Python。

这很容易。但这有一个问题。Apt存储库可能不总是包含最新版本的OpenCV。例如,在编写本教程时,apt存储库包含2.4.8,而最新的OpenCV版本是3.x。

关于Python API,最新版本总是包含更好的支持和最新的错误修复。

因此,为了获得最新的源代码,首选的方法是下一个方法,即从源代码编译。此外,如果你想为OpenCV做贡献,你也会需要这个。

4.3 从源代码构建OpenCV

从源代码编译可能看起来有点复杂,但一旦你成功了,就没有什么复杂的了。

首先,我们将安装一些依赖项。有些是强制的,有些是可选的。可选的依赖项,如果你不需要,可以不填。

4.3.1 强制依赖

我们需要 CMake 来配置安装, GCC 用于编译, Python-develNumpy 用于构建Python绑定等。

sudo apt-get install cmake
sudo apt-get install gcc g++

支持Python 2:

sudo apt-get install python-dev python-numpy

支持Python 3:

sudo apt-get install python3-dev python3-numpy

接下来,我们需要GTK支持GUI、camera(v4l)、media(ffmpeg,gstreamer)等。

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev

支持GTK 2:

sudo apt-get install libgtk2.0-dev

支持GTK 3:

sudo apt-get install libgtk-3-dev

4.3.2 可选依赖

以上依赖项足以在您的fedora机器中安装OpenCV。但根据您的需求,您可能需要一些额外的依赖项。下面给出了此类可选依赖项的列表。您可以选择安装或不安装它,由你决定

OpenCV附带了支持PNG,JPEG,JPEG 2000,TIFF,WebP等图像格式的文件,但它可能有点旧。如果你想获得最新的库,你可以安装这些格式的开发文件。

yum install libpng-devel 安装libpng-devel
yum install libjpeg-turbo-devel
yum install jasper-devel
yum install openexr-devel
yum install libtiff-devel
yum install libwebp-devel

注意:

如果您使用的是Ubuntu 16.04,您还可以安装 libjasper-dev 以添加对JPEG 2000格式的系统级支持。

4.3.3 下载OpenCV

从OpenCV的GitHub Repository下载最新的源代码。(如果你想为OpenCV做贡献,请选择此选项。为此,您需要先安装 Git)。

$ sudo apt-get install git
$ git clone https://github.com/opencv/opencv.git

它将在当前目录下创建一个文件夹“opencv”。克隆可能需要一些时间,具体取决于您的网络连接。

现在打开一个终端窗口,导航到下载的“opencv”文件夹。创建一个新的“build”文件夹并导航到它。

$ mkdir build
$ cd build

4.3.4 配置和安装

现在我们已经有了所有需要的依赖项,让我们安装OpenCV。安装必须使用CMake进行配置。它指定要安装的模块、安装路径、要使用的附加库、是否要编译文档和示例等。

大多数工作都是通过配置良好的默认参数自动完成的。

以下命令通常用于配置OpenCV库构建(从构建文件夹执行):

$ cmake ../

OpenCV默认假定“Release”构建类型,安装路径为“/usr/local”。有关CMake选项的更多信息,请参阅OpenCV C++编译指南

您应该在CMake输出中看到这些行(它们意味着正确找到了Python):

-- Python 2:
-- Interpreter: /usr/bin/python2.7 (ver 2.7.6)
-- Libraries: /usr/lib/x86_64-linux-gnu/libpython2.7.so (ver 2.7.6)
-- numpy: /usr/lib/python2.7/dist-packages/numpy/core/include (ver 1.8.2)
-- packages path: lib/python2.7/dist-packages
--
-- Python 3:
-- Interpreter: /usr/bin/python3.4 (ver 3.4.3)
-- Libraries: /usr/lib/x86_64-linux-gnu/libpython3.4m.so (ver 3.4.3)
-- numpy: /usr/lib/python3/dist-packages/numpy/core/include (ver 1.8.2)
-- packages path: lib/python3.4/dist-packages

现在使用“make”命令构建文件并使用“make install”命令安装它。

$ make
# sudo make install

安装结束了。所有文件都安装在“/usr/local/”文件夹中。打开一个终端并尝试 import cv2。

import cv2 as cv
print(cv.__version__)

Python OpenCV #1 - OpenCV介绍的更多相关文章

  1. OpenCV 编程简单介绍(矩阵/图像/视频的基本读写操作)

    PS. 因为csdn博客文章长度有限制,本文有部分内容被截掉了.在OpenCV中文站点的wiki上有可读性更好.而且是完整的版本号,欢迎浏览. OpenCV Wiki :<OpenCV 编程简单 ...

  2. OpenCV-Python(1)在Python中使用OpenCV进行人脸检测

    OpenCV是如今最流行的计算机视觉库,而我们今天就是要学习如何安装使用OpenCV,以及如何去访问我们的摄像头.然后我们一起来看看写一个人脸检测程序是如何地简单,简单到只需要几行代码. 在开始之前, ...

  3. Python如何安装OpenCV库

    转载:https://blog.csdn.net/weixin_35684521/article/details/81953047 OpenCV的概念可百度,在此不再赘述.https://baike. ...

  4. Python图像处理丨OpenCV+Numpy库读取与修改像素

    摘要:本篇文章主要讲解 OpenCV+Numpy 图像处理基础知识,包括读取像素和修改像素. 本文分享自华为云社区<[Python图像处理] 二.OpenCV+Numpy库读取与修改像素> ...

  5. Python的标准库介绍与常用的第三方库

    Python的标准库介绍与常用的第三方库 Python的标准库: datetime:为日期和时间的处理提供了简单和复杂的方法. zlib:以下模块直接支持通用的数据打包和压缩格式:zlib,gzip, ...

  6. [OpenCV] Install OpenCV 3.3 with DNN

    OpenCV 3.3 Aug 3, 2017 OpenCV 3.3 has been released with greatly improved Deep Learning module and l ...

  7. opencv:opencv概述

    opencv官方:www.opencv.org github:https://github.com/opencv OpenCV OpenCV是一个开放源代码的计算机视觉应用平台,由英特尔公司研发中心俄 ...

  8. python Scrapy安装和介绍

    python Scrapy安装和介绍 Windows7下安装1.执行easy_install Scrapy Centos6.5下安装 1.库文件安装yum install libxslt-devel ...

  9. 【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0 +VS 2013 开发环境配置

    图片太多,具体过程参照: [OpenCV入门教程之一] 安装OpenCV:OpenCV 3.0.OpenCV 2.4.8.OpenCV 2.4.9 +VS 开发环境配置 说下我这边的设置: 选择deb ...

  10. [翻译]Mock 在 Python 中的使用介绍

    目录 Mock 在 Python 中的使用介绍 原文链接与说明 恐惧系统调用 一个简单的删除函数 使用 Mock 重构 潜在陷阱 向 'rm' 中加入验证 将文件删除作为服务 方法 1:模拟实例的方法 ...

随机推荐

  1. Mysql之刷盘机制

    一.刷盘机制总览 刷盘过程 mysql刷脏数据在写redo之后,逻辑跟oracle一致. checkpoint/commit -> 内存中的redo到redolog文件 -> 内存中的脏数 ...

  2. Matplotlib Installing an official release from resources 源码安装Matplotlib官方版本

    Installation Installing an official release Matplotlib releases are available as wheel packages for ...

  3. css 去除浮动布局

    前言 在清楚浮动的时候呢,网上有7种,这里只介绍3种,小声哔哔,其他4种都有坑. 正文 第一种: <div class="container"> <div> ...

  4. redis哨兵主备切换的数据丢失问题:异步复制、集群脑裂

    1.两种数据丢失的情况 主备切换的过程,可能会导致数据丢失 (1)异步复制导致的数据丢失 因为master -> slave的复制是异步的,所以可能有部分数据还没复制到slave,master就 ...

  5. Flutter笔记 - 布局类组件

    布局类组件 Row水平方向排列 textDirection 水平方向子组件布局顺序. mainAxisSize 占用空间,默认MainAxisSize.MAX mainAxisAligment 对齐方 ...

  6. java操作xml超简单的方法

    用dom4j?SAX?no,no,no,光看api和帮助文档就烦,有没有更简单的方法呢?答案是有的. 那就是默默无名的:JAXB jaxb是啥? 摘抄一段度娘百科的介绍: JAXB能够使用Jackso ...

  7. js中“??“和“?.“怎么用?

    ??:空值合并操作符 逻辑操作符,左侧为null和undefined时,才返回右侧的数const sum = null ?? 12console.log(sum);//输出12const sum1 = ...

  8. Webpack中Loader和Plugin的区别?编写Loader,Plugin的思路?

    一.区别 前面两节我们有提到Loader与Plugin对应的概念,先来回顾下 loader 是文件加载器,能够加载资源文件,并对这些文件进行一些处理,诸如编译.压缩等,最终一起打包到指定的文件中 pl ...

  9. 牛客网-SQL专项训练18

    ①在下列sql语句错误的是?B 解析: 在sql中若要取得NULL,则必须通过IS NULL或者IS NOT NULL进行获取,无法直接使用等号. 一个等号(=)表示把1赋值给变量啊 ==:称为等值符 ...

  10. 阿里云日志服务SLS携手观测云发布可观测性解决方案,共建可观测应用创新

    简介: 2022年云栖大会期间,阿里云同观测云共同发布可观测性联合解决方案.观测云通过集成日志服务SLS的产品能力,发布了观测云SAAS专属版. 2022年云栖大会期间,阿里云同观测云共同发布可观测性 ...