【Opencv3学习笔记 2】图像与视频的基本操作

【OpenCV3编程入门学习笔记】——第1章 邂逅OpenCV 邂逅OpenCV 文章目录邂逅OpenCV前言1.1 OpenCV周边概念认知1.1.1 图像处理、计算机视觉与OpenCV1.1.2 OpenCV概述1.1.3 起源及发展1.1.4 应用概述1.2 OpenCV基本架构分析1.3 OpenCV3带来了什么1.4 OpenCV的下载、安装与配置1.5 快速上手OpenCV图像处理前期准备1.5.1 程序一 图像显示1.5.2 程序二 图像腐蚀1.5.3 程序三 图像模糊1.5.4 程序四 canny边缘检测1.6 OpenCV视频操作基础1.6.1 读取并 阅读详情

1. 图像处理

腐蚀:

代码:


#include <opencv.hpp>   
#include <highgui/highgui.hpp>  // OpenCV highgui 模块头文件
#include <imgproc/imgproc.hpp>  //  OpenCV 图形处理头文件

using namespace cv;     //包含cv命名空间

int main()
{
	// 载入原图
	Mat srcImg = imread("1.jpg");
	// 显示原图
	imshow("【原图】腐蚀操作", srcImg);
	// 运行腐蚀操作
	Mat element = getStructuringElement(MORPH_RECT, Size(15, 15));
	Mat dstImage;
	erode(srcImg, dstImage, element);

	// 显示效果图
	imshow("【效果图】腐蚀操作", dstImage);
	waitKey(0);

	return 0;
}

在这里插入图片描述

均值滤波:

代码:


#include <opencv.hpp>   
#include <highgui/highgui.hpp>  // OpenCV highgui 模块头文件
#include <imgproc/imgproc.hpp>  //  OpenCV 图形处理头文件

using namespace cv;     //包含cv命名空间

int main()
{
	// 载入原图
	Mat srcImg = imread("1.jpg");

	// 显示原图
	imshow("【原图】均值滤波", srcImg);

	// 运行滤波操作
	Mat dstImage;
	blur(srcImg, dstImage, Size(7,7));

	// 显示效果图
	imshow("【效果图】均值滤波操作", dstImage);
	waitKey(0);

	return 0;
}

在这里插入图片描述

Canny算子边缘检测:

代码:

#include <opencv.hpp>   
#include <highgui/highgui.hpp>  // OpenCV highgui 模块头文件
#include <imgproc/imgproc.hpp>  //  OpenCV 图形处理头文件

using namespace cv;     //包含cv命名空间

int main()
{
	// 载入原图
	Mat srcImg = imread("1.jpg");

	// 显示原图
	imshow("【原图】Canny边缘检测", srcImg);    
	Mat dstImage,edge,grayImg;

	// 运行滤波操作
	// 1. 创建与src同类型和大小的矩阵(dst)
	dstImage.create(srcImg.size(), srcImg.type());

	// 2. 将原图像转换为灰度图形
	cvtColor(srcImg, grayImg, COLOR_BGR2GRAY);

	// 3. 先使用3*3内核来均值滤波降噪
	blur(grayImg, edge, Size(3,3));

	// 4. 运行Canny算子
	Canny(edge, edge, 3, 9, 3);

	// 显示效果图
	imshow("【效果图】Canny", edge);
	waitKey(0);

	return 0;
}

在这里插入图片描述

2. 视频操作基础

读取视频

通过对 VideoCapture 的分析,可以发现利用它读入视频的方法如下
比如视频为 “1.avi” 的视频文件,那么这两种分别如下

  1. 实例化 + 初始化
VideoCapture capture; 
capture.open("1.avi"); 
  1. 在实例化的同时进 初始化:
VideoCapture capture("1avi"); 

代码如下:

#include <opencv.hpp>

using namespace cv;     //包含cv命名空间

int main()
{
	// 1. 读入视频
	VideoCapture capture("1.avi");

	// 2. 循环显示每一帧
	while (1) {
		Mat frame;  //临时变量,存每一帧的图像
		capture >> frame;  // 读取当前帧
		imshow("读取视频", frame);
		waitKey(30);  //延时30ms
	}

	return 0;
}

