上位机图像处理和嵌入式模块部署(c/c++ opencv)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        opencv可以运行在多个平台上面,当然windows平台也不意外。目前来说,opencv使用已经非常方便了,如果不想自己编译,可以直接使用官方编译好的版本,直接下载接好。配置好include和lib之后,就可以进行图像的处理了。当然有一个地方需要注意下,那就是创建的vs工程必须是x64工程。因为下载的opencv本身就是64位代码。

1、下载opencv

        可以直接到官网下载最新的opencv即可。下载后解压到一个目录下面,

https://opencv.org/releases/

2、创建一个console工程

        之前我们创建了qt工程,然后配置opencv。如果不想使用界面的话,直接使用console工程也是可以处理图像的,只是需要把debug的版本从x86切换成x64。

3、准备好测试代码

#include <opencv2/opencv.hpp>
#include <iostream>int main() 
{// read imagecv::Mat image = cv::imread("D:/lena.png");// check if image has been loaded successfullyif (image.empty()) {std::cout << "unable to load image here" << std::endl;return -1;}// transfer image to gray typecv::Mat grayImage;cv::cvtColor(image, grayImage, cv::COLOR_BGR2GRAY);// show original image
#if 1cv::imshow("Original Image", image);
#else// show gray imagecv::imshow("Gray Image", grayImage);
#endif// wait for inputcv::waitKey(0);return 0;
}

4、配置头文件目录

        前面我们安装了opencv,如果需要在工程下面用起来,则需要配置一下头文件目录,

D:\software\opencv\build\include

5、配置lib文件目录

        除了头文件目录之外,还需要配置lib文件目录,

D:\software\opencv\build\x64\vc16\lib\opencv_world480d.lib

6、下载测试图片

        这里面,我们使用到了lena.png图片,因此可以把它下载下来,放到d盘目录。

https://github.com/mikolalysenko/lena/blob/master/lena.png

7、拷贝dll文件

        虽然我们前面编译通过了,但是dll文件还是需要拷贝的,

D:\software\opencv\build\x64\vc16\bin\opencv_world480d.dll

8、另外一个小问题

        实际运行的时候,我们还发现一个问题,这个exe还依赖于一个vc runtime dll文件,那就是vcruntime140_1d.dll。大家可以从这个地方下载,

https://cn.dll-files.com/vcruntime140_1d.dll.html

9、编译测试

        所有条件都准备好了,就可以开始测试了,直接运行后,如果可以看到这样的图片,那代表没什么问题了。想看到灰度图,就把if 1切换成if 0,

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

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

相关文章

81 C++对象模型探索。数据语义学 - 静态成员变量的存取,非静态成员变量的存取

一&#xff0c;静态成员变量的存取 静态成员变量只有一个实体&#xff0c;保存在可执行文件的数据段中&#xff0c;如果没有初始化则保存在数据段的BBS中&#xff0c;由于存储在执行文件的数据段中&#xff0c;因此在编译阶段就会确定地址。当程序编译完成后&#xff0c;不管运…

20240127如何在线识别德语字幕?

20240127如何在线识别德语字幕&#xff1f; 2024/1/27 11:42 1945[科尔贝格]Kolberg 01:48:49 接近109分钟 德语视频的字幕OCR适配&#xff1a; 1、whisper&#xff0c;8:39-8:58&#xff0c;使用GTX1080需要接近20分钟。对整机性能要求比较重&#xff0c;特别吃显卡&#xff…

LabVIEW信号时间间隔测量

用LabVIEW软件平台开发一个用于测量两路信号时间间隔的系统。系统利用LabVIEW的数据采集和处理能力&#xff0c;能够准确测量并分析来自不同硬件板卡的信号时间间隔&#xff0c;这对于精确控制和数据分析至关重要。 系统主要由以下几部分组成&#xff1a;数据采集卡、信号处理…

MySQL:事务隔离级别详解

事务一共有四个特性&#xff1a;原子性、隔离性、持久性、一致性。简称ACID。本文所将就是其中的隔离性。 1、事务中因为隔离原因导致的并发问题有哪些&#xff1f; 脏读&#xff1a;当事务A对一个数据进行修改&#xff0c;但这个操作还未提交&#xff0c;但此时事务B就已经读…

ArrayList集合简单源码分析+一道面试题

