
OpenCV
文章平均质量分 65
CV码
学习、思考、沉淀
展开
-
OpenCV入门12.1:角点和特征点概述
角点是边缘相交的地方,而特征点是图像中独特的、可区分的点,不一定要在边缘相交处。原创 2024-08-27 23:54:41 · 459 阅读 · 0 评论 -
OpenCV入门12.2:SURF与SIFT比较及SURF示例
SURF算法通过这些步骤提供了一种快速且鲁棒的特征点检测和描述方法,使其在许多计算机视觉任务中得到广泛应用。原创 2024-08-27 23:58:30 · 680 阅读 · 0 评论 -
opencv入门1.1:从视频或摄像头读取图像
cv::VideoCapture是 OpenCV 中用于从视频文件或摄像头捕获图像帧的类。它提供了各种方法和函数,用于读取和处理视频数据。原创 2023-11-25 14:58:03 · 1376 阅读 · 0 评论 -
OpenCV入门11:轮廓提取和形状识别
根据不同形状的特征,使用适当的函数和算法进行识别,并可针对需要的特征进行进一步的处理和分析。通过形状匹配方法,可以将待识别的形状与已知形状进行比较,来确定形状的类别。这些特征可以用于识别不同形状的轮廓。该函数可以帮助你找到图像中的圆形轮廓,并返回识别到的圆形的圆心和半径。使用几何矩方法可以计算轮廓的矩,并利用矩的特征来识别不同的形状,如面积、宽高比、中心距等。除了前面提到的基于多边形逼近的方法外,还有一些常用的形状识别算法可以应用于轮廓识别。该函数可以检测图像中的直线轮廓,并返回检测到的直线的参数。原创 2023-11-13 08:00:00 · 6349 阅读 · 0 评论 -
OpenCV入门10:边缘检测
Canny边缘检测是一种经典的边缘检测算法,它具有较好的边缘定位和抑制噪声的能力。除了以上提到的算法,OpenCV还提供了更多的边缘提取方法和函数,如SobelX/SobelY函数、ScharrX/ScharrY函数等。边缘检测是图像处理中常用的操作,用于检测图像中的边缘或轮廓。Scharr算子是一种改进的Sobel算子,可以提供更加敏锐和准确的边缘检测结果。Laplacian算子是一种二阶微分算子,可以用于检测图像中的边缘。Roberts算子是一种简单的离散差分算子,用于检测图像中的边缘。原创 2023-11-12 08:00:00 · 476 阅读 · 0 评论 -
OpenCV入门9:图像增强和图像滤波
这些是OpenCV中常用的图像增强方法的示例,包括直方图均衡化、滤波器等。通过图像增强,可以改善图像的对比度、清晰度和质量等方面,提高图像的可视化效果和特征提取的效果。滤波器是一种常用的图像增强方法,通过对图像进行滤波处理来改善图像的质量和特征。高斯滤波是一种常用的线性平滑滤波器,通过计算像素邻域的加权平均值来实现去除噪声的目的。均值滤波是一种简单的线性平滑滤波器,通过计算像素邻域平均值来实现去除噪声的目的。中值滤波是一种非线性平滑滤波器,通过计算像素邻域的中值来实现去除噪声的目的。原创 2023-11-11 08:00:00 · 1750 阅读 · 0 评论 -
OpenCV入门8:区域分割和区域生长
图像均值偏移算法是一种迭代的区域分割算法,它基于像素的颜色空间中的梯度信息,将像素从初始位置移动到颜色空间中的局部极大值,从而实现图像分割。分水岭算法是一种基于图像梯度的区域分割算法,它将图像视为地形图,将明显的梯度边界看作是山峰,从而将图像分割成水流汇聚的不同区域。除了以上提到的算法,OpenCV中还提供了其他一些区域分割算法,如基于聚类的方法、基于边缘的方法等。图割算法是一种基于图论的区域分割算法,它将图像分割问题转化为在图上进行最小割(Minimum Cut)的问题。函数进行基于阈值的分割。原创 2023-11-10 11:13:31 · 1168 阅读 · 0 评论 -
OpenCV入门7:图像形态学变换
开运算和闭运算是形态学操作中常用的组合操作,包括先腐蚀后膨胀(开运算)和先膨胀后腐蚀(闭运算)。开运算可以消除图像中的噪声和细小的斑点,而闭运算可以填充图像中的孔洞和连接断开的区域。膨胀操作可以扩展图像中的边缘和明显的亮区域。它通过在图像上滑动一个结构元素(通常是一个正方形或圆形的小区域),将与该结构元素有重叠的区域像素的最大值赋给输出图像中的对应像素。腐蚀操作与膨胀操作相反,可以消除图像中的边缘和明显的亮区域,使其变窄。以上是OpenCV中常见的形态学操作的示例,包括膨胀、腐蚀、开运算和闭运算等。原创 2023-11-09 11:04:16 · 325 阅读 · 0 评论 -
OpenCV入门6:图像变换
图像平移是指将图像在平面上沿着指定的方向进行移动。在OpenCV中,可以通过构建平移矩阵来实现图像平移操作。以上是OpenCV中常用的图像变换方法的示例,包括图像缩放、图像平移和仿射变换等。通过这些函数和方法,可以方便地对图像进行大小调整、平移和变换等操作。在OpenCV中,提供了一些函数和方法可以进行图像的缩放、仿射变换等操作。仿射变换是指通过线性变换和平移变换来对图像进行变换的方法,可以实现缩放、旋转、错切、平移等操作。图像缩放是改变图像的大小,可以将图像放大或缩小。函数进行图像缩放操作。原创 2023-11-08 10:54:58 · 335 阅读 · 0 评论 -
OpenCV入门5:色彩空间及色彩变换
HSV色彩空间常用于图像的色彩调整和分析,例如调整图像的饱和度或亮度。不同的色彩空间有不同的表示方式,常见的色彩空间包括RGB(红绿蓝)、HSV(色调、饱和度、亮度)、YUV(亮度、色度)等。色彩变换是指在不同的色彩空间之间进行转换,以实现色彩的调整、分析和处理等目的。RGB色彩空间是最常用的色彩空间,将颜色表示为红色、绿色和蓝色三个分量的组合。色彩变换是在不同的色彩空间之间进行转换,以实现对图像色彩的调整和处理。在图像处理中,常用的色彩变换包括RGB到HSV的转换、RGB到YUV的转换等。原创 2023-11-07 11:26:48 · 324 阅读 · 0 评论 -
OpenCV入门3:像素操作
对于图像中的每一个像素,可以通过Mat对象中的at(i,j)函数(type可以是uchar、int等)获得Mat对象的像素值。OpenCV中提供了一些基本的图像处理函数,例如resize()(调整图像大小)、reshape()(调整通道数)、copyTo()(复制图像)等。cv::imread()函数可以读取多种图像格式的文件,例如JPEG、PNG等,cv::imwrite()函数可以将图像保存到磁盘上。这段代码演示了如何遍历图像的每个像素并反转BGR通道的值,然后显示处理后的图像。原创 2023-11-06 22:51:28 · 448 阅读 · 0 评论 -
OpenCV入门4:ROI区域操作
上述示例代码展示了如何设置ROI区域、复制和粘贴ROI、进行ROI区域的操作和计算。通过cv::Rect类型的矩形来定义ROI区域的位置和大小,然后使用cv::Mat的成员函数cv::Mat::operator()(const cv::Rect&)来设置ROI。所有的图像操作和计算都可以在ROI区域内进行,例如通过cv::Mat的成员函数cv::Mat::setTo()将ROI区域像素设置为指定的值。可以使用cv::Mat的成员函数cv::Mat::copyTo()来实现ROI区域的复制和粘贴。原创 2023-11-07 11:13:17 · 2525 阅读 · 1 评论 -
OpenCV入门2:OpenCV中的图像表示
例如,对于一个3通道的彩色图像,可以通过cv::Mat对象的行索引、列索引和通道索引来访问和修改图像的像素值。例如,mat.at(i, j)[2]表示访问第i行、第j列的像素的红色通道值。cv::Mat还包含了一些成员函数,例如赋值运算符operator=、创建矩阵的create()函数、释放矩阵的release()函数、复制矩阵的copyTo()函数等。图像的每个像素都由一个或多个通道组成,常见的是灰度图像(单通道)和彩色图像(三通道,如BGR格式)。- dims:表示数据的维度。原创 2023-11-05 17:14:59 · 860 阅读 · 0 评论 -
opencv入门1:二行代码,快速上手
快速上手!opencv图片读取,显示。imread();namedwindow();imshow();原创 2023-02-14 00:16:25 · 321 阅读 · 0 评论