找到 34423 篇文章 关于编程

如何使用 OpenCV Python 计算图像中对象的纵横比?

Shahid Akhtar Khan
更新于 2022年9月28日 12:03:24

4K+ 次查看

对象的纵横比计算为对象的边界矩形的宽度与高度之比。因此,要计算纵横比,我们首先必须找到对象的边界矩形。可以使用 cv2.boundingRect() 函数找到对象的边界矩形。它接受对象的轮廓点并返回边界矩形的左上角坐标 (x, y) 和 (宽度, 高度)。我们使用宽度和高度来计算纵横比。语法 x, y, w, h = cv2.boundingRect(cnt) aspect_ratio = float(w)/h 这里,“cnt” 是一个 numpy 数组……阅读更多

如何使用 OpenCV Python 计算图像中对象的范围?

Shahid Akhtar Khan
更新于 2022年9月28日 12:05:42

1K+ 次查看

对象的范围计算为轮廓面积与其边界矩形面积之比。因此,要计算范围,我们首先必须找到轮廓面积和边界矩形面积。可以使用 cv2.contourArea() 函数找到对象的轮廓面积。语法 范围可以按如下方式计算:area = cv2.contourArea(cnt) x, y, w, h = cv2.boundingRect(cnt) rect_area = w*h extent = float(area)/rect_area 这里,“cnt” 是图像中对象轮廓点的 numpy 数组。步骤 您可以使用以下步骤计算范围……阅读更多

如何使用 OpenCV 和 Python 对图像执行双边滤波操作?

Shahid Akhtar Khan
更新于 2022年9月28日 10:16:11

1K+ 次查看

双边滤波操作在平滑图像和去除噪声方面非常有效。双边滤波的主要优点是它可以保留边缘,这与平均滤波和中值滤波不同。与其他滤波器相比,双边滤波操作速度较慢。我们可以使用 cv2.bilateralFilter() 方法对图像执行双边滤波。语法以下是此方法的语法。cv2.bilateralFilter(img, d, sigmaColor, sigmaSpace) 此方法接受以下参数:img - 应用双边滤波操作的输入图像。d - 表示整数类型的变量,表示……阅读更多

如何使用 OpenCV Python 将椭圆拟合到图像中的对象?

Shahid Akhtar Khan
更新于 2022年9月28日 10:08:55

9K+ 次查看

我们可以使用函数 cv2.fitEllipse() 将椭圆拟合到对象。椭圆内接于旋转矩形。旋转矩形是包含对象的最小面积的边界矩形。语法此函数使用的语法为:ellipse = cv2.fitEllipse(cnt) 其中,“cnt” 是轮廓点。它表示为轮廓点的数组。输出 - 它返回一个元组的元组,格式为 ((x, y), (majorAxis, minorAxis), angle)。(x, y) 是中心的坐标,(majorAxis, minorAxis) 是短轴和长轴的长度,angle 是旋转角度……阅读更多

如何在 OpenCV Python 中对两张图像执行按位或运算?

Shahid Akhtar Khan
更新于 2022年9月28日 10:05:46

1K+ 次查看

在 OpenCV 中,彩色 (RGB) 图像表示为 3 维 numpy 数组。图像的像素值使用范围为 0 到 255 的 8 位无符号整数 (uint8) 存储。对两张图像执行按位或运算是在相应图像的这些像素值的二进制表示上执行的。语法以下是对两张图像执行按位或运算的语法:cv2.bitwise_or(img1, img2, mask=None) img1 和 img2 是两张输入图像,mask 是掩码操作。步骤要计算两张图像之间的按位或,您可以使用以下步骤……阅读更多

如何使用 OpenCV Python 在图像上创建水印?

Shahid Akhtar Khan
更新于 2022年9月28日 09:08:18

1K+ 次查看

要向图像添加水印,我们将使用 OpenCV 中的 cv2.addWeighted() 函数。您可以使用以下步骤在输入图像上创建水印:导入所需的库。在以下所有 Python 示例中,所需的 Python 库是 OpenCV。确保您已安装它。import cv2 读取我们将要应用水印的输入图像并读取水印图像。img = cv2.imread("panda.jpg") wm = cv2.imread("watermark.jpg") 获取输入图像的高度和宽度,以及水印图像的高度和宽度。h_img, w_img……阅读更多

如何在 OpenCV Python 中找到对象的最小外接圆?

Shahid Akhtar Khan
更新于 2022年9月28日 09:06:00

3K+ 次查看

对象的最小外接圆(外接圆)是一个完全覆盖对象且面积最小的圆。我们可以使用函数 cv2.minEnclosingCircle() 找到对象的最小外接圆。语法此函数的语法为:(x, y), radius = cv2.minEnclosingCircle(cnt) 其中,“cnt” 是轮廓点。它表示为轮廓点的数组。输出 - 它返回中心坐标 (x, y) 和最小外接圆的半径。(x, y) 和 radius 的数据类型为 float。因此,要在图像上绘制圆圈,我们将它们转换为整数。要绘制……阅读更多

如何在 OpenCV Python 中查找和绘制图像轮廓的凸包?

Shahid Akhtar Khan
更新于 2022年9月28日 09:01:38

4K+ 次查看

凸包看起来类似于轮廓近似,但它并非完全是轮廓近似。凸包是围绕对象的凸曲线。凸曲线总是向外凸出,或者至少是平的。凸包查找凸度缺陷并对其进行校正。语法要查找凸包,我们使用以下函数:hull = cv2.convexHull(cnt, hull, clockwise, returnPoints) 参数 cnt 是轮廓点。它表示为轮廓点的数组。hull 是输出,通常我们避免它。clockwise - 方向标志。如果为 True,则输出凸……阅读更多

如何在 OpenCV Python 中计算图像的 Hu 不变量矩?

Shahid Akhtar Khan
更新于 2022年9月28日 08:53:51

3K+ 次查看

可以使用 cv2.HuMoments() 函数找到 Hu 不变量矩。它返回七个对平移、旋转和缩放不变的矩。第七个矩是偏度不变的。要计算 Hu 不变量矩,我们需要首先找到图像。使用对象的轮廓计算对象的图像矩。因此,首先,我们检测对象的轮廓,然后应用 cv2.moments() 函数来计算矩。语法此函数使用以下语法:M = cv2.moments(cnt) cv2.HuMoments(M) 这里,cnt - 它是图像中对象轮廓点的 numpy 数组。M……阅读更多

如何使用 OpenCV Python 检测图像中的矩形和正方形?

Shahid Akhtar Khan
更新于 2023年8月26日 08:26:18

39K+ 次查看

要检测图像中的矩形和正方形,我们首先检测图像中的所有轮廓。然后循环遍历所有轮廓。为每个轮廓找到近似的轮廓。如果近似轮廓中的顶点数量为 4,则我们计算纵横比以区分矩形和平方。如果纵横比在 0.9 到 1.1 之间,我们说它是正方形,否则是矩形。请参见下面的伪代码。for cnt in contours: approx = cv2.approxPolyDP(cnt) if len(approx) == 4: x, y, w, h =……阅读更多

广告
© . All rights reserved.