ArrayList类中的属性 public class ArrayList<E> extends AbstractList<E>implements List<E>, RandomAccess, Cloneable, java.io.Serializable {java.io.Serialprivate static final long serialVersionUID 8683452581122892189L;/*** DEFAULT_CAPACITY表…

【ASP.NET Core 基础知识】--数据库连接--数据迁移和代码优先开发

一、数据迁移 1.1 定义和用途 数据迁移是指将数据从一个存储系统、数据格式、应用程序或硬件平台转移到另一个的过程。这个过程可以涉及数据的转换、清洗和验证&#xff0c;以确保数据的完整性和一致性。一般用于如下情况&#xff1a; 系统升级&#xff1a; 当企业需要更新其…

力扣(LeetCode)227. 基本计算器 II

给你一个字符串表达式 s &#xff0c;请你实现一个基本计算器来计算并返回它的值。 整数除法仅保留整数部分。 你可以假设给定的表达式总是有效的。所有中间结果将在 [-231, 231 - 1] 的范围内。 注意&#xff1a;不允许使用任何将字符串作为数学表达式计算的内置函数&#…

第二百八十九回

文章目录 1. 概念介绍2. 方法与细节2.1 实现方法2.2 具体细节 3. 示例代码4. 内容总结 我们在上一章回中介绍了"如何混合选择多个图片和视频文件"相关的内容&#xff0c;本章回中将介绍如何通过相机获取视频文件.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. …

三角函数、反三角函数

一、三角函数 二、反三角函数&#xff1a;已知三角函数值&#xff0c;反算角度大小 因为严格单调函数才有反函数一个y对应一个x&#xff0c;显然ysinx&#xff0c;ycosx&#xff0c;ytanx在其定义域并不是严格单调&#xff0c;所以需要人为划定范围。 1. 研究yarcsinx、yarcco…

CSS优先级内容

定义CSS样式时&#xff0c;经常出现两个或多个样式规则应用在同一元素的情况&#xff0c;这时就会出现优先级的情况&#xff0c;那么应用的元素应该显示哪一个样式呢&#xff1f; 一.下面举例对优先级进行具体讲解。 p{color:red;} .blue{color:orange;} #header{color:blu…

嵌入式学习-C++-Day3

嵌入式学习-CDay3 一、思维导图 二、作业 1.设计一个Per类&#xff0c;类中包含私有成员:姓名、年龄、指针成员身高、体重&#xff0c;再设计一个Stu类&#xff0c;类中包含私有成员:成绩、Per类对象p1&#xff0c;设计这两个类的构造函数、析构函数和拷贝构造函数。 #inclu…

桌面型物联网智能机器人设计(预告)

相关资料 桌面级群控机器人CoCube探索-2022--CSDN博客 视频&#xff1a; 能&#xff01;有&#xff01;多&#xff01;酷&#xff01;CoCube桌面级群控机器人 让我看看谁在SJTU里划水… 简要介绍 设计一个桌面型物联网智能机器人&#xff0c;以ESP32芯片为核心&#xff0c;配…

Redis的SDS你了解吗?

初识SDS&#xff1a; Redis的String和其他很多编程语言中的语义相似&#xff0c;它能够表达3种值的类型&#xff1a; 1.字符串 2.整数 3.浮点数 三种类型根据具体场景由Redis完成相互之间的自动转换&#xff0c;并且根据需要选取底层的承载方式&#xff0c;Redis内部&#x…

pip 安装出现报错 SSLError(SSLError(“bad handshake

即使设置了清华源&#xff1a; pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simplepip 安装包不能配置清华源&#xff0c;出现报错: Retrying (Retry(total2, connectNone, readNone, redirectNone, statusNone)) after connection broken by ‘SSLE…

redis为什么用单线程模型

redis为什么用单线程模型&#xff1f; 最近在深入研究redis&#xff0c;发现其中很多值得我们借鉴的思想&#xff0c;实现原理等&#xff0c;坚持每天学习一点点&#xff0c;不久就可成大佬&#xff0c;大家加油&#xff01; 言归正传&#xff0c;我来回答今天的问题&#xff…

[Python] 如何在Windows下安装图形可视化工具graphviz

什么是graphviz? Graphviz是一款开源的图形可视化工具&#xff0c;用于生成各种结构化数据的图形表示。它支持多种图形排列算法&#xff0c;可以将复杂的数据关系用图形的方式直观地展示出来。Graphviz广泛应用于软件工程、数据可视化、计算机网络以及其他领域的可视化分析中…

14 STM32标准库函数 之 实时时钟(RTC) 所有函数的介绍及使用

14 STM32标准库函数 之 实时时钟&#xff08;RTC&#xff09; 所有函数的介绍及使用 1 RTC的库函数预览1.1 函数RTC_ITConfig1.2 函数RTC_EnterConfigMode1.3 函数RTC_ExitConfigMode1.4 函数RTC_GetCounter1.5 函数RTC_SetCounter1.6 函数RTC_SetPrescaler1.7 函数RTC_ SetAla…

springboot131企业oa管理系统

企业OA管理系统 摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了企业OA管理系统的开发全过程。通过分析企业OA管理系统管理的不足&#xff0c;创建了一个计算机管理企业OA管理系统的方案。文章介绍了企业OA管…

android 自定义键盘长按弹窗

自己记忆,下次不用找KeyboardView的onLongPress是长按监听,通过onLongPress可以获取键盘上用户长按的字母override fun onLongPress(popupKey: Keyboard.Key): Boolean {val label popupKey.labelif (!TextUtils.isEmpty(label) && popupKey.codes.get(0) ! MyKeyCode…

字符串相关的函数和内存块相关函数

&#x1d649;&#x1d65e;&#x1d658;&#x1d65a;!!&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦ &#x1f44f;&#x1f3fb;‧✧̣̥̇:Solitary-walk ⸝⋆ ━━━┓ - 个性标签 - &#xff1a;来于“云”的“羽球人”。…