自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 Ubuntu系统VScode实现opencv(c++)图像二维直方图

在数字图像处理中,二维直方图是一种强大的工具,用于同时分析图像中两个通道的像素值分布。与一维直方图(通常用于单通道图像)不同,二维直方图能够捕捉两个通道之间的关系,从而提供更丰富的图像特征信息。这种分析在许多应用中具有重要意义,例如图像分割、目标检测、特征匹配以及图像增强等。

2025-08-04 14:27:03 291

原创 Ubuntu系统VScode实现opencv(c++)图像一维直方图

输入图像数组。通常传入图像的地址(如&image如果传入多个图像,它们必须具有相同的尺寸和通道数。

2025-08-04 13:53:36 1329 1

原创 Ubuntu系统VScode实现opencv(c++)视频的处理与保存

通过OpenCV等计算机视觉工具,开发者可以像处理静态图像一样对视频流逐帧分析:从简单的裁剪、旋转、色彩校正,到复杂的稳像、目标跟踪、超分辨率重建。而如何将处理后的高帧率、高动态范围数据高效压缩并封装为通用格式(如MP4、AVI),则决定了成果能否跨越设备与平台无缝传播。到这里,我们已经学会了如何调用摄像头以及播放视频,接下来是视频的属性及处理后如何保存。对于视频来说,其实就是每一帧的图片,那么视频也是有宽和高的,还有视频的帧率以及这个视频总共有多少帧图片。

2025-08-03 20:16:02 464

原创 Ubuntu系统VScode实现opencv(c++)视频及摄像头使用

在计算机视觉系统中,视频流与摄像头输入作为图像数据的重要来源,广泛应用于实时监控、目标跟踪、人机交互以及智能驾驶等领域。利用编程接口获取摄像头图像或读取视频文件,可以实现对每一帧图像的逐帧分析与处理,为后续的视觉任务(如检测、识别、跟踪等)提供实时支持。OpenCV 提供了高效简洁的接口用于视频捕获与写入,支持多种平台和设备,使得从实时摄像头或预录制视频中提取、处理、展示图像序列成为可能。其次我们可以对每一帧率的图像进行处理,达到对整个视频的处理。视频也只是改变一个参数即可:只需要将0,换成视频路径。

2025-08-02 22:16:56 592

原创 Ubuntu系统VScode实现opencv(c++)图像翻转和旋转

图像的几何变换是计算机视觉和图像处理中的基础操作,其中图像的**翻转(Flip)与旋转(Rotation)**被广泛应用于数据增强、图像对齐、目标识别等任务。图像翻转是指沿指定轴(水平轴、垂直轴或对角线)对图像进行镜像变换,能够有效扩展训练数据的多样性,提升模型的鲁棒性。而图像旋转则通过指定中心点和角度将图像围绕该点进行旋转操作,常用于图像校正、视角变换以及特征对齐等场景。在实际应用中,旋转通常配合仿射变换矩阵进行实现,并结合插值策略与边界处理方法,以确保图像质量和结构完整性。

2025-08-02 16:49:41 914

原创 Ubuntu系统VScode实现opencv(c++)图像放缩与插值

方法使用点数质量运算复杂度适合场景最近邻)1差最快实时预览、图像分割:双线性(默认)4中快视频处理、通用缩放:双三次(适合放大)16好中-慢图像编辑、照片放大INTER_AREA:区域插值(适合缩小)多中等中图像缩小:Lanczos 插值多最好慢摄影图、医学图像处理参数说明src输入图像(cv::Mat类型)dst输出图像(缩放后的图像)dsize输出图像的大小(若为(0, 0),则必须提供fx和fy。fx水平方向缩放因子(相对于原图宽度)fy。

2025-08-02 15:05:51 833

原创 Ubuntu系统VScode实现opencv(c++)图像像素类型转换和归一化

在OpenCV中,是将图像的像素值映射到特定范围或分布的过程,目的是消除数据差异、增强特征一致性,并提升算法的鲁棒性。在机器学习(如神经网络)中,归一化后的数据梯度更稳定,显著加快训练收敛速度。

2025-08-01 13:25:33 363

原创 Ubuntu系统VScode实现opencv(c++)鼠标操作与响应

绘制矩形需要,起始点坐标,结束坐标,长宽,这些就需要程序来获得,我们上述的回调函数中,会获取当前鼠标事件发生时的坐标xy,那起始点以及结束点坐标就有了,对于长宽,也只需要结束点x-起始点x;用于显示所框选的区域;现在,我们还缺少鼠标移动事件的情况,编写之后,再接着纠错,实际上很简单,鼠标移动时,矩形跟着放大或者变小,实际上也是鼠标移动,绘制矩形;运行发现,整体大致没什么问题,但是我们在拉动的时候,希望这个矩形能跟着鼠标移动:并且画面也没有更新,绘制的框在绘制下一个依旧显示在上面;左上角的点为(0,0);

2025-07-30 15:00:15 1321

原创 Ubuntu系统VScode实现opencv(c++)随机数与随机颜色

例如,在目标检测或图像分割结果中,不同的检测区域或类别往往使用不同的颜色进行区分,这些颜色通常通过随机方式生成。利用 OpenCV 配合 C++ 的随机数生成器,可以方便地创建随机坐标、随机颜色(RGB)值等,为图像绘制提供更高的自由度与视觉效果。的生成常用于增强图像的多样性、可视化多个目标区域、模拟自然现象以及生成测试数据等任务。通过随机化元素的颜色、位置或形状,可以使程序在动态展示、调试输出、以及数据增强等方面更加灵活和丰富。为每个通道随机生成值,实现随机颜色。区间内的整数,表示线段的两个端点。

2025-07-29 17:46:06 153

原创 Ubuntu系统VScode实现opencv(c++)多边形的绘制与填充

在使用 C++ 进行图形处理时,OpenCV(Open Source Computer Vision Library)是一个功能强大、用途广泛的开源计算机视觉与图像处理库。OpenCV 提供了丰富的图像绘制与操作函数,能够高效实现图像中的基本图形绘制任务,包括线段、圆形、多边形等的绘制与填充,非常适合进行多边形绘制与填充的实践和开发。在 C++ 中引入 OpenCV 并实现多边形的绘制与填充,OpenCV 中的函数如。以下是fillPoly。用于绘制多边形轮廓,pts需要一个点集;

2025-07-29 17:35:58 342

原创 Ubuntu系统VScode实现opencv(c++)几何图形的绘制

rectangle函数中的5为线宽,该参数如果小于0,一般为-1,那么绘制的矩形为填充效果,大于0极为设置线宽。这些函数常用于图像标注、目标检测可视化、图形学习等任务。:首先,需要创建画布,也可以直接在一张图片上画。在 C++ 的 OpenCV 中进行。剩下的图形可自己实现,当作练习;

2025-07-29 11:10:22 262

原创 Ubuntu系统VScode实现opencv(c++)像素值统计

在图像处理与分析中,像素值统计是一项基础而重要的任务。通过对图像中各像素灰度值或颜色值的分布进行统计分析,可以有效提取图像的整体特征、判断图像质量、进行图像分割、增强与分类等操作。常见的像素值统计方法包括直方图统计、均值与方差计算、极值分析等。这些统计信息不仅能够反映图像的亮度分布和对比度特征,还为后续的图像处理算法提供关键支持。知识点:最小值,最大值,均值以及方差;函数:最大最小值minMaxLoc以及计算均值和标准方差meanStdDey。

2025-07-28 14:51:29 318

原创 Ubuntu系统VScode实现opencv(c++)图像色彩空间实战

在数字图像处理中,色彩空间(Color Space)是一个基础而关键的概念。它指的是一种用于表示图像中颜色的方法或模型。不同的色彩空间提供了不同的方式来组织和编码颜色信息,使得图像可以在不同的设备之间有效传输、显示与处理。常见的色彩空间包括RGB、HSV、YCbCr和Lab等,每种都有其特定的应用场景与优势。例如,RGB色彩空间更适合图像显示,而HSV则更贴近人眼对色彩的感知,因此在图像分割和目标识别中更为常用。理解色彩空间的转换与特点,是深入研究图像处理与计算机视觉的基础。

2025-07-26 12:02:15 399

原创 Ubuntu系统VScode实现opencv(c++)图像通道的分离与合并

在数字图像处理中,图像通道的分离与合并是基础且重要的操作。彩色图像通常由多个颜色通道组成,例如在RGB颜色空间中,一幅图像由红(R)、绿(G)和蓝(B)三个通道共同决定其颜色表现。通道分离是指将一幅彩色图像按不同通道提取为若干单通道灰度图像,从而便于对每个颜色分量进行独立分析与处理。而通道合并则是将处理后的各个通道重新组合为一幅完整的彩色图像。此过程广泛应用于图像增强、滤波、特征提取等任务中,是理解图像结构与实现高阶图像操作的关键步骤。通过对通道的灵活操作,可以实现图像风格转换、色彩校正等多种效果。

2025-07-25 16:11:46 424

原创 Ubuntu系统VScode实现opencv(c++)图像像素点的逻辑操作

在数字图像处理领域,图像像素点的逻辑操作是一种基础而有效的方法,广泛应用于图像分割、掩模提取、区域增强以及图像合成等任务中。通过对图像中对应像素的二进制位进行逻辑与(AND)、或(OR)、非(NOT)、异或(XOR)等操作,可以实现精确的图像区域控制与特征突出。这类操作通常在预处理阶段发挥关键作用,尤其在二值图像和掩模图处理过程中,逻辑操作能够以低计算成本实现快速而鲁棒的图像内容操控。因此,深入理解和合理应用像素点的逻辑操作,对于提升图像分析与计算机视觉任务的效率具有重要意义。图像像素点的。

2025-07-25 11:47:51 468

原创 Ubuntu系统VScode实现opencv(c++)实现颜色滤镜转换

OpenCV 提供了丰富的图像处理函数,可以轻松对图像的颜色通道进行操作,实现各类滤镜转换,例如冷色调、暖色调、复古风格等。我将所有格式都放在数组里,实现对图片22种风格的转换;这里为了方便保存处理后的图片,我选择通过键盘选择保存,如果我不做键盘输入,那么展示的dst一直会等待,按下ESC就直接退出,按下空格,就会实现指定路径的保存;这里要先确保你给的路径正确,替换你自己的路径即可,index即用来当作数组元素的索引,也可以用来给图像顺序命名,同时对应我们数组相应的颜色映射;同样我们可以打印出我们的按键;

2025-07-24 10:16:03 305

原创 Ubuntu系统VScode实现opencv(c++)滚动条实现对比度调整

我们直接给回调函数image的地址,并在回调函数的定义中读取这个地址的图片,但是需要将void指针类型转换成Mat指针类型;这样就不需要在外面定义变量;同时也作出其他的改进;当然,也要对比度的最大值max_Contrast以及初始值Contrast_ness,同样Contrast_ness可作为调整值;首先,介绍一个函数addWeight()线性加权函数;这里我们需要生成新的滑动值条;实现对比度:把对比度映射到。,一次完成加权相加与偏移。

2025-07-23 22:44:14 162

原创 Ubuntu系统VScode实现opencv(c++)滚动条调整图片亮度

是 OpenCV 在highgui模块中提供的交互控件函数,用于在指定窗口创建一条可拖动的滚动条,并实时将当前滑块位置写入绑定的整型变量,同时可选地触发回调函数完成自定义操作。const String& trackbarname, // 滚动条名称const String& winname, // 依附窗口名称(需已存在)int* value, // 指向当前值的 int 指针(实时读写)int count, // 滑块最大值(最小固定为 0)

2025-07-23 21:16:44 229

原创 Ubuntu系统VScode实现opencv(c++)图像像素的算术操作

同样,我们重新在Demo类中定义一个新的像素点操作函数,这个类我们可以不断添加新的函数,汇总便于回头总结所学的所有小节。到这里就已经学会简单的运算操作了,上述的方法存在的问题是,Scalar这里是像素点值,那如果是图片能不能成功呢?话不多说,动手操作。<>中填的是括号内的类型,因为图像像素点为0-255,那<>中应该是uchar(unisgned char)这里的参数都是前两个是输入运算的图像,最后是输出的图像;好的,这里我为了复习之前学的对象图像的创建,我就直接创建一个图像用Scalar给其像素点赋值。

2025-07-19 21:05:57 373

原创 Ubuntu系统VScode实现opencv(c++)图像对象像素点读写操作

在 C++ 中遍历并访问像素,可归纳为两大套路::把像素数据放进 `cv::Mat` 后,按行列双重 `for` 循环,用 `mat.at<Vec3b>(y,x)` 直接读写,语义清晰、越界安全,但带边界检查,速度略慢。先 `mat.ptr<uchar>(y)` 取得每行首地址,再横向单循环 `for(int x=0;x<cols;++x)`,通过指针偏移 `*(p+c)` 或 `p[x]` 访问,可一次拿 3 通道 BGR,省掉函数调用与边界检查,效率最高;

2025-07-19 14:32:12 394

原创 Ubuntu系统VScode实现opencv(c++)图像对象的创建与赋值

这里的Mat::zeros();的意思是生成的对象像素点都为0,同样还有Mat::ones();对CV_8UC3进行解释:8位无符号(Unsigned Char),通道为3;上述完整代码,我们在之前所创建Demo类中定义一个Mat_create的函数。复制 :copyTo(),不会改变原来对象的属性。这里是将m3复制到m2;这里我们复制完后,在进行通道的复制,原来的m3并没有改变。这里m3的宽为8,高就是8;可以尝试生成BGR三个通道的颜色图。随后实例化,调用该函数即可;

2025-07-16 21:25:28 240

原创 Ubuntu系统VScode实现opencv(c++)颜色空间转换

OpenCV 中的 cv::cvtColor 函数是图像颜色空间转换的核心函数之一,广泛应用于图像预处理、特征提取和视觉任务中。首先我们在工程目录下新建一个.hpp文件,这里我命名为2.hpp;输入图像,可以是 cv::Mat 类型(例如:BGR 图像)。颜色空间转换代码(如 cv::COLOR_BGR2GRAY)。目标图像的通道数,默认值为 0(由 code 自动决定)。输出图像,类型与颜色转换有关。BGR 转为 RGB。BGR 转为 HSV。BGR 转为 YUV。YUV 转为 BGR。

2025-07-16 11:02:10 121

原创 Ubuntu系统VScode实现opencv(c++)图像读取与显示

在 C++中,使用 OpenCV 库进行图像读取与显示是一项基础且常见的任务。OpenCV 提供了简单易用的函数来处理这些操作。

2025-07-15 19:43:49 352

原创 Unbuntu系统下VScode中配置opencv(c++)环境

VScode一共需要配置三个文件:c_cpp_properties.json,launch.json,tasks.json。按下ctrl+shift+b”,可以生成对应的二进制文件,我们在cd到对应的工程文件夹。在工作文件夹新建一个test.cpp,写一个测试代码,记得替换自己的图片路径。程序跑通,我们实现了在Ubuntu20.04中安装opencv并配置完成!或者直接运行这段代码:Run C/C++ file。接下来就是去干opencv(c++)这里的路径要替换为自己的路径。

2025-07-06 17:52:15 400

原创 Ubuntu20.04配置opencv(c++)环境

在Ubuntu系统上安装OpenCV的依赖库时,可以根据你的需求选择安装基础依赖或扩展依赖。以下是一些推荐的依赖库及其安装命令,这些依赖库能够满足大多数OpenCV的使用场景。例如libdc1394-22-dev依赖库,我们只需要下载libdc1394-dev代替该库即可,具体问题可以具体分析,其依赖库的代替可询问AI,然后下载对于所需的依赖库即可。这一步会出现相应的问题,由于ubuntu系统一些依赖库的删除及更新,会出现找不到对应库的定位。库文件的路径为:/usr/local/lib。

2025-07-06 17:10:10 876 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除