在windows上安装OpenCV

在windows上安装OpenCV,官方提供的教程,我翻译了一下。如有不正解,请指正

使用git-bash(版本> = 2.14.1)和cmake(版本> = 3.9.1)安装

1.您必须下载cmake(版本> = 3.9.1)并进行安装。 安装期间必须将cmake添加到PATH变量
2.您必须安装git-bash(版本> = 2.14.1)。 在安装过程中不要将git添加到PATH变量中
3.运行git-bash。 您观察到命令行窗口。 假设您要在c:/ lib中构建opencv和opencv_contrib
4.在git命令行中输入以下命令(如果文件夹不存在):
mkdir /c/lib
cd /c/lib
5.使用名称installOCV.sh将此脚本保存在c:/ lib中

#!/bin/bash -e
myRepo=$(pwd)
CMAKE_CONFIG_GENERATOR="Visual Studio 14 2015 Win64"
if [  ! -d "$myRepo/opencv"  ]; thenecho "cloning opencv"git clone https://github.com/opencv/opencv.gitmkdir -p Build/opencvmkdir -p Install/opencv
elsecd opencvgit pull --rebasecd ..
fi
if [  ! -d "$myRepo/opencv_contrib"  ]; thenecho "cloning opencv_contrib"git clone https://github.com/opencv/opencv_contrib.gitmkdir -p Build/opencv_contrib
elsecd opencv_contribgit pull --rebasecd ..
fi
RepoSource=opencv
pushd Build/$RepoSource
CMAKE_OPTIONS='-DBUILD_PERF_TESTS:BOOL=OFF -DBUILD_TESTS:BOOL=OFF -DBUILD_DOCS:BOOL=OFF  -DWITH_CUDA:BOOL=OFF -DBUILD_EXAMPLES:BOOL=OFF -DINSTALL_CREATE_DISTRIB=ON'
cmake -G"$CMAKE_CONFIG_GENERATOR" $CMAKE_OPTIONS -DOPENCV_EXTRA_MODULES_PATH="$myRepo"/opencv_contrib/modules -DCMAKE_INSTALL_PREFIX="$myRepo"/install/"$RepoSource" "$myRepo/$RepoSource"
echo "************************* $Source_DIR -->debug"
cmake --build .  --config debug
echo "************************* $Source_DIR -->release"
cmake --build .  --config release
cmake --build .  --target install --config release
cmake --build .  --target install --config debug
Popd

在此脚本中,我想您以64位使用VS 2015
CMAKE_CONFIG_GENERATOR=“Visual Studio 14 2015 Win64”

备注
如果你想要用VS 2017,你可以这样修改
CMAKE_CONFIG_GENERATOR="Visual Studio 15 2017 Win64"

并且opencv将安装在c:/ lib / install中
-DCMAKE_INSTALL_PREFIX=“myRepo"/install/"myRepo"/install/"myRepo"/install/"RepoSource” “myRepo/myRepo/myRepo/RepoSource”
没有Perf测试,没有测试,没有文档,没有CUDA以及没有示例
CMAKE_OPTIONS=’-DBUILD_PERF_TESTS:BOOL=OFF -DBUILD_TESTS:BOOL=OFF -DBUILD_DOCS:BOOL=OFF -DBUILD_EXAMPLES:BOOL=OFF’

6.在git命令行中输入以下命令:
./installOCV.sh
7.喝一两杯咖啡… opencv准备好了:就这些!
8.下次运行此脚本时,将更新并重建opencv和opencv_contrib

到这里就完成了安装,可以在Visual Studio里用OpenCV了。这是最简单的方法,如果你想要opencv_contrib下的module,但如果你只想要OpenCV,可以直接在OpenCV的官网上下载windows的安装包,解压后就可以了。

通过从源文件制作自己的库进行安装

如果您要构建自己的库,则可以从我们的Git存储库中获取源文件。

从头开始构建OpenCV库需要预先安装几个工具:

  • 选择一个IDE(最好),或者只是一个将实际生成二进制文件的CC ++编译器。 在这里,我们将使用Microsoft Visual
    Studio。 但是,您可以使用具有有效CC ++编译器的任何其他IDE。

  • CMake,这是一个精巧的工具,可以从OpenCV源文件生成项目文件(针对您选择的IDE)。 它还将允许轻松配置OpenCV构建文件,以使二进制文件完全适合您的需求。

  • Git获取OpenCV源文件。
    一个很好的工具是TortoiseGit。 另外,您也可以从Sourceforge上的页面下载源文件的存档版本

