编译opencv4.6问题汇总,第三方软件包见我发的资源

news2024/12/26 11:03:19

win10系统 python3.8.2,cmake-3.15.5-win64-x64,opencv4.6

编译方式见:OpenCV的编译 - 知乎

本文主要总结问题。赠人玫瑰手留余香。

问题1

Problem with installing OpenCV using Visual Studio and CMake (error code: MSB3073)

解决方法

Use below steps:

  1. Navigate to your build folder
  2. Right click on ALL-BUILD.vcxproj
  3. Select properties
  4. Select Security tab
  5. Select Edit
  6. Check Full Control Box
  7. Open ALL-BUILD.vcxproj
  8. Right click on INSTALL and select Rebuild

Worked for me.

问题2

关于Cmake编译opencv中使用不了SIFT,SURF


之后在cmake中点击configure,注意这一步不要delete cache

问题3

CMake Warning (dev) at cmake/OpenCVUtils.cmake:144 (find_package):

Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules

are removed.  Run "cmake --help-policy CMP0148" for policy details.  Use

在CMakeList.txt 文件中增加一行:

if(POLICY CMP0148) cmake_policy(SET CMP0148 OLD) endif()

问题4

Installing OpenCV 3.1.0 with CMake on Windows 7, opencv_ffmpeg.dll invalid hash

一种方法是在ffmpeg目录下方downloads文件,并放上响应的文件。但还是直接放到./cache/文件夹下面最方面

如下:

I found sub-string ffmpeg.dll in opencv\sources\3dparty\ffmpeg\ffmpeg.cmake:

set(FFMPEG_BINARIES_COMMIT "8aeefc4efe3215de89d8c7e114ae6f7a6091b8eb")

set(FFMPEG_FILE_HASH_BIN32 "89c783eee1c47bfc733f08334ec2e31c")

set(FFMPEG_FILE_HASH_BIN64 "35fe6ccdda6d7a04e9056b0d73b98e76")

set(FFMPEG_FILE_HASH_CMAKE "8606f947a780071f8fcce8cbf39ceef5")

set(FFMPEG_DOWNLOAD_URL https://raw.githubusercontent.com/Itseez/opencv_3rdparty/${FFMPEG_BINARIES_COMMIT}/ffmpeg/)ocv_download(PACKAGE ...)

Download files: https://raw.githubusercontent.com/Itseez/opencv_3rdparty/8aeefc4efe3215de89d8c7e114ae6f7a6091b8eb/ffmpeg/{opencv_ffmpeg.dll,opencv_ffmpeg_64.dll,ffmpeg_version.cmake}

and copy it to:

opencv\sources\3rdparty\ffmpeg\downloads\%HASH%\

Then cmake.exe -G "CodeBlocks - MinGW Makefiles" . and mingw32-make.exe

问题5

'cmake' will raise "OpenCVGenSetupVars.cmake" error (when configure OpenCV)

 had the same problem. The compilation was still successful after ignoring this warning. So the second time I built it, I removed the configuration option(OPENCV_GENERATE_SETUPVARS).

也就是OPENCV_GENERATE_SETUPVARS后面的√取消掉

问题6

Opencv_contrib编译

在opencv在cmake软件中configure结束后添加opencv_contrib文件夹中的modules文件到变量中。

需要使用SURF等库时在NONFREE后面打钩

之后点击configure,注意这一步不要delete cache,直接继续configure

问题7

face_landmark_model.dat,ffmpeg,ippicv等安装

下载完成之后,在\源码\.cache\文件夹下,找到源文件,复制下文件名(校验码+文件),

把下载的文件拷贝过来,修改成\.cache\目录里的名称。如下

然后重新在cmake里面configure就可以了

问题8

严重性    代码    说明    项目    文件        禁止显示状态
错误    C2059    语法错误:“)”    opencv_test_objdetect    D:\opencv\opencv\source\opencv-4.x\modules\objdetect\test\test_qrcode_encode.cpp    324    
警告    C4819    该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失    opencv_test_objdetect    D:\opencv\opencv\source\opencv-4.x\modules\objdetect\test\test_qrcode_encode.cpp    1    
错误    C2059    语法错误:“for”    opencv_test_objdetect    D:\opencv\opencv\source\opencv-4.x\modules\objdetect\test\test_qrcode_encode.cpp    324    
错误    C2143    语法错误: 缺少“)”(“;”的前面)    opencv_test_objdetect    D:\opencv\opencv\source\opencv-4.x\modules\objdetect\test\test_qrcode_encode.cpp    324    
错误    C2065    “i”: 未声明的标识符    opencv_test_objdetect    D:\opencv\opencv\source\opencv-4.x\modules\objdetect\test\test_qrcode_encode.cpp    324    
错误    C2065    “i”: 未声明的标识符    opencv_test_objdetect    D:\opencv\opencv\source\opencv-4.x\modules\objdetect\test\test_qrcode_encode.cpp    324    
错误    C2275    “std::string”: 将此类型用作表达式非法    opencv_test_objdetect    D:\opencv\opencv\source\opencv-4.x\modules\objdetect\test\test_qrcode_encode.cpp    326    
错误    C2146    语法错误: 缺少“)”(在标识符“input_info”的前面)    opencv_test_objdetect    D:\opencv\opencv\source\opencv-4.x\modules\objdetect\test\test_qrcode_encode.cpp    326    
错误    C2065    “input_info”: 未声明的标识符    opencv_test_objdetect    D:\opencv\opencv\source\opencv-4.x\modules\objdetect\test\test_qrcode_encode.cpp    328    
错误    C2065    “input_info”: 未声明的标识符    opencv_test_objdetect    D:\opencv\opencv\source\opencv-4.x\modules\objdetect\test\test_qrcode_encode.cpp    350    
错误    C2737    “gtest_ar”: 必须初始化 const 对象    opencv_test_objdetect    D:\opencv\opencv\source\opencv-4.x\modules\objdetect\test\test_qrcode_encode.cpp    350    
错误    C2059    语法错误:“}”    opencv_test_objdetect    D:\opencv\opencv\source\opencv-4.x\modules\objdetect\test\test_qrcode_encode.cpp    435    
错误    C2143    语法错误: 缺少“;”(“}”的前面)    opencv_test_objdetect    D:\opencv\opencv\source\opencv-4.x\modules\objdetect\test\test_qrcode_encode.cpp    435    

