当前位置: 首页 > news >正文

基于 OpenCV 的图像与视频处理

基于 OpenCV 的图像处理

一、实验背景

OpenCV 是一个开源的计算机视觉库,广泛应用于图像处理、视频分析、目标检测等领域。通过学习 OpenCV,可以快速实现图像和视频的处理功能,为复杂的应用开发

奠定基础。本实验旨在通过实际代码示例,掌握 OpenCV 的基本功能和使用方法。

二、实验目的

  1. 学习如何使用 OpenCV 进行图像处理。

  2. 掌握 OpenCV 的视频读取和播放功能。

  3. 实现视频录制功能,并理解视频流的处理逻辑。

三、实验内容

  1. 创建一个代码文件夹 code ,并在其中创建 test.cpp 文件。

    image-20250417000404966

  2. 将以下代码复制到 test.cpp 文件中:

#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;int main(int argc, char** argv) {// 加载图像Mat image = imread("lena.jpg", IMREAD_COLOR);  // 默认加载彩色图像// 检查图像是否成功加载if (image.empty()) {cout << "无法加载图像!请检查文件路径。" << endl;return -1;}// 创建一个用于存储灰度图像的 Mat 对象Mat gray_image;// 使用 OpenCV 的 cvtColor 函数将彩色图像转换为灰度图像cvtColor(image, gray_image, COLOR_BGR2GRAY);// 保存灰度图像imwrite("gray_image.png", gray_image);// 显示原始图像和灰度图像namedWindow("Original Image", WINDOW_AUTOSIZE);imshow("Original Image", image);namedWindow("Gray Image", WINDOW_AUTOSIZE);imshow("Gray Image", gray_image);// 等待用户按键后关闭窗口waitKey(0);return 0;
}

3.编译代码

g++ test1.cpp -o test1 `pkg-config --cflags --libs opencv`

4.准备一张名为lena.jpg的图片,与代码文件放在同一目录下。

5.运行程序

./test

四、实验结果

  • 程序读取lena.jpg图片,对图片进行径向渐变处理后,生成新的图片gray_image.png

image-20250420173251379

image-20250420173303059

  • 定义一个 Mat 对象 gray_image,用于存储转换后的灰度图像。
  • 使用 cvtColor 函数将彩色图像转换为灰度图像。
  • 参数 COLOR_BGR2GRAY 表示从 BGR 颜色空间转换到灰度颜色空间。
  • 使用 namedWindowimshow 分别显示原始图像和灰度图像。

COLOR_BGR2GRAY 表示从 BGR 颜色空间转换到灰度颜色空间。

  • 使用 namedWindowimshow 分别显示原始图像和灰度图像。

相关文章:

  • Kubernetes(k8s)学习笔记(二)--k8s 集群安装
  • React+TS编写轮播图
  • 计算机视觉cv入门之Haarcascade的基本使用方法(人脸识别为例)
  • 【后端】【Django】Django 模型中的 `clean()` 方法详解:数据校验的最后防线
  • 【人工智能】推荐开源企业级OCR大模型InternVL3
  • css3新特性第四章(渐变)
  • 【条形码识别改名工具】如何批量识别图片条形码,并以条码内容批量重命名,基于WPF和Zxing的开发总结
  • 【iOS】alloc init new底层原理
  • 嵌入式---零点漂移(Zero Drift)
  • 网络设备基础运维全攻略:华为/思科核心操作与巡检指南
  • IDEA多环节实现优雅配置
  • IDEA在Git提交时添加.ignore忽略文件,解决为什么Git中有时候使用.gitignore也无法忽略一些文件
  • 国际数据加密算法(IDEA)详解
  • 按字符串长度升序,长度相同则按字典序
  • 【Linux系统】Linux基础指令(详解Linux命令行常用指令,每一个指令都有示例演示)
  • 30天开发操作系统 第26天 -- 为窗口移动提速
  • 实现AWS Data Pipeline安全地请求企业内部API返回数据
  • 2026《数据结构》考研复习笔记四(第一章)
  • 蓝桥杯 二进制问题 刷题笔记
  • Linux操作系统简介:从开源内核到技术生态
  • 海港通报颜骏凌伤停两至三周,国足面临门将伤病危机
  • 中国驻美国使领馆提醒在美中国公民注意交通安全
  • 谢震业领衔挑战世界顶尖高手,这场长三角田径钻石赛值得期待
  • 荣盛发展股东所持1.17亿股将被司法拍卖,起拍价约1.788亿元
  • 是否进行了及时有效处置?伤者情况如何?辽阳市相关负责人就饭店火灾事故答问
  • 融创服务全面退出彰泰服务集团:约8.26亿元出售广西彰泰融创智慧80%股权