自己怎么做电影网站可以赚钱吗,php网站后台上传不了图片,浙江省建设厅新网站人员无法查询,怎么分析网站设计之前配置过一次这个#xff0c;想起这玩意就难受#xff0c;贼难配置。由于要用到里面的一个库#xff0c;不得已再进行配置。看网上的博客是真的难受#xff0c;这写一块#xff0c;那里写一块#xff0c;乱七八糟#xff0c;配置一顿发现写的都是错的#xff0c;还得…之前配置过一次这个想起这玩意就难受贼难配置。由于要用到里面的一个库不得已再进行配置。看网上的博客是真的难受这写一块那里写一块乱七八糟配置一顿发现写的都是错的还得重新配置。本篇文章开始配置错了然后是重新配置的需要全文通读 A. 最初配置问题版
一. 安装环境
系统windows10
软件 ①Visual Studio 2017 下载网址下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux
②Cmake.msi文件我这里是3.22版本 下载网址CMake - Upgrade Your Software Build System
文件:
①opencv 4.6.0 下载网址Releases - OpenCVhttps://opencv.org/releases/
②opencv_contribute 下载网址GitCode - 开发者的代码家园https://gitcode.com/opencv/opencv_contrib/tree/4.x?utm_sourcecsdn_github_acceleratorisLogin1
二. Cmake安装过程
这里只进行讲解Cmake的安装过程别的安装过程没啥特别注意点 我把所有的文件安装到了这个位置 三. Cmake编译过程
第一步在opencv文件夹之中新建文件夹
第二步打开相应的Cmake软件
进行如下操作 第三步 打开你的VPN连接外网 第四步配置环境 第五步检测错误
一般而言咱们在进行配置的时候会出现上下两个部分都出错的情况 第二个部分解决方式
错误一 网上查了一下这个地方的问题时由于Cmake没有安装到C盘的原因但是我也不知道对不对我感觉安装到别的地方也没事。为了规避出现错误我就安装到c盘吧我去是真恶心。
边进行上面安装一边下载python2.7下载官网Python Release Python 2.7.0 | Python.org 找到电脑的系统变量这个是很好找到的进行添加。 错误二
将“OPENCV_GENERATE_SETUPVARS”之中的对号不选中
第一个部分解决方式
在界面中的变量中找到“BUILD_opencv_world”和“OPENCV_ENABLE_NONFREE”变量在变量后面选中√。 找到“OPENCV_EXTRA_MODULES_PATH”变量在此变量后面加上contribute_4.6之中的module路径。 在此点击configure即可。
可以见到上下两个部分都没有报错。
直接点击Generate即可 配置完成。 但是第二部分有的时候解决方式我之前遇到过很多次剧难配置。
1打开编译路径下的“CMakeDownloadLog.txt”文件。 打开之后是这个样子的
哎呀字体有点小看不清放大一点 2看一下我缺失的文件找do_copy、missing、check_md5、copy是一组
#do_copy opencv_videoio_ffmpeg.dll 5573e2262ad1298e603122b7759fc2f6 https://raw.githubusercontent.com/opencv/opencv_3rdparty/65ec04d4573dcdfa4531f0b9e67f35d8ffff873e/ffmpeg/opencv_videoio_ffmpeg.dll D:/opencvuse/opencv/opencv_contribute/3rdparty/ffmpeg
#missing D:/opencvuse/opencv/opencv_contribute/3rdparty/ffmpeg/opencv_videoio_ffmpeg.dll
#check_md5 D:/opencvuse/opencv/sources/.cache/ffmpeg/5573e2262ad1298e603122b7759fc2f6-opencv_videoio_ffmpeg.dll
#copy D:/opencvuse/opencv/opencv_contribute/3rdparty/ffmpeg/opencv_videoio_ffmpeg.dll D:/opencvuse/opencv/sources/.cache/ffmpeg/5573e2262ad1298e603122b7759fc2f6-opencv_videoio_ffmpeg.dll#do_copy opencv_videoio_ffmpeg_64.dll 5f9e2b2e04c15f080f40e844de80c867 https://raw.githubusercontent.com/opencv/opencv_3rdparty/65ec04d4573dcdfa4531f0b9e67f35d8ffff873e/ffmpeg/opencv_videoio_ffmpeg_64.dll D:/opencvuse/opencv/opencv_contribute/3rdparty/ffmpeg
#missing D:/opencvuse/opencv/opencv_contribute/3rdparty/ffmpeg/opencv_videoio_ffmpeg_64.dll
#check_md5 D:/opencvuse/opencv/sources/.cache/ffmpeg/5f9e2b2e04c15f080f40e844de80c867-opencv_videoio_ffmpeg_64.dll
#copy D:/opencvuse/opencv/opencv_contribute/3rdparty/ffmpeg/opencv_videoio_ffmpeg_64.dll D:/opencvuse/opencv/sources/.cache/ffmpeg/5f9e2b2e04c15f080f40e844de80c867-opencv_videoio_ffmpeg_64.dll#do_copy ffmpeg_version.cmake 8862c87496e2e8c375965e1277dee1c7 https://raw.githubusercontent.com/opencv/opencv_3rdparty/65ec04d4573dcdfa4531f0b9e67f35d8ffff873e/ffmpeg/ffmpeg_version.cmake D:/opencvuse/opencv/opencv_contribute/3rdparty/ffmpeg
#missing D:/opencvuse/opencv/opencv_contribute/3rdparty/ffmpeg/ffmpeg_version.cmake
#check_md5 D:/opencvuse/opencv/sources/.cache/ffmpeg/8862c87496e2e8c375965e1277dee1c7-ffmpeg_version.cmake
#copy D:/opencvuse/opencv/opencv_contribute/3rdparty/ffmpeg/ffmpeg_version.cmake D:/opencvuse/opencv/sources/.cache/ffmpeg/8862c87496e2e8c375965e1277dee1c7-ffmpeg_version.cmake
可以看到我这里是缺失了三个文件当然这个地方可以去找就可以然后复制下来但是非常难找。
3分别查找三个文件进行下载
#do_copy opencv_videoio_ffmpeg.dll 5573e2262ad1298e603122b7759fc2f6 https://raw.githubusercontent.com/opencv/opencv_3rdparty/65ec04d4573dcdfa4531f0b9e67f35d8ffff873e/ffmpeg/opencv_videoio_ffmpeg.dll D:/opencvuse/opencv/opencv_contribute/3rdparty/ffmpeg
#missing D:/opencvuse/opencv/opencv_contribute/3rdparty/ffmpeg/opencv_videoio_ffmpeg.dll
#check_md5 D:/opencvuse/opencv/sources/.cache/ffmpeg/5573e2262ad1298e603122b7759fc2f6-opencv_videoio_ffmpeg.dll
#copy D:/opencvuse/opencv/opencv_contribute/3rdparty/ffmpeg/opencv_videoio_ffmpeg.dll D:/opencvuse/opencv/sources/.cache/ffmpeg/5573e2262ad1298e603122b7759fc2f6-opencv_videoio_ffmpeg.dlla.首先打开copy最后一行所在的目录下的文件 D:/opencvuse/opencv/sources/.cache/ffmpeg/5573e2262ad1298e603122b7759fc2f6-opencv_videoio_ffmpeg.dll 将“5573e2262ad1298e603122b7759fc2f6-opencv_videoio_ffmpeg.dll”进行删除。
b.在do_copy之中查找第三个双引号之中的内容https://raw.githubusercontent.com/opencv/opencv_3rdparty/65ec04d4573dcdfa4531f0b9e67f35d8ffff873e/ffmpeg/opencv_videoio_ffmpeg.dll复制到浏览器中下载 c.将上述之中的.dll重命名为“5573e2262ad1298e603122b7759fc2f6-opencv_videoio_ffmpeg.dll” 已经重命名进行复制。
d.将其粘贴到与a步骤相同的目录下。
e.上述的a-d步骤将第一个文件配置好了开始进行第二个、第三个文件的配置同第一个文件。
但是第三个文件我下载不下来试一下看看有没有问题
四. visual studio环境配置
第一步 打开安装目录下的.sln文件 第二步
第三步 点击右上角的生成。接着听一首 “送你一朵小红花”网易云音乐网易云音乐是一款专注于发现与分享的音乐产品依托专业音乐人、DJ、好友推荐及社交功能为用户打造全新的音乐生活。https://music.163.com/#/song?id2108827960marketbaiduqk
再来一首黄霄雲的“打开”
网易云音乐网易云音乐是一款专注于发现与分享的音乐产品依托专业音乐人、DJ、好友推荐及社交功能为用户打造全新的音乐生活。https://music.163.com/#/song?id558097640marketbaiduqk听完两首歌等了俩小时。 还是配置错了。 可以见到我在上面进行配置的时候出现的错误是无法打开当前目录下的输入文件..\..\lib\Release\opencv_world460.lib B. 第二天重新进行配置
错误的发现
上面的网址我是打开的GitHub - opencv/opencv_contrib: Repository for OpenCVs extra modules
他的界面是这样的 我直接将其进行了下载作为opencv_contribute是错误的。
需要点击tags按钮选择自己的版本 此刻网址变为https://github.com/opencv/opencv_contrib/tags多了一个tags标签 将其下载下来就可以了。
这里我建议两个同时下载一开始我只下载一个速度比较慢然后同时下载发现第二个压缩包更快一点。 重新配置版本
一. 将opencv4.6进行重新配置
下载opencv放置到opencv4.6文件中 打开属性管理器 右键打开属性页配置不过多赘述 测试
#include opencv2\opencv.hpp // 加载opencv4头文件
#include iostreamusing namespace cv; //opencv的命名空间
using namespace std;int main(int argc, char argv) {Mat img; // 声明一个保存图像的类img imread(被匹配图.png); // 读取图像//resizeWindow(input, 300, 400); // 设置窗口大小为300 * 400像素namedWindow(input, WINDOW_NORMAL); // 创建一个具有自适应大小的窗口imshow(input, img); // 显示图像waitKey(0); // 等待键盘输入destroyAllWindows();return 0;
} 成功。
二.下载Cmake3.26.2
连接外网配置过程同上述过程。
新建文件夹
选择文件夹步骤同上 见到下半部分出现错误 同上面的步骤进行两个选√、一个去√和一个配置路径的过程。
针对于第二部分报红
以第一个报红为例此处参考vs2017cuda10..02cudnn7.6.5opencv4.4opencv_contribute编译_cuda10.2opencv4.7-CSDN博客 将 download_vgg.cmake中的https://raw.githubusercontent.com改为https://raw.staticdn.net
之后重新在cmake 里configure即可。 其他错误将https://raw.githubusercontent.com改为https://raw.staticdn.net 里面有一些chatqr错误因为我不用所以缺失就缺失吧。
之后configure直到不报红。 打开opencv.sln
重新生成解决方案 成功生成109个失败1个跳过10个。先试一试忽略那个失败继续进行。 发现没有生成install重试 非常重要之关于第二部分报红最佳解决方式
见我的博客
见我博客CmakeVS2017OpencvOpencvContribPCL1.8.1配置过程之中问题的出现(如何避坑)_vs2017opencvpcl-CSDN博客文章浏览阅读1.2k次。CmakeVS2017OpencvOpencvContribPCL1.8.1配置过程之中问题的出现(如何避坑),对于在CmakeVS2017OpencvOpencvContrib配置过程之中出现问题的过程进行一个思路整理,当然,这里的问题可能是我出现的,仅仅是供给参考.不得不吐槽一下,配置过程之中都是坑,下面就是总结的一写避坑指南.配置一次需要花费三四十分钟,配置错了还得重新配置,真的难受死了._vs2017opencvpclhttps://blog.csdn.net/m0_47489229/article/details/127156364在C:\Windows\System32\drivers\etc\hosts之中的hosts.txt文件的末尾增加一句151.101.56.133 raw.githubusercontent.com就可以了。这是我认为最简单和直接的方式反正我在这一次性使用这个方式就配置好了别的方法确实不好用。 接下来的重试过程同上只不过我就没改后面的错误配置过程只配置了OPENCV_EXTRA_MODULES_PATH与OPENCV_ENABLE_NONFREE因为下半部分即便有错我不用了就可以了。BUILD_opencv_world我没有进行勾画对号因为在使用的过程中生成一个文件容易出错后面大不了一个个配置就可以了。我想要的是Aruco配置不是全部的配置。
出现错误就config最后Generate。【我忘记了之前是咋配置成功的了这就是个玄学】 全部成功经历大概半个小时。 install成功。 可以见到生成的install文件夹。配置Path环境变量。
C. Aruco配置
一. Aruco下载
aruco下载地址ArUco download | SourceForge.netDownload ArUco for free. Augmented reality library based on OpenCV. ArUco is a minimal library for Augmented Reality applications based exclusively on OpenCV. Relies on b/w markers with codes that are detected by calling a single function.https://sourceforge.net/projects/aruco/aruco生成官网Online ArUco markers generatorGenerate ArUco marker for printing with dictionary selectionhttps://chev.me/arucogen/
aruco参考网址
OpenCV: Detection of ArUco Markershttps://docs.opencv.org/4.5.4/d5/dae/tutorial_aruco_detection.html解压与创建的文件夹 二. Cmake配置
过程同上。 特别注意需要把OpenCV_DIR目录下的位置修改为opencv_build文件夹所在位置CMAKE_INSTALL_PREFIX的位置应该可以更改我这里选择了默认位置
包含重新生成与安装的过程经历一分钟。 安装的时候出错 看了一下安装路径 不存在Aruco文档说明放到C盘不合适。
我改到了D盘成功生成。 可以见到生成的aruco文档。 D. 开始项目的配置
一. 属性配置 包含目录
D:\opencv4.6\aruco\include;
D:\opencv4.6\aruco\include\aruco;
D:\opencv4.6\opencv\newbuild\install\include;
D:\opencv4.6\opencv\newbuild\install\include\opencv2;
$(IncludePath) 库目录 链接器-输入-附加依赖项: 这个地方由于没有集成所以要进行完整的lib配置
找到下面的这个地方输入cmd执行dir /b *.lib *0.txt命令在当前文件夹中生成0.txt将其内容复制粘贴到附加依赖项之中删除不是lib结尾项同时加入aruco的lib。 二. 代码测试
#include iostream
#include opencv2/core/core.hpp
#includeopencv2/highgui/highgui.hpp
#include opencv2/aruco/charuco.hpp
#include opencv2/imgproc.hppusing namespace cv;
using namespace std;void maker_test(Mat image)
{cv::Ptrcv::aruco::Dictionary dictionary cv::aruco::getPredefinedDictionary(cv::aruco::DICT_4X4_100);cv::Ptrcv::aruco::DetectorParameters params aruco::DetectorParameters::create();params-cornerRefinementMethod cv::aruco::CORNER_REFINE_NONE;cv::Mat imageCopy;image.copyTo(imageCopy);std::vectorint ids;std::vectorstd::vectorcv::Point2f corners, rejected;cv::aruco::detectMarkers(image, dictionary, corners, ids, params);// if at least one marker detectedif (ids.size() 0){cv::aruco::drawDetectedMarkers(imageCopy, corners, ids);cv::resize(imageCopy, imageCopy,Size(4096/6,2160/6));cv::imshow(test, imageCopy);cv::waitKey();}}int main(){Mat img cv::imread(test.jpg, 1);maker_test(img);}成功生成 中间的蓝色框为想要的id