调用摄像头

对于摄像头,将VideoCapture capture("1.avi");中的"1.avi"改为0就可以了

代码:

#include <opencv.hpp>

using namespace cv;     //包含cv命名空间

int main()
{
	// 1. 从摄像头读入视频
	VideoCapture capture(0);

	// 2. 循环显示每一帧
	while (1) {
		Mat frame;  //临时变量,存每一帧的图像
		capture >> frame;  // 读取当前帧
		imshow("读取视频", frame);
		waitKey(30);  //延时30ms
	}

	return 0;
}

效果:
在这里插入图片描述
结合上面对图像的处理,我们就可以对视频进行处理了:
在这里插入图片描述

基于OpenCv的图像基本操作 阅读详情

相关推荐

机器视觉OpenCV:OpenCV图像基本操作

OpenCV图像基本操作:图像的读写操作;图像的绘制操作;图像的算术操作;

天涯雨的博客 1198

opencv图像处理及视频处理基本操作

计算机眼中的图像由一个个像素组成, 每个像素点的值在0-255之间,代表像素点的亮度(0为最暗,255为最亮)。此文简述了opencv图像处理及视频处理基本操作。

m0_59405106的博客 5844

OpenCV-py学习笔记(一)—— 基本图像/视频输入输出

文章目录图像的相关操作1.读取图片代码视频的相关操作1.读取播放视频代码2.打开摄像头并保存视频代码画图的相关操作1.画图函数测试2.画OpenCV-LOGO 图像的相关操作 需要注意的是,OpenCV读入图像的顺序是g、b、r的顺序,而像matplotlib这样的图像库读入图像的顺序是正常的r、g、b,所以如果想要用opencv读取图像而用matplotlib.plotlib显示时,就需要考虑一...

Andy的博客 1922

opencv视频和图片之间的处理

#!/usr/bin/env python #-*-coding:utf-8-*- ''' Author: weiz date: 2019/10/6 20:05 desc: input: output: ''' import numpy as np import cv2 as cv frames = 100 matl = [] for i in range(frames): ...

SeventhBlue 1556

OpenCV-Python实战(2)——图像与视频文件的处理

OpenCV 是一个的跨平台计算机视觉库,它轻量且高效——由一系列 C 函数和少量 C++ 类构成,同时也提供了 Python 接口,实现了图像处理和计算机视觉方面的很多通用算法。无论在任何类型的计算机视觉任务中,处理图像或视频都是其中的核心要素,在本文中,将介绍如何使用OpenCV处理构建计算机视觉应用程序所必需的图像和视频。...

盼小辉丶的博客 5万+

Opencv图像及视频基本操作

本篇博客详细介绍了图片和摄像头的基本操作,如窗口创建、读取图片、改变图片大小、显示图片、调用摄像头、录制视频等操作,并运用这些方法完成了一个综合案例!对于Opencv初学者非常友好!

weixin_63866037的博客 835

openCV图像和视频简单操作

图片 1、读入图像 使用函数 cv2.imread() 读入图像。这幅图像应该在此程序的工作路径,或者给函数提供完整路径, 第二个参数是要告诉函数应该如何读取这幅图片。(不写默认彩色) cv2.IMREAD_COLOR:读入一副彩色图像。图像的透明度会被忽略,这是默认参数。 cv2.IMREAD_GRAYSCALE:以灰度模式读入图像​​​​​​​​​​​​​​​​​​​​​​​​​...

onlywishes的博客 782

openeuler在线/离线安装docker服务

openeuler在线/离线安装docker服务

haixuti7的博客 1071

【OpenCV】OpenCV图像/视频的读取与写入(C++版)

使用C++开发图像处理算法时,最基础的就是利用OpenCV完成图像文件的输入、输出以及自动内存管理(重点)。所以,只要需要掌握一些简单的OpenCV的操作即可。本博文就对这些基础内容进行讲解。 本文实例源码github地址:https://github.com/yngzMiao/yngzmiao-blogs/tree/master/2020Q1/20200113。 图像操作 图像读取 OpenC...

