# Opencv[C++] 教程
## 一、读入、显示
包含头文件:
```c++
#include <opencv2/opencv.hpp>
#include <iostream>
```
**opencv2/opencv.hpp**头文件本身将包含 OpenCV 库中所有其他必要的头文件。你必须只包含这个头文件才能编译你的 OpenCV 代码。
载入**OpenCV**的命名空间:
```c++
using namespace std;
using namespace cv;
```
所有 OpenCV 函数、类和数据结构都在**cv**命名空间内声明。因此,必须在程序顶部添加 **using namespace cv**行。否则必须在每个 OpenCV 函数、类和数据结构之前附加 **cv::**说明符。(例如 - cv::Mat、cv::imread() 等)
从文件夹“ */YourPath/lena.png* ”加载图像并将其作为 Mat 对象返回。并且校验一下该图片是否存在。
```c++
// Read the image file
Mat image = imread("/YourPath/lena.png");
// Check for failure
if (image.empty())
{
cout << "Could not open or find the image" << endl;
cin.get(); //wait for any key press
return -1;
}
```
```c++
Mat imread(const String& filename, int flags = IMREAD_COLOR)
```
此函数从指定文件加载图像,并作为 Mat 对象返回。如果函数无法读取文件,它将返回一个空的 Mat 对象。
1. **filename** - 必须提供图像文件的相对或绝对路径。如果您提供相对路径,则它应该相对于您的 cpp 文件。始终支持 jpeg、jpg、bmp、png、tiff 和 tif 图像文件类型。支持其他图像文件类型,具体取决于您的平台和安装的编解码器。
2. **flags** - 参数有几个可能的值。默认的 IMREAD_COLOR 参数。
- - IMREAD_UNCHANGED - 图像将按原样加载。
- IMREAD_GRAYSCALE - 图像将作为灰度图像加载(即 - 单通道图像,黑白图像)
- IMREAD_COLOR - 图像将作为 BGR 图像加载(即 - 3 通道图像,彩色图像)
```c++
void namedWindow(const String& winname, int flags = WINDOW_AUTOSIZE)
namedWindow(windowName); // Create a window
```
此函数创建一个可用于放置图像和跟踪条的窗口。如果具有给定名称的窗口已存在,则此函数不执行任何操作。
1. **winname** - 窗口的名称。该名称将显示在新创建的窗口的标题栏中。此名称也是此窗口的标识符,将在以后的 OpenCV 函数调用中用于标识该窗口。
2. **flags** - 确定窗口的大小。默认的 WINDOW_AUTOSIZE 参数。
- - WINDOW_AUTOSIZE - 用户无法调整窗口大小。图像将以其原始尺寸显示。
- WINDOW_NORMAL- 用户可以调整窗口大小。
```c++
void imshow(const String& winname, InputArray mat)
imshow ( windowName , image ); // Show our image inside the created window.
```
此函数在由 winname 指定的窗口中显示图像。如果窗口是用 WINDOW_AUTOSIZE 标志创建的,图像将以其原始大小显示。否则图像可能会缩放到窗口的大小。如果尚未通过调用 namedWindow() 函数创建窗口,该函数将创建一个带有 WINDOW_AUTOSIZE 标志的窗口。
此函数调用之后应该是 waitKey(int) 函数调用,以便提供足够的时间在指定的持续时间(以毫秒为单位)在窗口中绘制和显示图像。如果不调用waitKey(int) 函数,图像将不会显示在窗口中。
1. **winname** - 由 namedWindow() 函数创建的窗口的名称。
2. **mat** - 保存图像的 Mat 对象
```c++
waitKey(0); // Wait for any keystroke in the window
destroyWindow(windowName); //destroy the created window
```
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。
资源推荐
资源详情
资源评论
收起资源包目录
基于C++的OpenCV 的实例代码.zip (317个子文件)
1_HelloOpencv 86KB
2_VideoCapture 95KB
3_ChangeBrightness 97KB
4_ChangeContrast 97KB
5_HistogramEqualization 97KB
CMakeDetermineCompilerABI_C.bin 17KB
CMakeDetermineCompilerABI_C.bin 17KB
CMakeDetermineCompilerABI_C.bin 17KB
CMakeDetermineCompilerABI_C.bin 17KB
CMakeDetermineCompilerABI_C.bin 17KB
CMakeDetermineCompilerABI_CXX.bin 17KB
CMakeDetermineCompilerABI_CXX.bin 17KB
CMakeDetermineCompilerABI_CXX.bin 17KB
CMakeDetermineCompilerABI_CXX.bin 17KB
CMakeDetermineCompilerABI_CXX.bin 17KB
CMakeCCompilerId.c 23KB
CMakeCCompilerId.c 23KB
CMakeCCompilerId.c 23KB
CMakeCCompilerId.c 23KB
CMakeCCompilerId.c 23KB
5_HistogramEqualization.cbp 7KB
2_VideoCapture.cbp 7KB
3_ChangeBrightness.cbp 7KB
1_HelloOpencv.cbp 7KB
4_ChangeContrast.cbp 6KB
onnx-ml.pb.cc 355KB
cmake.check_cache 85B
cmake.check_cache 85B
cmake.check_cache 85B
cmake.check_cache 85B
cmake.check_cache 85B
Makefile.cmake 11KB
Makefile.cmake 11KB
CMakeCXXCompiler.cmake 6KB
CMakeCXXCompiler.cmake 6KB
CMakeCXXCompiler.cmake 6KB
CMakeCXXCompiler.cmake 6KB
CMakeCXXCompiler.cmake 6KB
Makefile.cmake 4KB
Makefile.cmake 4KB
Makefile.cmake 4KB
CMakeCCompiler.cmake 3KB
CMakeCCompiler.cmake 3KB
CMakeCCompiler.cmake 3KB
CMakeCCompiler.cmake 3KB
CMakeCCompiler.cmake 3KB
cmake_install.cmake 2KB
cmake_install.cmake 2KB
cmake_install.cmake 2KB
cmake_install.cmake 2KB
cmake_install.cmake 2KB
DependInfo.cmake 855B
DependInfo.cmake 848B
DependInfo.cmake 832B
DependInfo.cmake 817B
DependInfo.cmake 811B
CMakeDirectoryInformation.cmake 672B
CMakeDirectoryInformation.cmake 662B
CMakeDirectoryInformation.cmake 658B
CMakeDirectoryInformation.cmake 654B
CMakeDirectoryInformation.cmake 652B
CMakeSystem.cmake 360B
CMakeSystem.cmake 360B
CMakeSystem.cmake 360B
CMakeSystem.cmake 360B
CMakeSystem.cmake 360B
cmake_clean.cmake 306B
cmake_clean.cmake 286B
cmake_clean.cmake 278B
cmake_clean.cmake 270B
cmake_clean.cmake 266B
CMakeCXXCompilerId.cpp 22KB
CMakeCXXCompilerId.cpp 22KB
CMakeCXXCompilerId.cpp 22KB
CMakeCXXCompilerId.cpp 22KB
CMakeCXXCompilerId.cpp 22KB
main.cpp 3KB
main.cpp 2KB
main.cpp 903B
main.cpp 883B
SalesData.cpp 818B
mainwindows.cpp 369B
mainwindow.cpp 359B
main.cpp 351B
widget.cpp 324B
button.cpp 324B
test.cpp 311B
test.cpp 309B
test.cpp 306B
test.cpp 306B
imgshow.cpp 155B
computeTime.cpp 66B
plotting.cpp 63B
logger.cpp 61B
cul.cpp 59B
Int.cpp 59B
TIntStack.cpp 42B
TPerson.cpp 42B
main.cpp 41B
.DS_Store 10KB
共 317 条
- 1
- 2
- 3
- 4
资源评论
妄北y
- 粉丝: 1w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功