OpenCV可能有多种形式。 有一个“核心”部分可以独立工作。 尽管如此,还是有一些由第三方组成的工具库(3rd parties),它们提供了OpenCV可以利用的服务。 这些将在许多方面提高其功能。 为了使用它们中的任何一个,您需要下载并将它们安装在系统上。

  • 需要Python库来构建OpenCV的Python接口。现在,请使用2.7.{x}版本。如果要构建OpenCV文档,这也是必须的。

  • Numpy是用于Python的科学计算软件包。 Python介面所必需。

  • OpenCV内部使用英特尔线程构建模块(TBB)处理并行代码段。使用此功能可确保OpenCV库将利用系统CPU中拥有的所有内核。

  • 英特尔集成性能基元(IPP)可用于提高OpenCV库的颜色转换,Haar训练和DFT功能的性能。请注意,因为这不是一项免费服务。

  • 与使用Qt框架的默认用户界面相比,OpenCV提供了一种更精美,更有用的图形用户界面。要快速了解此功能,请查看“ Qt新功能”部分下的文档highgui模块。需要框架的4.6版或更高版本。

  • Eigen是用于线性代数的C ++模板库。

  • 最新的CUDA工具包将允许您使用GPU内部的电源。这将大大提高某些算法(例如HOG描述符)的性能。 OpenCV团队不断努力使我们越来越多的算法能够在GPU上运行。

  • 该库需要OpenEXR源文件才能使用这种高动态范围(HDR)图像文件格式。

  • OpenNI框架包含一组开源API,这些API通过语音命令识别,手势和身体运动跟踪等方法为与设备的自然交互提供支持。预编译的二进制文件可以在这里找到。 Github上也提供了OpenNI和OpenNI2的源代码

  • Doxygen是一个文档生成器,并且是实际上将创建OpenCV文档的工具。

现在,我们将描述完整构建所要遵循的步骤(使用上述所有框架,工具和库)。 如果不需要其中一些支持,则可以随意跳过本节。

建立文库

