网站备案 不备案网站建设开发网站案例项目费用
- 作者: 五速梦信息网
- 时间: 2026年03月21日 08:14
当前位置: 首页 > news >正文
网站备案 不备案,网站建设开发网站案例项目费用,郑州专业制作网站费用,碧桂园事件全过程一、Sobel算子 案例图片 cv2.Sobel(src, ddepth, dx, dy, ksize3, scale1, delta0, borderTypeNone) 功能#xff1a;用于计算图像梯度#xff08;gradient#xff09;的函数 参数#xff1a; src: 输入图像#xff0c;它应该是灰度图像。 ddepth: 输出图像的所需深度3, scale1, delta0, borderTypeNone) 功能用于计算图像梯度gradient的函数 参数 src: 输入图像它应该是灰度图像。 ddepth: 输出图像的所需深度数据类型。通常你可以使用 -1 来表示与输入图像相同的深度或者使用如 cv2.CV_64F 等来指定特定的深度。由于梯度计算可能产生负值因此建议使用能够包含负数的数据类型。 dx: x 方向上的导数阶数。如果你想要计算 x 方向上的梯度设置这个参数为 1如果你不关心 x 方向上的梯度设置这个参数为 0。 dy: y 方向上的导数阶数。如果你想要计算 y 方向上的梯度设置这个参数为 1如果你不关心 y 方向上的梯度设置这个参数为 0。通常你不会同时设置 dx 和 dy 都为 0。 ksize: Sobel 核的大小。它必须是 1、3、5、7 或 9 之一。这个参数决定了用于计算梯度的滤波器的大小。大小为 1 时表示使用最小的滤波器但通常你会使用更大的滤波器来平滑梯度计算。 scale: 可选参数表示计算梯度时的缩放因子。默认值为 1表示不进行缩放。你可以通过调整这个参数来放大或缩小梯度的结果。 delta: 可选参数表示在将结果存储到目标图像之前要添加到结果中的可选增量值。默认值为 0表示不添加增量。 borderType: 像素外推方法例如 cv2.BORDER_DEFAULT、cv2.BORDER_REFLECT 等。这个参数决定了在图像边界处如何处理像素外推。 import cv2 import numpy as npimgcv2.imread(./shudu.png)img_sobel cv2.Sobel(img,-1,0,1,ksize3)img_sobel2 cv2.Sobel(img,-1,1,0,ksize3)cv2.imshow(1,img) cv2.imshow(2,img_sobel) cv2.imshow(3,img_sobel2) cv2.waitKey(0) 二、Laplacian算子 cv2.Laplacian(src, ddepth, ksize1, scale1, delta0, borderTypeNone) 功能用于计算图像的拉普拉斯算子Laplacian 参数 src: 输入图像它应该是灰度图像。 ddepth: 输出图像的所需深度。这个参数决定了输出图像的深度数据类型。通常你可以使用 -1 来表示与输入图像相同的深度或者使用 cv2.CV_64F 等来指定特定的深度。由于拉普拉斯算子可能产生负值因此通常建议使用能够包含负数的数据类型如 cv2.CV_64F。 ksize: 算子的大小。它必须是 1、3、5 或 7 之一。这个参数决定了用于计算拉普拉斯算子的滤波器的大小。大小为 1 时表示使用 4 邻域拉普拉斯算子其他大小则使用更大的滤波器。 scale: 可选参数表示计算拉普拉斯算子时的缩放因子。默认值为 1表示不进行缩放。你可以通过调整这个参数来放大或缩小拉普拉斯算子的结果。 delta: 可选参数表示在将结果存储到目标图像之前要添加到结果中的可选增量值。默认值为 0表示不添加增量。 borderType: 像素外推方法例如 cv2.BORDER_DEFAULT、cv2.BORDER_REFLECT 等。这个参数决定了在图像边界处如何处理像素外推。当 ksize 大于 1 时这个参数才有意义。 import cv2imgcv2.imread(./shudu.png)img_lap cv2.Laplacian(img,-1,ksize3)cv2.imshow(1,img) cv2.imshow(2,img_lap) cv2.waitKey(0) 三、Canny边缘检测 cv2.Canny(image, threshold1, threshold2, edges, apertureSize, L2gradient) 功能用于边缘检测的函数 参数 image 输入图像它应该是一个灰度图像单通道。 threshold1 第一个阈值用于边缘检测的滞后过程。这个值较低用于确定边缘的初始点。 threshold2 第二个阈值用于边缘检测的滞后过程。这个值较高用于确定边缘的最终点。如果某个像素点的梯度值高于这个阈值它被认为是边缘如果低于这个值但高于threshold1并且与高于threshold2的像素点相连它也被认为是边缘。 edges 输出图像与输入图像大小相同但通常是二值图像即只包含边缘和非边缘的像素。 apertureSize可选默认为3 Sobel算子的大小它决定了梯度计算的邻域大小。它必须是1、3、5或7之一。 L2gradient可选默认为False 一个布尔值指示是否使用更精确的L2范数进行梯度计算。如果为True则使用L2范数即欧几里得距离如果为False则使用L1范数即曼哈顿距离。L2范数通常更精确但计算成本也更高。 import cv2img cv2.imread(./road.png)img_graycv2.cvtColor(img,cv2.COLORBGR2GRAY),img_binarycv2.threshold(img_gray,125,255,cv2.THRESH_BINARYcv2.THRESH_OTSU)img_blurcv2.GaussianBlur(img_binary,(3,3),3)img_cannycv2.Canny(img_blur,30,70)cv2.imshow(0,img) cv2.imshow(gray,img_gray) cv2.imshow(binary,img_binary) cv2.imshow(blur,img_blur) cv2.imshow(canny,img_canny) cv2.waitKey(0) 四、findContours cv2.findContours(image, mode, method, contour, hierarchy, offset.) 功能用于检测图像轮廓的函数 参数: image (必需): 输入图像通常是一个二值图像即只包含黑白两种颜色的图像其中白色部分代表要检测的对象黑色部分代表背景。也可以是非二值图像但通常需要先进行某种形式的预处理如阈值分割或边缘检测。 mode (可选某些版本中必需): 轮廓检索模式。它决定了函数如何检测轮廓。常见的模式有 cv2.RETR_EXTERNAL只检索最外层轮廓。 cv2.RETR_LIST检索所有轮廓但不创建任何父子关系。 cv2.RETR_CCOMP检索所有轮廓并将它们组织为两层结构其中顶层是连通域的外边界底层是孔的内边界。 cv2.RETR_TREE检索所有轮廓并重建完整的层次结构。 method (可选某些版本中必需): 轮廓近似方法。它决定了轮廓的近似程度。常见的方法有 cv2.CHAIN_APPROX_NONE存储所有的轮廓点不进行任何近似。 cv2.CHAIN_APPROX_SIMPLE压缩水平、垂直和对角线段只保留它们的终点。 cv2.CHAIN_APPROX_TC89_L1、cv2.CHAIN_APPROX_TC89_KCOS应用 Teh-Chin 链式近似算法的一种变体。 contours (某些版本中作为返回值): 在某些 OpenCV 版本中这个参数是用来存储检测到的轮廓的。它是一个 Python 列表其中每个元素都是一个轮廓轮廓是由点组成的 NumPy 数组。 hierarchy (某些版本中作为返回值): 轮廓的层次结构信息。这是一个 NumPy 数组包含了关于轮廓之间关系的信息例如哪个轮廓是另一个轮廓的父轮廓或子轮廓。 offset (可选默认为 (0, 0)): 轮廓点的偏移量。这个参数允许你在原始图像坐标系的基础上对轮廓点进行平移。 五、drawContours绘制轮廓 cv2.drawContours(image, contours, contourIdx, color, thickness, lineType, hierarchy, maxLevel, offset) 功能用于在图像上绘制轮廓的函数 参数 image (必需): 这是要在其上绘制轮廓的输入图像。它应该是一个三通道图像例如彩色图像或单通道图像例如灰度图像但通常是三通道图像以便可以使用不同的颜色来绘制轮廓。 contours (必需): 这是一个 Python 列表包含要绘制的所有轮廓。每个轮廓都是一个点集通常是由 cv2.findContours() 函数返回的 NumPy 数组。 contourIdx (可选默认为 -1): 指定要绘制的轮廓的索引。如果为 -1则绘制所有轮廓。否则只绘制指定索引处的轮廓。 color (可选默认为 (0, 255, 0)): 轮廓的颜色。它是一个三元组表示 BGR蓝、绿、红颜色空间中的颜色。例如(0, 255, 0) 表示绿色。 thickness (可选默认为 1): 轮廓的厚度。如果为正数则轮廓将被绘制为指定厚度的线条。如果为负数例如 -1则轮廓内部将被填充。 lineType (可选默认为 cv2.LINE_8): 线条的类型。它决定了轮廓线条的平滑度。cv2.LINE_8 表示 8-连通线cv2.LINE_4 表示 4-连通线cv2.LINE_AA 表示抗锯齿线。 hierarchy (可选默认为 None): 轮廓的层次结构信息。这是一个 NumPy 数组通常由 cv2.findContours() 函数返回。它包含了关于轮廓之间关系的信息例如哪个轮廓是另一个轮廓的父轮廓或子轮廓。在绘制所有轮廓时这个参数通常不需要。 maxLevel (可选默认为 INT_MAX): 用于控制绘制轮廓的层次深度。当 contourIdx 参数为 -1 时这个参数才有效。它决定了要绘制的轮廓的最大层次深度。 offset (可选默认为 (0, 0)): 轮廓点的偏移量。这个参数允许你在原始图像坐标系的基础上对轮廓点进行平移。 import cv2img cv2.imread(./number.png)img_graycv2.cvtColor(img,cv2.COLORBGR2GRAY),img_binarycv2.threshold(img_gray,125,255,cv2.THRESH_BINARYcv2.THRESH_OTSU)contours,hierarchycv2.findContours(img_binary, #二值化的图cv2.RETR_LIST, #查询轮廓方式cv2.CHAIN_APPROX_SIMPLE) #保存轮廓坐标点的方式 img_copyimg.copy() #拷贝不然会修改图像 img_drawcv2.drawContours(img_copy, #绘制的图像contours, #轮廓的顶点坐标集-1,#所有轮廓(0,0,255),3 #线条粗细)cv2.imshow(1,img) cv2.imshow(2,img_draw) cv2.waitKey(0) 六、外接矩形 import cv2 import numpy as npimg cv2.imread(./outline.png)
灰度化
img_gray cv2.cvtColor(img, cv2.COLOR_BGRA2GRAY)
二值化
_, img_binary cv2.threshold(img_gray,127,255,cv2.THRESH_BINARY_INVcv2.THRESH_OTSU)
寻找轮廓
contours, _ cv2.findContours(img_binary, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
绘制轮廓
img_draw img.copy() cv2.drawContours(img_draw, contours, -1, (0, 0, 255), 2)# 给所有轮廓都绘制 外接 for i in contours:# 第一种调用外接矩形函数获取当前轮廓点的左上角的坐标(x, y) 宽w 高hx, y, w, h cv2.boundingRect(i)# 画矩形cv2.rectangle(img_draw, [x, y], [xw, yh], (0, 255, 0), 2)# 第二种调用最小面积外接矩形函数获取包含三个元素的元组中心点坐标、长宽、旋转角度# ((center_x, center_y), (width, height), angle)ret cv2.minAreaRect(i)# 调用cv2.boxPoints(ret)可以获取旋转矩阵的四个顶点box np.int32(cv2.boxPoints(ret))# 绘制轮廓cv2.drawContours(img_draw, [box], -1, (255, 255, 0), 3)# 第三种调用最小外接圆函数获取圆心坐标 和 半径(x, y), radius cv2.minEnclosingCircle(i)(x, y, radius) np.int32((x, y, radius))# 画圆cv2.circle(img_draw, (x, y), radius, (255, 0, 255), 3)cv2.imshow(image, img) cv2.imshow(image_draw, img_draw) cv2.waitKey(0)
- 上一篇: 网站报价表网络空间的竞争归根结底是
- 下一篇: 网站备案 查询做的比较好的二手交易网站有哪些
相关文章
-
网站报价表网络空间的竞争归根结底是
网站报价表网络空间的竞争归根结底是
- 技术栈
- 2026年03月21日
-
网站报错 500做搜狗网站排名首页
网站报错 500做搜狗网站排名首页
- 技术栈
- 2026年03月21日
-
网站宝建站助手网站的ftp怎么登陆
网站宝建站助手网站的ftp怎么登陆
- 技术栈
- 2026年03月21日
-
网站备案 查询做的比较好的二手交易网站有哪些
网站备案 查询做的比较好的二手交易网站有哪些
- 技术栈
- 2026年03月21日
-
网站备案 历史承装承修承试材料在哪个网站做
网站备案 历史承装承修承试材料在哪个网站做
- 技术栈
- 2026年03月21日
-
网站备案 内容php不用框架怎么做网站
网站备案 内容php不用框架怎么做网站
- 技术栈
- 2026年03月21日