Yngz_Miao的博客 3万+

fMRI数据处理:从DICOM到NIFTI(上)

哈喽,这里是系列fMRI数据处理文章专栏。包括从核磁拷贝完DICOM格式的文件,到整理数据,检查数据,数据预处理,后续分析等等内容。如果你是一个初学者,特别是心理学或者是刚踏入认知神经科学的小白,那么这个专栏可以帮助你从头到尾完成数据处理直到结果的可视化。如果你已经进入了认知神经科学领域,这里面的内容可能过于细致,并且找不到你想要的答案,不过可以在帖子下留言评论,欢迎大家提供宝贵的意见!如果是医学相关,可能这些内不太准确或专业,谨慎参考!

weixin_44933894的博客 2482

四、通过Socket实现跟AGV小车通信(仅做Demo演示,跟实际工厂运行无关)

在通常情况下AGV的开发是使用PLC或者单片机,我们会使用MOXA等串口服务器配置485或者232通信。 我们会将AGV的MOXA设备配置成服务端。我们按照一定的数据协议从PLC或者单片机获得AGV的信息。 今天我抛开这些协议,通过工具模拟实现openTCS的Socket通信。 我这边用winform写了一个简单的Socket服务端工具(超简单那种) 我们的代码是基于第一篇文章的,具体参照 ht...

苏州周某人 1万+

【笔记】OpenCV图像基本操作

本文为学习笔记,OpenCV基于Python对图像的基本操作 因为个人比较懒,不想到处找,所以将常用函数整理在一起,便于CV搬运

m0_48388579的博客 3611

光伏逆变器在环测试解决方案

光伏行业是利用太阳能光辐射将其转化为可用电能的行业。近年来,为应对气候变化和能源安全等挑战,全球对清洁能源的需求不断增长。太阳能作为最具潜力和可再生的能源之一,被视为替代传统化石能源的重要选择,光伏行业因此得到了迅猛发展,并在全球范围内得到了广泛应用。许多国家和地区都将光伏技术作为关键的能源发展方向。尤其是在新兴和发展中国家,光伏发电具有巨大的增长潜力,将成为未来市场竞争的重点。随着规模化生产的推进,光伏组件的制造成本不断降低。

shiwei0813的博客 962

01 OpenCV--图像处理--OpenCV的安装与图像处理的基本操作、图像绘制与视频处理

OpenCV是一款开源的计算机视觉与机器学习库,支持多语言接口和跨平台运行,广泛应用于图像处理、目标检测、视频分析等领域。图像以数组形式存储,彩色图像为(height,width,channels)结构,灰度图像为(height,width)或(height,width,1)。OpenCV提供丰富的图像操作功能,包括读取/显示图像、灰度转换、创建黑白图像、调整大小等。通过NumPy数组可以灵活操作图像像素数据,支持从单像素到多通道的颜色分量处理。

2202_75674969的博客 873

零基础教你学RDMA驱动开发:从入门到精通--第6章 内存管理与DMA映射​6.2 DMA地址转换:内核dma_map_single()与硬件IOVA(I/O虚拟地址)​

本文深入探讨RDMA驱动中DMA地址转换机制,重点分析内核dma_map_single()函数与硬件IOVA的作用。主要内容包括:1)DMA地址转换的必要性,解决CPU虚拟地址与HCA设备DMA地址的空间割裂问题;2)内核DMA映射机制实现原理,涵盖无IOMMU(直接物理地址映射)和有IOMMU(IOVA转换)两种场景;3)硬件IOVA的工作流程及其与RDMA内存注册的结合;4)RDMA驱动开发中的关键问题,如缓存一致性、映射方向错误、IOVA泄漏等;5)以mlx5驱动为例的实践分析。文章强调DMA地址转换

xiaoheshang_123的博客 241

具身大小脑全栈全网独家复现|LLM链式推理+边缘VLA感知+毫秒级运动小脑、优化人形步态僵硬运动滞后、打通思考-行走-操作全链路适配居家工业多场景落地

