
OpenCV
文章平均质量分 64
OpenCV 算法分享
ViatorSun
深度学习算法工程师,Github开源世界贡献者,专注于『计算机视觉、多模态大模型』领域
展开
-
图像处理算法 面试题
1、常用边缘检测有哪些算子,各有什么特性?解:常用边缘检测算子如下所述: Sobel算子其主要用于边缘检测,在技术上它是以离散型的差分算子,用来运算图像亮度函数的梯度的近似值, Sobel算子是典型的基于一阶导数的边缘检测算子,由于该算子中引入了类似局部平均的运算,因此对噪声具有平滑作用,能很好的消除噪声的影响。Sobel算子对于象素的位置的影响做了加权,与Prewitt算子、Ro...原创 2018-09-03 16:56:10 · 18676 阅读 · 0 评论 -
cv2.imdecode & cv2.imread 的区别
cv2.imread()和cv2.imdecode()都是OpenCV库中用于读取图像的函数,但它们之间有一些区别:先说结论:windows系统下推荐使用 cv2.imdecode格式,此格式可以避免因为路径导致的 None,且读取内容与cv2.imread 一致。原创 2024-06-10 23:30:02 · 582 阅读 · 0 评论 -
「笔记」Python 拼接 多张图片
图像拼接采用的最简单的画板填充方法,首先创建一张大的空白画板,然后按照拼接张数,以此在画板的各个子区域将图像复制进去,此处需要注意在复制之前需要对图像进行 resize处理,不然尺寸不一致会报错!完整版拼接代码,img_list 是待拼接的所有图像路径列表,每行一个图像路径,save_path 是拼接好的图像保存文件夹路径。为标注框中心点位置。对于不需要标注信息的小伙伴直接注释掉就可以。原创 2023-04-11 15:29:32 · 968 阅读 · 0 评论 -
「Bug」OpenCV读取图像为 None 分析
头一次遇到 OpenCV 无法读取图像,并且没有任何提示,首先怀疑的就是中文路径,因为大概率是这个地方出错的,但是修改完依旧是None,这就很苦恼了,分析了下出现None的原因,大概有以下三种情况,供大家参考## 1、原因一:中文路径。原创 2023-04-11 14:49:10 · 1155 阅读 · 0 评论 -
「解析」opencv读取中文路径报错
经常使用 Opencv 处理图像,但是发现使用opencv处理图片的时候,imread 无法读取中文文件,只能识别英文路径文件,中文路径就算不提示错误,但也不会有结果输出,因此需要修改下需要通过 numpy 读取下图像,再进行下转换,即可使用中文路径下的图像处理。原创 2023-04-06 11:25:29 · 1587 阅读 · 1 评论 -
「解析」双线性插值
在介绍双线性插值之前,我们先解释下 插值:百科的定义是插值是离散函数逼近的重要方法,利用函数通过的有限点的取值状况,估算出函数在临近处的近似值。在图像领域,插值就是用来填充 图像变换时像素之间的空隙。插值算法有许多种,双线性插值只是其中一种。原创 2022-05-01 07:00:00 · 3008 阅读 · 2 评论 -
cv.add & cv.addWeighted 的区别
图像加法 cv.add您可以通过OpenCV函数 cv.add() 或仅通过numpy操作 res = img1 + img2 添加两个图像。两个 图像应具有相同的深度和类型,或者第二个图像可以只是一个标量值。注意: OpenCV加法和Numpy加法之间有区别。OpenCV加法是饱和运算,而Numpy加法是模运算。见下代码例如,考虑以下示例:>>> x = np.uint8([250])>>> y = np.uint8([10])>>>原创 2020-10-04 22:56:36 · 2262 阅读 · 0 评论 -
详解 OpenCV 中的绘图功能
在上述所有功能中,您将看到一些常见的参数,如下所示:img: 您要绘制形状的图像color: 形状的颜色。对于BGR,将其作为元组传递,例如:(255,0,0)对于蓝色。对于灰度,只需传递标量值即可。厚度: 线或圆等的粗细。如果对闭合图形(如圆)传递 -1 ,它将填充形状。默认厚度= 1lineType: 线的类型,是否为8连接线,抗锯齿线等。默认情况下,为8连接线。 cv.LINE_AA 给出了抗锯齿的线条,看起来非常适合曲线。画线要绘制一条线,您需要传递线的开始和结束坐标。我们将创建一原创 2020-10-04 17:33:33 · 799 阅读 · 2 评论 -
OpenCV 图像/视频 读取 & 显示
使用cv.imread()函数读取图像。图像应该在工作目录或图像的完整路径应给出。 第二个参数是一个标志,它指定了读取图像的方式。cv.imshow()使用函数**cv.imshow()**在窗口中显示图像。窗口自动适合图像尺寸。第一个参数是窗口名称,它是一个字符串。第二个参数是我们的对象。你可以根据需要创建任意多个窗口,但可以使用不同的窗口名称。cv2.waitKey() 是一个键盘绑定函数。其参数是以毫秒为单位的时间。该函数等待任何键盘事件指定 的毫秒。如果您在这段时间内按下任何键,程序将原创 2020-09-27 11:39:24 · 3303 阅读 · 5 评论 -
详解 OpenCV 透视变换原理 及 实例
OpenCV提供了两种图片变换的方式:仿射变换和透视变换,两者的区别很容易区分, - 前者是将矩形的图片变成平行四边形 - 后者是将图片变成梯形这两种变换虽然都有各自的应用场景,但在实际的图片变换中由于透视效应的存在,后者的使用更加普遍,本文为大家详解OpenCV透视变换的透视变换原理及实例展示。原创 2019-04-02 09:44:24 · 13661 阅读 · 9 评论 -
详解 欧拉角与四元数
一、欧拉角静态的定义对于在三维空间里的一个参考系,任何坐标系的取向,都可以用三个欧拉角来表现。参考系又称为实验室参考系,是静止不动的。而坐标系则固定于刚体,随着刚体的旋转而旋转。如图所示。设定xyz-轴为参考系的参考轴。称xy-平面与XY-平面的相交为交点线,用英文字母(N)代表。zxz顺规的欧拉角可以静态地这样定义:α\alphaα 是 x-轴与交点线的夹角,β\betaβ 是z-...原创 2019-10-24 00:10:15 · 16740 阅读 · 5 评论 -
详解 图像旋转变换 原理
1、简介 旋转变换是计算机图像学中应用非常广泛的一种变换,为了后面解释的需要,我们也添加了平移变换、缩放变化等内容。文章重点介绍关于旋转的变换,包括二维旋转变换、三维旋转变换以及它的一些表达方式(旋转矩阵、四元数、欧拉角等)。2、平移变换 将三维空间中的一个点......原创 2019-10-17 17:27:12 · 10913 阅读 · 8 评论