随笔分类 -  OpenCV

摘要:下面使用 C++ 实现简单的 ROI 截取车牌区域图片,暂时还未实现使用 OCR 识别出车牌字符,后面考虑实现。 测试车牌图像如下: 开发环境: Qt :Qt5.12.8 编译器:MingW 64-bit(debug) 车牌识别的过程可分为四步: (1)车牌图像预处理; (2)查找轮廓和筛选轮廓; 阅读全文
posted @ 2025-10-16 09:24 fengMisaka 阅读(252) 评论(0) 推荐(1)
摘要:一、添加椒盐噪声 椒盐噪声是一种随机噪声,模拟图像中出现黑白像素点的情况,即有些像素点变为白色(盐噪声),有些变为黑色(椒噪声)。 #include <opencv2/opencv.hpp> #include <iostream> using namespace std; using namespa 阅读全文
posted @ 2025-08-19 17:04 fengMisaka 阅读(116) 评论(0) 推荐(0)
摘要:一、图像锐化是什么? 图像锐化 (image sharpening) 是补偿图像的轮廓,增强图像的边缘及灰度跳变的部分,使图像变得清晰,分为空间域处理和频域处理两类。图像锐化是为了突出图像上地物的边缘、轮廓,或某些线性目标要素的特征。这种滤波方法提高了地物边缘与周围像元之间的反差,因此也被称为边缘增 阅读全文
posted @ 2025-08-19 14:18 fengMisaka 阅读(713) 评论(0) 推荐(0)
摘要:在图像处理中,直方图是一种非常重要的工具,它可以帮助我们了解图像的像素分布情况。通过分析图像的直方图,我们可以进行图像增强、对比度调整、图像分割等操作。 一、什么是图像直方图? 图像直方图是图像像素强度分布的图形表示,对于灰度图像,直方图显示了每个灰度级(0 到 255)在图像中出现的频率,对于彩色 阅读全文
posted @ 2025-08-15 11:55 fengMisaka 阅读(568) 评论(0) 推荐(1)
摘要:轮廓检测是图像处理中的重要任务,用于提取图像中物体的边界。OpenCV 提供了强大的轮廓检测功能,可以用于物体识别、形状分析、目标跟踪等应用。以下是 OpenCV 图像轮廓检测的详细说明。 一、轮廓检测的基本概念 轮廓: 图像中物体的边界,由一系列点组成。 轮廓层次结构: 轮廓之间的嵌套关系,例如一 阅读全文
posted @ 2025-08-12 16:32 fengMisaka 阅读(609) 评论(0) 推荐(1)
摘要:在数字图像处理领域,边缘检测是一项至关重要的基础技术。它如同为图像赋予 “骨架”,帮助计算机快速识别图像中的物体轮廓、形状与结构,广泛应用于目标识别、图像分割、图像配准等多个领域。 边缘检测的核心目标是找出图像中像素灰度发生剧烈变化的区域边界。这些边界往往对应着图像中物体的轮廓、不同物体的交界处或纹 阅读全文
posted @ 2025-08-12 13:45 fengMisaka 阅读(1069) 评论(0) 推荐(0)
摘要:图像形态学操作是图像处理中的一种重要技术,主要用于处理二值图像(即黑白图像)。 OpenCV 中的图像形态学操作是图像处理中的重要工具,通过腐蚀、膨胀、开运算、闭运算和形态学梯度等操作,可以实现对图像的噪声去除、对象分离、边缘检测等效果。掌握这些操作有助于更好地处理和分析图像数据。 以下是 Open 阅读全文
posted @ 2025-08-12 10:32 fengMisaka 阅读(222) 评论(0) 推荐(0)
摘要:一、基础理论 1.1 图像噪声 由于图像采集、处理、传输等过程不可避免的会受到噪声的污染,妨碍人们对图像理解及分析处理。常见的图像噪声有高斯噪声、椒盐噪声等。 椒盐噪声 椒盐噪声也称为脉冲噪声,是图像中经常见到的一种噪声,它是一种随机出现的白点或者黑点,可能是亮的区域有黑色像素或是在暗的区域有白色像 阅读全文
posted @ 2025-08-12 09:55 fengMisaka 阅读(709) 评论(0) 推荐(0)
摘要:在图像处理中,阈值处理是一种常用的技术,用于将图像转换为二值图像(即黑白图像)。通过设定一个阈值,可以将图像中的像素分为两类:高于阈值的像素和低于阈值的像素。 OpenCV 提供了多种阈值处理方法,本文将详细介绍三种常见的阈值处理技术:简单阈值处理、自适应阈值处理以及 Otsu's 二值化。 一、简 阅读全文
posted @ 2025-08-11 17:26 fengMisaka 阅读(240) 评论(0) 推荐(0)
摘要:在图像处理中,算术运算和位运算是非常基础且重要的操作。下面将详细介绍如何使用 OpenCV 进行图像的加法、减法、乘法、除法、位运算以及图像混合操作。 一、基础运算 1.1 图像加法 图像加法是将两幅图像的对应像素值相加,生成一幅新的图像。在 OpenCV 中,可以使用 cv::add() 函数来实 阅读全文
posted @ 2025-08-11 17:02 fengMisaka 阅读(221) 评论(0) 推荐(0)
摘要:一、了解函数setMouseCallback() OpenCV 中的鼠标操作是通过一个中介函数配合一个回调函数来实现。OpenCV 中提供了 setMouseCallback() 函数,这个函数的作用是为指定的窗口设置鼠标回调函数,通过这个函数可以实现画图的功能。下面是这个函数的原型: void s 阅读全文
posted @ 2025-08-11 11:20 fengMisaka 阅读(96) 评论(0) 推荐(0)
摘要:一、什么是归一化? 概念一:归一化是把需要处理的数据通过某种算法处理后限制在所需要的一定范围内。 概念二:归一化是指在处理数据的过程中,把数据范围相差较大的数据进行标准化处理,让所有的数据都处于同一个数量级中。 二、为什么要归一化? 首先,归一化是 为了后面数据处理的方便,其次是保证程序运行时收敛加 阅读全文
posted @ 2025-08-08 16:11 fengMisaka 阅读(115) 评论(0) 推荐(0)
摘要:在图像处理中,几何变换是改变图像形状、位置和大小的重要操作,它不改变图像的像素值,而是通过对像素坐标的重新映射实现图像的重新布局。常见的几何变换包括平移、旋转、仿射变换、缩放和翻转,这些操作在图像配准、目标检测、图像矫正等领域有着广泛应用。 一、图像平移(Translation) 1.1 原理 平移 阅读全文
posted @ 2025-08-05 17:10 fengMisaka 阅读(230) 评论(0) 推荐(0)
摘要:一、图像 ROI(Region of Interest) ROI 是指图像中我们感兴趣的区域。通过提取 ROI,我们可以只对图像的特定部分进行处理,从而提高处理效率。 在计算机视觉中,感兴趣区域 (Region of Interest, ROI) 是指从图像中选择的一个特定区域,我们希望对其进行进一 阅读全文
posted @ 2025-08-05 17:09 fengMisaka 阅读(273) 评论(0) 推荐(0)
摘要:一、访问和修改像素值 图像是由像素组成的矩阵,每个像素都有一个或多个值,表示颜色或灰度。 在灰度图像中,每个像素只有一个值,表示灰度强度; 在彩色图像中,每个像素通常有三个值,分别表示红色、绿色和蓝色(RGB)通道的强度。 1.1 访问单个像素值 假设我们有一个灰度图像 image,可以通过 ima 阅读全文
posted @ 2025-08-05 17:09 fengMisaka 阅读(228) 评论(0) 推荐(0)
摘要:OpenCV 是一个强大的图像处理库,可以轻松实现图形绘制功能。本文将通过代码示例,介绍如何使用 OpenCV 在图像上绘制常见的图形,包括直线、矩形、圆形、椭圆、多边形以及绘制字体。 一、绘制直线 API: void line(InputOutputArray img, Point pt1, Po 阅读全文
posted @ 2025-07-23 10:02 fengMisaka 阅读(127) 评论(0) 推荐(0)
摘要:一、视频的读取 (1)打开视频 cv::VideoCapture 类是读取视频的,cv::VideoCapture 既支持视频文件的读取,也支持从视频捕捉文件中读取视频,比如摄像头。cv::VideoCapture 类创建对象的方式如下三种: cv::VideoCapture capture(con 阅读全文
posted @ 2025-07-23 09:55 fengMisaka 阅读(502) 评论(0) 推荐(0)
摘要:在 OpenCV 中,图像的基本操作包括读取、显示和保存图像。这些操作是图像处理的基础。(OpenCV 的图像包含图片和视频。) 一、读取图像 使用 imread 函数读取图像。imread 函数返回的是 Mat 对象,如果读取函数文件失败,会返回一个空矩阵(空矩阵 cv::Mat::data 变量 阅读全文
posted @ 2025-07-23 09:15 fengMisaka 阅读(337) 评论(0) 推荐(0)
摘要:OpenCV 是一个功能强大的计算机视觉库,包含多个模块,每个模块专注于不同的功能。 OpenCV 是由多个模块组成的,每个模块都提供了不同的功能。 以下是 OpenCV 中最常用的一些模块: cv2.core: 核心模块,包含了图像处理的基础功能(如图像数组的表示和操作)。 cv2.imgproc 阅读全文
posted @ 2025-07-21 15:26 fengMisaka 阅读(133) 评论(0) 推荐(0)
摘要:对图像的处理,就是对数据结构的处理,OpenCV 中常用的数据结构 cv::Mat、cv::Vec、cv::Point、cv::Scalar、cv::Size、cv::Rect,最基础常用的颜色颜色空间转换函数 cvtColor()。 一、基础图像矩阵容器:cv::Mat 这是 OpenCV 中最常 阅读全文
posted @ 2025-07-21 11:28 fengMisaka 阅读(176) 评论(0) 推荐(0)