高层决策大脑(异步10Hz,GPU算力):轻量化机器人微调LLM+RhinoVLA边缘视觉大模型,负责自然语言链式工序拆解、全局环境语义感知、目标物体筛选、跨机器人动作适配,输出粗粒度运动目标,不介入底层伺服计算;依托View Registry实现异构机器人动作对齐,适配多形态机器人切换;中层调度小脑(硬实时1kHz,CPU算力)

qq_36130719的博客 261

OpenCV图像的基本操作

😁

日常记录,挨打要立正! 1481

让 OData V4 界面更聪明:SAP UI5 中的 Side Effects 全解析

摘要:在OData V4应用中,字段修改常触发联动更新(Side Effects)。SAP UI5支持通过后端PATCH响应隐式返回或前端显式请求(requestSideEffects)两种方式处理。最佳实践包括:在validateFieldGroup事件中触发同批次请求,使用$$patchWithoutSideEffects避免重复刷新,并在草稿场景优化响应体。注解定义触发规则,而前端负责执行时机,二者配合可减少网络开销并保证数据一致性。Fiori elements进一步扩展了Side Effects在批

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 179

Opencv学习笔记——图像基本操作

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例

Thousand_drive的博客 5056

一、OpenSM 架构部署及原理详解

OpenSM 是 InfiniBand 网络的核心组件,通过自动化的拓扑发现、路由计算和状态维护,确保网络的高效运行。部署时需关注配置文件参数、路由算法选择和高可用性设计,调试时可借助日志和诊断工具快速定位问题。

jundao1997的专栏 1131

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

【Python--openCV图像处理】Python学习-OpenCV图像处理基础超详细的学习笔记(黑马程序员课程-B站有视频)

【Python--openCV图像处理】Python学习-OpenCV图像处理基础超详细的学习笔记(黑马程序员课程-B站有视频)

m0_67844671的博客 2607

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Opencv图像基本操作

介绍了opencv读取、保存、数据融合、数值计算、边界填充等基本操作。

不想随波逐流的大学生一枚,我们每个人都在努力奔跑 1812

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【OpenCV学习笔记】- 学习笔记目录

OpenCV - 学习笔记系列博文

移动的130 1475

Opencv学习笔记之图像基本操作

由于操作系统在切换线程之间具有最短的时间,因此该函数不会完全延迟毫秒,它将至少等待延迟毫秒,具体取决于当时计算机上正在运行的其他内容。它返回按下的键的代码,如果在指定的时间过去之前没有按下任何键,则返回 -1。如果未抓取任何帧(相机已断开连接,或者视频文件中没有更多帧),则该方法返回 false,函数返回空图像,会返回两个值。作用:从文件加载图像。标志创建的,则图像将以其原始大小显示,但仍受屏幕分辨率的限制。函数:cv2.copyMakeBorder(src,top,bottom,left,right)

zxdzxdzzxd的博客 292

基于 OpenCV 的图像与视频处理

OpenCV 是一个开源的计算机视觉库,广泛应用于图像处理、视频分析、目标检测等领域。通过学习 OpenCV,可以快速实现图像和视频的处理功能,为复杂的应用开发奠定基础。本实验旨在通过实际代码示例,掌握 OpenCV 的基本功能和使用方法。通过循环遍历图片的每个像素,对像素值进行加权处理,实现图片的亮度变化。图片,对图片进行亮度加权处理后,生成新的图片。的图片,与代码文件放在同一目录下。代码中使用了 OpenCV 的。将处理后的图片保存为。

Cynthia040330的博客 1296

Opencv学习笔记——你需要掌握的操作

新的一年,我们都要快快乐乐呀,给大家分享一下OpenCV的一些简单操作,希望对大家有帮助!

bang___bang_的博客 5301
上一篇: 【Opencv3学习笔记 1】OpenCV的安装配置部署详细步骤(window + vs2019)
下一篇: 【Opencv3学习笔记 3】常用数据结构以及图像操作函数
Andy in boots
博客等级 码龄7年 73粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值