更改文件编码格式保存

在类别找到文件,在右边命令一栏找到高级保存选项 将文字编码改为936的简体中文

移植问题

如果你是在本机使用,那么现在你就可以直接去python里对应的虚拟环境中调用cv2了。如果是准备再另一个电脑上使用,看下文

首先进入你最开始在cmake里设置的build路径 然后找到lib-python3-release-然后这里有个pyd文件 我们就要这个,拷出来

然后我们找到install-x64-vc16-bin,里面有2dll,拷出来

将这3个文件都拷贝到py程序的根目录,你就可以使用opencv了,大小确实小了点哈(尴尬)

————————————————

                       

原文链接:https://blog.csdn.net/weixin_44287933/article/details/133032558

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

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

相关文章

实验3:利用Linux的消息队列通信机制实现三个线程间的通信

调用原型 POSIX信号量–无名信号量 POSIX信号量是Pthread线程库提供的一种同步机制,包括无名信号量和有名信号量两种机制。无名信号量,常用于多线程间的同步,也可用于相关进程间的同步(需置于相关进程间的共享内存区中&#xff…

React、React Router、JSX 简单入门快速上手

React、React Router、JSX 简单入门快速上手 介绍特点 JSX使用js表达式渲染列表样式控制注意事项 入门脚手架创建react项目安装目录介绍入口文件解析 组件解析介绍函数式组件类组件 事件绑定注意点定义使用事件对象事件处理函数接收额外参数 组件状态状态的定义使用 组件通信父…

金蝶云星空RCE漏洞合集(多接口批量检测)

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

IntelliJ Idea实用插件推荐

目录 一、插件安装 二、常用插件 A、代码规范 Alibaba Java Coding Guidelines SonarLint B、快捷开发 aiXcoder-AI代码生成 AWS Toolkit-AI代码生成 CodeGeeX-AI代码生成 CodeGlance-代码缩略图 camelCase-格式转换 GsonFormatPlus-json代码生成 Sequence Giagram…

从搜索引擎到答案引擎:LLM驱动的变革

在过去的几周里,我一直在思考和起草这篇文章,认为谷歌搜索正处于被颠覆的边缘,它实际上可能会影响 SEO 作为业务牵引渠道的可行性。 考虑到谷歌二十多年来的完全统治地位,以及任何竞争对手都完全无力削弱它,坦率地说&…

微信活动投票小程序源码系统:自主创建活动小程序带完整的安装代码包以及搭建教程

微信小程序的日益普及,越来越多的企业和个人开始关注如何利用小程序进行活动推广和用户互动。在这个背景下,微信活动投票小程序源码系统应运而生。这款源码系统旨在帮助用户快速创建自己的活动投票小程序,降低技术门槛,提高开发效…

代理模式(静态代理、JDK 动态代理、CGLIB 动态代理)

代理模式(静态代理、JDK 动态代理、CGLIB 动态代理) 一、代理模式概述1. 生活中的代理案例2. 为什么要使用代理3. 代理模式在 Java 中的应用4. 概述5. 生活中代理图示二、代理的实现方式1. Java 中代理图示2. 静态代理2.1 案例2.2 实现案例2.3 静态代理存在的问题三、动态代理…

centOS+nodejs+mysql阿里云部署前后端个人网站

centOSnodejsmysql阿里云部署前后端个人网站 参考: 部署NodeExpressMySQL项目到阿里云轻量应用服务器 阿里云轻量应用服务器部署Node.jsReactMongoDB前后端分离项目 参考:在阿里云上部署nodejs服务 https 部署的原理就是你在本地测试的时候在地址栏&am…

FileViewer纯前端预览项目Vue2 demo

FileViewer 项目Vue2 demo 本demo基于vue-clijsvue2.x构建,如果您需要vue3版本的demo,请前往main分支。 适用于Vue2 Webpack,本集成方法要求最低Webpack版本为5,也就是Vue Cli Service 5.0.0以上,当然,if…

万户 ezOFFICE wpsservlet SQL注入漏洞复现

0x01 产品简介 万户OA ezoffice是万户网络协同办公产品多年来一直将主要精力致力于中高端市场的一款OA协同办公软件产品,统一的基础管理平台,实现用户数据统一管理、权限统一分配、身份统一认证。统一规划门户网站群和协同办公平台,将外网信息维护、客户服务、互动交流和日…

Word莫名其妙开启兼容模式将其永久取消的方法

这是因为Word模板文件被意外更改了 找到Word模板文件,目录在C:\Users\15976\AppData\Roaming\Microsoft\Templates 15976替换成你自己的用户名,不确定的就先点进C/Users看一看, AppData是隐藏文件夹,显示隐藏文件夹才能看见&am…

腾讯云SSL证书在阿里云添加域名DNS解析

场景说明 在阿里云申请并备案了域名,这个域名理论上可以在任何服务器上进行绑定。应用服务器部署到腾讯云,并在腾讯云申请了SSL证书,从而完成HTTPS转化。那么问题来了,腾讯提供的免费版SSL证书是一年有效期,到期后就需…

EVAP-COND蒸发器和冷凝器设计软件

EVAP-COND蒸发器和冷凝器设计软件 是一个软件包,其中包含NIST的翅片管蒸发器和冷凝器仿真模型。“逐管”建模方案允许指定复杂的制冷剂回路,对这些回路之间的制冷剂分配进行建模,并考虑到不均匀的空气分配。模拟结果包括每个管的局部参数&…

MyBatis常见面试题汇总

说一下MyBatis执行流程? MyBatis是一款优秀的基于Java的持久层框架,它内部封装了JDBC,使开发者只需要关注SQL语句本身,而不需要花费精力去处理加载驱动、创建连接等的过程,MyBatis的执行流程如下: 加载配…

单片机开发通用功能组件

mcu_reuse_development_module 单片机可复用、可通用开发组件,是以中间件思想开发的一套功能模块,将具有代表性或使用次数较多的功能和协议栈封装为独立的组件供开发者使用,开发者仅需通过组件提供的接口对接驱动层和应用层即可使用组件功能…

科微/金航标kinghelm一直在技术上不断创新

宋仕强说,萨科微slkor(www.slkoric.com)/金航标kinghelm(www.kinghelm.net)一直在技术上不断创新,并将这些新技术应用于公司的产品中,推出的新产品,这让我们比同行发展快一些&#x…

【论文阅读|小目标分割算法ASF-YOLO】

论文阅读|小目标分割算法ASF-YOLO 摘要(Abstract)1 引言(Introduction)2 相关工作(Related work)2.1 细胞实例分割(Cell instance segmentation)2.2 改进的YOLO用于实例分割&#xf…

[机器学习]TF-IDF算法

一.TF-IDF算法概述 什么是TF-IDF? 词频-逆文档频率(Term Frequency-Inverse Document Frequency,TF-IDF)是一种常用于文本处理的统计方法,可以评估一个单词在一份文档中的重要程度。简单来说就是可以用于文档关键词的提…

postgresql 查询缓慢原因分析

pg_stat_activity 最近发现系统运行缓慢,查询数据老是超时,于是排查下pg_stat_activity 系统表,看看有没有耗时的查询sql SELECT pid, state, query, query_start, backend_type FROM pg_stat_activity WHERE state active AND query LIK…

C#用正则表达式验证格式:电话号码、密码、邮编、手机号码、身份证、指定的小数点后位数、有效月、有效日

正则表达式在程序设计中有着重要的位置,经常被用于处理字符串信息。 用Regex类的IsMatch方法,使用正则表达式可以验证电话号码是否合法。 一、涉及到的知识点 Regex类的IsMatch方法用于指示正则表达式使用pattern参数中指定的正则表达式是否在输入字符串…