1.确保您的IDE带有有效的编译器。如果是Microsoft Visual Studio,则只需安装并确保其启动即可。
2.安装CMake。只需遵循向导,无需将其添加到路径。默认安装选项为“确定”。
3.从其官方站点下载并安装msysgit的最新版本。还有一个便携式版本,您只需打开包装即可访问Git的控制台版本。假设对于我们中的某些人来说,这可能就足够了。
4.安装TortoiseGit。根据您使用的操作系统类型选择32位或64位版本。在安装时,找到您的msysgit(如果它不会自动执行此操作)。按照向导进行操作–大多数情况下,默认选项都可以。
5.在文件系统中选择一个目录,您将在其中下载OpenCV库。我建议创建一个路径短且没有特殊字符的新路径,例如D:/ OpenCV。对于本教程,我建议您这样做。如果您使用自己的路径并且知道自己在做什么–可以。
a.将存储库克隆到所选目录。单击“克隆”按钮后,将出现一个窗口,您可以从其中选择要下载源文件的存储库(https://github.com/opencv/opencv.git)以及要下载到的目录(D:/ OpenCV)。
b.按下“确定”按钮,请耐心等待,因为该资源库下载量很大。这将需要一些时间,具体取决于您的Internet连接。
6.在本节中,我将介绍安装第三方库(3rd party libraries)。
a.下载Python库并使用默认选项进行安装。您将需要其他几个python扩展。幸运的是,可以通过一个名为Setuptools的不错的工具来自动安装所有这些工具。重新下载并安装。
b.安装Numpy的最简单方法是仅从sourceforge页面下载其二进制文件。确保下载并完全安装适用于python版本的二进制文件(适用于2.7版本)。
c.对于英特尔线程构建模块(TBB),请下载源文件并将其解压缩到系统上的目录中。例如,让D:/ OpenCV / dep。对于安装英特尔集成性能基元(IPP)的情况是相同的。要提取档案,我建议使用7-Zip应用程序。
在这里插入图片描述

d.如果是Eigen库,则还是要下载并解压缩到D:/ OpenCV / dep目录。
e.与上述OpenEXR相同。
f.对于OpenNI框架,您需要同时安装开发版本和PrimeSensor模块。
g.对于CUDA,您再次需要两个模块:最新的CUDA工具包和CUDA工具SDK。 根据您的操作系统,使用32或64位设置下载并安装完整的选项。
h.如果使用Qt框架,则需要自己构建二进制文件(除非您将Microsoft Visual Studio 2008与32位编译器一起使用)。 为此,请转到“ Qt下载”页面。 下载源文件(而不是安装程序!!):
在这里插入图片描述

将其解压缩到一个漂亮且简短的目录中,例如D:/ OpenCV / dep / qt /。 然后,您需要构建它。 通过使用开始菜单搜索来启动Visual Studio命令提示符(2010)(或在开始菜单“所有程序”->“ Microsoft Visual Studio 2010”->“ Visual Studio工具”->“ Visual Studio命令提示符”(2010)中导航)。

在这里插入图片描述
现在,导航到提取的文件夹,并使用此控制台窗口在其中输入。 您应该有一个包含诸如Install,Make等文件的文件夹。 使用dir命令列出当前目录中的文件。 到达此目录后,输入以下命令:
configure.exe -release -no-webkit -no-phonon -no-phonon-backend -no-script -no-scripttools
-no-qt3support -no-multimedia -no-ltcg
完成此过程大约需要10-20分钟。 然后输入下一个命令,该命令将花费更长的时间(很容易花费甚至超过一个小时的时间):
nmake
之后,在Windows 7上使用以下命令设置Qt环境变量:
setx -m QTDIR D:/OpenCV/dep/qt/qt-everywhere-opensource-src-4.7.3
另外,通过使用PathEditor将构建的二进制文件路径添加到系统路径。 在我们的例子中,这是D:/OpenCV/dep/qt/qt-everywhere-opensource-src-4.7.3/bin。

注意
如果计划进行Qt应用程序开发,则此时也可以安装Qt Visual Studio加载项。 之后,您无需使用Qt Creator即可制作和构建Qt应用程序。 一切都很好地集成到Visual Studio中。

7.现在启动CMake(cmake-gui)。 您可以再次在开始菜单搜索中输入它,也可以从“所有程序”-> CMake 2.8-> CMake(cmake-gui)中获取它。 首先,选择OpenCV库的源文件目录(1)。 然后,指定用于构建OpenCV(2)二进制文件的目录。
在这里插入图片描述
按“配置(Configure )”按钮以指定要使用的编译器(和IDE)。 请注意,如果您可以在不同的编译器之间进行选择,以制作64位或32位库。 选择在应用程序开发中使用的一个。
在这里插入图片描述
CMake将启动,并根据您的系统变量尝试自动定位尽可能多的软件包。 您可以在WITH –> WITH_X菜单点(其中X是软件包的缩写)中修改要用于构建的软件包。 以下是您可以打开或关闭的当前软件包的列表:
在这里插入图片描述
选择您要使用的所有软件包,然后再次按“配置”按钮。 为了更轻松地了解构建选项,请确保已打开二进制目录选择下的“分组”选项。 对于某些软件包,CMake可能找不到所有必需的文件或目录。 在这种情况下,CMake将在其输出窗口(位于GUI的底部)中引发错误,并将其字段值设置为找不到常量。 例如:
在这里插入图片描述
在这里插入图片描述
对于这些,您需要手动设置查询的目录或文件路径。 之后,再次按“配置”按钮以查看您输入的值是否被接受。 执行此操作,直到所有输入都正确,并且看不到GUI的字段/值或输出部分中的错误为止。 现在,我想强调一个您一定会喜欢的选项:ENABLE –> ENABLE_SOLUTION_FOLDERS。 OpenCV将创建许多项目,并且选择此选项将确保它们在解决方案资源管理器的目录中被归类。 如果您问我,这是必须具备的功能。
在这里插入图片描述
此外,您需要选择要构建OpenCV的哪一部分。

  • BUILD_DOCS->它创建两个项目来构建OpenCV的文档(将有一个单独的项目来构建HTML和PDF文件)。请注意,这些不是与解决方案一起构建的。您需要对这些命令执行一个明确的build project
  • BUILD_EXAMPLES-> OpenCV附带了许多示例应用程序,您可以从中学习大多数库功能。如果您的计算机上的OpenCV功能齐全,这也将很容易尝试。
  • BUILD_PACKAGE->在此之前的2.3版之前,您可以构建一个将构建OpenCV安装程序的项目。这样,您就可以轻松地在其他系统上安装OpenCV Favourite。对于OpenCV的最新源文件,它将生成一个新项目,该项目仅使用OpenCV源创建一个zip存档。
  • BUILD_SHARED_LIBS->使用此控件,您可以控制构建DLL文件(打开时)或构建静态库文件(* .lib)。
  • BUILD_TESTS-> OpenCV的每个模块都分配有一个测试项目。构建这些测试项目也是尝试的好方法,因为这些模块也可以在您的系统上正常工作。
  • BUILD_PERF_TESTS->还有许多OpenCV函数的性能测试。如果您担心性能,请构建它们并运行。
  • BUILD_opencv_python->不言自明。创建二进制文件以使用来自Python语言的OpenCV。
  • BUILD_opencv_world->生成一个包括所有模块的单个“ opencv_world”二进制文件(一个共享库或静态库,取决于BUILD_SHARED_LIBS),而不是一个单独的二进制文件的集合,每个模块一个二进制文件。
    再次按配置按钮,并确保没有错误报告。 在这种情况下,您可以通过按“生成”按钮告诉CMake创建项目文件。 转到构建目录并打开创建的OpenCV解决方案。 根据您选择的上述选项的多少,解决方案可能包含很多项目,因此容忍IDE的启动。 现在,您需要构建Release和Debug二进制文件。 在为其中一个构建之后,请使用IDE上的下拉菜单将其更改为另一个。
    在这里插入图片描述
    最后,您可以观察bin目录中构建的二进制文件:
    在这里插入图片描述
    对于文档,您需要在doxygen项目上为HTML文档明确发出构建命令。 它将调用Doxygen进行所有艰苦的工作。 您可以在build / doc / doxygen / html中找到生成的文档。

要将标头和二进制文件(将在自己的项目中使用)收集到一个单独的目录中(类似于预构建的二进制文件的方式),需要显式构建Install项目。

在这里插入图片描述

这将在Build内部创建一个Install目录,将所有已构建的二进制文件收集到一个位置。 仅在构建发行版和调试版之后才使用此功能。

要测试您的构建,只需进入Build / bin / Debug或Build / bin / Release目录并启动几个应用程序,例如contours.exe。 如果它们运行,您就完成了。 否则,肯定会出现严重错误。 在这种情况下,您应该在我们的问答论坛上与我们联系。 如果一切正常,则contours.exe输出应类似于以下图像(如果使用Qt支持构建):
在这里插入图片描述

注意
如果使用GPU模块(CUDA库),请确保还升级到GPU的最新驱动程序。 错误消息中包含(或找不到)nvcuda.dll中的无效条目,主要是由旧的视频卡驱动程序引起的。 要测试GPU(如果已构建),请运行performance_gpu.exe示例应用程序。

设置OpenCV环境变量并将其添加到系统路径
首先,我们设置一个环境变量以简化我们的工作。 这将保存我们在项目中使用的OpenCV库的build目录。 启动命令窗口并输入:
setx -m OPENCV_DIR D:\ OpenCV \ Build \ x86 \ vc11(建议用于Visual Studio 2012-32位Windows)
setx -m OPENCV_DIR D:\ OpenCV \ Build \ x64 \ vc11(建议用于Visual Studio 2012-64位Windows)
setx -m OPENCV_DIR D:\ OpenCV \ Build \ x86 \ vc12(建议用于Visual Studio 2013-32位Windows)
setx -m OPENCV_DIR D:\ OpenCV \ Build \ x64 \ vc12(建议用于Visual Studio 2013-64位Windows)
setx -m OPENCV_DIR D:\ OpenCV \ Build \ x64 \ vc14(建议用于Visual Studio 2015-64位Windows)

在此目录中,可以找到(提取或构建的)OpenCV二进制文件。您可以使用其他平台(例如x64而不是x86)或编译器类型,因此请替换适当的值。在其中,您应该有两个名为lib和bin的文件夹。如果要使计算机设置明智,而不是用户明智,则应添加-m。

如果您构建了静态库,那么您就完成了。否则,您需要将bin文件夹路径添加到系统路径。这是因为您将以*“动态链接库” *(也称为DLL)的形式使用OpenCV库。这些内部存储着OpenCV库包含的所有算法和信息。操作系统将仅在运行时按需加载它们。但是,为此,操作系统需要知道它们的位置。系统PATH包含可以找到DLL的文件夹列表。将OpenCV库路径添加到此路径,然后操作系统将知道他是否需要OpenCV二进制文件在哪里寻找。否则,您将需要在操作系统的应用程序可执行文件(exe)旁边复制使用的DLL,以找到它,如果您在许多项目上工作,这将是非常不愉快的。为此,请再次启动PathEditor并添加以下新条目(在应用程序中单击鼠标右键以显示菜单):
%OPENCV_DIR%\bin
在这里插入图片描述
在这里插入图片描述
将其保存到注册表中,即可完成操作。 如果您更改了构建目录的位置,或者想尝试使用其他构建版本的应用程序,那么您要做的就是通过命令窗口中的setx命令更新OPENCV_DIR变量。

现在,您可以继续阅读“ Microsoft Visual Studio”部分中的“如何使用OpenCV构建应用程序”教程。 在那里,您将找到如何在Microsoft Visual Studio IDE的帮助下在自己的项目中使用OpenCV库。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/260915.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CMake 编译 OpenCV 项目,不是编译OpenCV, 用了之后才知道CMake也太好用了。

新建一个 CMakeList.txt 复制下面代码,并保存 cmake_minimum_required (VERSION 3.0)PROJECT(Chapter2)set (CMAKE_CXX_STANDARD 11)IF(EXISTS ${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)conan_basic_setup() E…

Java Ajax jsonp 跨域请求

2019独角兽企业重金招聘Python工程师标准>>> 1. 什么是JSONP 一般来说位于 server1.example.com 的网页无法与不是 server1.example.com的服务器沟通&#xff0c;而 HTML 的<script> 元素是一个例外。利用 <script> 元素的这个开放策略&#xff0c;网页…

对IEnumerableT,IDictionaryTkey,TValue,ICollectionT,IListT的总结

1、IEnumerable<T>接口和IEnumerable接口 实现了IEnumerable接口的集合表明该集合能够提供一个enumerator(枚举器)对象&#xff0c;支持当前的遍历集合。IEnumerable接口只有一个成员GetEnumerator()方法。 IEnumerator接口实现了IEnumerator接口的集合实现了从一个元素到…

学习Python中用numpy与matplotlib遇到的一些数学函数与函数的绘图

学习Python中的一些数学函数与函数的绘图 主要用到numpy 与 matplotlib 如果有什么不正确&#xff0c;欢迎指教。 图片不知道怎样批量上传&#xff0c;一个一个怎么感觉很小&#xff0c;请见谅 自行复制拷贝&#xff0c;到vs&#xff0c;jupyter notebook, spyder都可以 函…

有这个OCR程序,不用再买VIP了,Python 调用百度OCR API

最近学习&#xff0c;很多东西都是视频&#xff0c;截图后&#xff0c;又想做成文档保存起来。 刚开始不多&#xff0c;打一下字就很快解决了。 随着时间的推移&#xff0c;现在越来越多的图了&#xff0c;管理起来确实不方便&#xff0c;打字有时也不能很快的解决。 所以就…

linux常用命令_Linux常用命令全称

从事IT行业的很多人都会使用Linux常用命令&#xff0c;但是知道这些常用命令全称的人并不多&#xff0c;让我们来看看这些常用命令对应的全称吧&#xff01;必备Linux命令和C语言基础_C语言_嵌入式开发工程师-创客学院​www.makeru.com.cnpwd:print work directory 打印当前目录…

存储程序(1)——MYSQL

MySQL支持把几种对象存放在服务器端供以后使用。这几种对象有一些可以根据情况通过程序代码调用&#xff0c;有一些会在数据表被修改时自动执行&#xff0c;还有一些可以在预定时刻自动执行。它们包括以下几种: 1.存储函数(stored function)。返回一个计算结果&#xff0c;该结…

闯过这 54 关,点亮你的 Git 技能树 (五) - 完结篇

这是一个系列文章&#xff0c;介绍学习 Git 的一个小游戏 - githug&#xff0c;如果你是第一次看到&#xff0c;请先阅读&#xff1a;闯过这 54 关&#xff0c;点亮你的 Git 技能树闯过这 54 关&#xff0c;点亮你的 Git 技能树&#xff08;一&#xff09;闯过这 54 关&#xf…

Jupyter notebook 不安装主题,通过修改css更改 默认字体,字体大小等

目标&#xff1a; Jupyter notebook 又不想改更主题的的情况下&#xff0c;可以通过修改css的目的来达到修改默认的字体&#xff0c;字号心达到可以好的阅读效果。 方法 要修改的css文件目录如下&#xff0c; D:\Anaconda\Lib\site-packages\notebook\static\custom 这个就是…

坚果nuts 加速 官网_【喂你播】坚果手机2020新品发布会来了;三星定向华为手机推以旧换新...

周五喂diu 不只有你们爱的女主播 还有小编呢BGM&#xff1a;Make You Hustle-Croatia Squad坚果手机2020新品发布会来了坚果手机正式宣布&#xff1a;坚果手机2020新品发布会将于10月20日19:30在五棵松M空间举行。根据此前爆料&#xff0c;坚果手机新品或命名为坚果Pro4&#x…

图像处理核函数:之高斯核的生成方法 python

图像处理核函数&#xff1a;之高斯核函数的生成方法 python高斯核函数&#xff08;低通高斯滤波器核&#xff09;高斯分布函数高斯核生成函数代码效果高斯核函数的图像高斯核函数&#xff08;低通高斯滤波器核&#xff09; 最近在看DIP&#xff08;Digital Image Processing)&…

WEB-INFO/lib build path 的jar包问题

为什么80%的码农都做不了架构师&#xff1f;>>> 一、build path&WEB-INFO/lib介绍 build path&#xff1a;可以说是引用&#xff1b; WEB-INFO/lib&#xff1a;可以说是固定在一个地方&#xff1b; eclipse编译项目的时候是根据build path的&#xff0c;如果…

Windows phone 7之页面布局

Windows phone的页面布局方式一般是依赖布局控件实现的&#xff0c;而布局控件有三种Grid&#xff0c;StackPanel和Canvas Grid是网格布局方式&#xff0c;相当于一个表格&#xff0c;有行和列&#xff0c;新建一个Windows phone项目&#xff0c;打开MainPage.xaml&#xff0c;…

苹果电脑删除软件_软件自动开启很烦人?如何彻底关掉开机自动开启的应用程序...

使用Mac的小伙伴有没有这样的烦恼&#xff0c;电脑一开机&#xff0c;一堆烦人的软件就自动开启了&#xff0c;让人很懊恼&#xff0c;如何才能彻底关掉开机自动开启的应用程序&#xff1f;mac开机启动项怎么设置&#xff1f;开机启动项要怎么禁止&#xff1f;今天就带大家解决…

csgo怎么控制电脑玩家_电脑远程控制怎么弄

本教程以“Win 10”系统为例进行演示。方法一&#xff1a;1/6在“此电脑”单击鼠标右键选择“属性”2/6在弹出窗口中点击“远程设置”3/6勾选“允许远程协助连接这台计算机”&#xff0c;然后点击应用并确定4/6在微软小娜搜索“mstsc”5/6打开“远程桌面连接”6/6输入对方的IP地…

MNIST 手写数字识别,我是如何做到886个可训练参数,识别率达到98.2%? (参数、模型压缩), Keras实现,模型优化

一 项目展示 下面可以看到验证集可以到了0.9823了&#xff0c;实际上&#xff0c;在下面的另外一个训练&#xff0c;可以得到0.9839&#xff0c;我保守的写了0.982 二 项目参数展示 我们先来看看LeNet 5 的结构与参数&#xff0c;参数有61&#xff0c;706个。 这个是我用…

javascript 计算两个坐标的距离 米_土方全面应用计算

各种土方量的计算方法汇总8.2.1 DTM法土方计算由DTM模型来计算土方量是根据实地测定的地面点坐标(X&#xff0c;Y&#xff0c;Z)和设计高程&#xff0c;通过生成三角网来计算每一个三棱锥的填挖方量&#xff0c;最后累计得到指定范围内填方和挖方的土方量&#xff0c;并绘出填…

unity 阳光插件_网络广告,阳光创信保驾护航

网络广告 就找阳光创信。网络营销的技术基础主要是以计算机网络技术为代表的信息技术。计算机网络是现代通信技术与计算机技术相结合的产物&#xff0c;它把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络&#xff0c;从而使众多的计算机…

第2章 Python 数字图像处理(DIP) --数字图像基础1 - 视觉感知要素 - 亮度适应与辨别

数字图像基础1视觉感知要素亮度适应与辨别import sys import numpy as np import cv2 import matplotlib import matplotlib.pyplot as plt import PIL from PIL import Imageprint(f"Python version: {sys.version}") print(f"Numpy version: {np.__version__…

快速幂与快速乘法

List 快速幂与快速乘法 ListKnowledge快速幂 原理code快速乘法 原理codeKnowledge 快速幂 原理 a^b%p 采用二进制得思想&#xff0c;将b转化为二进制数。 b c02^0c12^1c22^2c32^3……cn2^n a^b a^(a12^0)a^(c12^1)……a^(cn2^n) 所以我们可以在log(b)的时间内求出a^(2^0)…