当前位置: 首页 > news >正文

房地产门户网站建设wordpress 3.9 中文

房地产门户网站建设,wordpress 3.9 中文,如何做亚马逊备案的网站,wordpress分类页不要显示全文文章目录 概要图像矩凸包边界矩形 概要 OpenCV是一个流行的计算机视觉库#xff0c;它提供了许多图像处理和分析功能#xff0c;其中包括查找图像中物体的轮廓。通过查找轮廓#xff0c;可以提取许多有用的特征#xff0c;如面积、周长、质心、边界框等。 以下是几种使用… 文章目录 概要图像矩凸包边界矩形 概要 OpenCV是一个流行的计算机视觉库它提供了许多图像处理和分析功能其中包括查找图像中物体的轮廓。通过查找轮廓可以提取许多有用的特征如面积、周长、质心、边界框等。 以下是几种使用OpenCV查找轮廓时常见的特征 面积可以使用 cv2.contourArea() 函数计算轮廓的面积。该函数将轮廓作为输入并返回浮点数表示轮廓的面积。 周长可以使用 cv2.arcLength() 函数计算轮廓的周长。该函数将轮廓作为输入并返回浮点数表示轮廓的周长。 质心可以使用 cv2.moments() 函数计算轮廓的质心。该函数将轮廓作为输入并返回一个字典其中包含轮廓的各种矩形包括轮廓的质心。 边界框使用 cv2.boundingRect() 函数可以计算轮廓的边界框。该函数将轮廓作为输入并返回一个元组其中包括边界框的x和y坐标以及宽度和高度。 最小区域矩形使用 cv2.minAreaRect() 函数可以计算轮廓的最小区域矩形。该函数将轮廓作为输入并返回一个元组其中包括矩形的中心坐标、宽度和高度以及角度。 最小外接圆使用 cv2.minEnclosingCircle() 函数可以计算轮廓的最小外接圆。该函数将轮廓作为输入并返回一个元组其中包括圆心坐标和半径。 这些特征可以用于描述轮廓并提取有用的信息。例如面积和周长可以用于分类和识别物体质心可以用于跟踪物体的运动边界框和最小区域矩形可以用于确定物体的位置和方向最小外接圆可以用于确定物体的大小。 图像矩 图像矩可以帮助您计算一些特征如物体的质心、物体的面积等。函数 cv.moments() 提供了一个计算出所有矩值的字典。代码如下import numpy as np import cv2 as cvimg cv.imread(star.jpg, 0) ret, thresh cv.threshold(img, 127, 255, 0) contours, hierarchy cv.findContours(thresh, 1, 2)cnt contours[0] M cv.moments(cnt) print(M)在这个M中你可以提取有用的数据如面积质心等等。质心由如下关系式给出 代码如下 cx int(M[m10] / M[m00]) cy int(M[m01] / M[m00])轮廓面积 轮廓面积可以通过函数 cv.contourArea() 或者是 M[‘m00’] 得到。 area cv.contourArea(cnt)轮廓周长 它也被称为弧长。它可以由函数 cv.arcLength() 得到。第二个参数需要指名形状是否闭合闭合传入 True否则传入 False。 perimeter cv.arcLength(cnt, True)轮廓近似 OpenCV中的approxPolyDP()函数是一个实现了Douglas-Peucker算法的轮廓近似函数。该函数可以将一个轮廓形状近似为另一个顶点数量较少的形状精度取决于我们指定的参数epsilon。 例如如果我们想要在图像中找到一个正方形但由于图像中的噪声或其他因素我们无法得到完美的正方形轮廓。此时我们可以使用approxPolyDP()函数来近似轮廓形状从而得到更接近真实形状的结果。在这种情况下我们需要选择一个合适的epsilon值来控制近似精度。通常建议将epsilon设置为原始轮廓周长的一定比例例如0.1*cv.arcLength(cnt, True)。 使用approxPolyDP()函数可以减少轮廓的顶点数量从而提高图像处理和分析的效率和准确性。 epsilon 0.1*cv.arcLength(cnt, True) approx cv.approxPolyDP(cnt, epsilon, True)凸包 hull cv.convexHull(points[, hull[, clockwise[, returnPoints]]])参数详细信息 •points 是我们穿过的轮廓。 •clockwise方向标志。如果为True则输出凸包的方向为顺时针方向。否则其方向为逆时针方向。 •returnPoints默认情况下为True。它会返回外壳点的坐标。如果为False则返回与外壳点相对应的轮廓点的索引。 所以要得到上图中的凸包以下就足够了 hull cv.convexHull(cnt)但是如果要查找凸性缺陷则需要传递returnPointsFalse。为了理解它我们将拍摄上面的矩形图像。首先我发现它的轮廓是cnt。现在我找到了它的凸包returnPointsTrue我得到了以下值[[234 202]][[51 202]][[51 79]][[234 79]]它们是矩形的四个角点。现在如果returnPointsFalse也这样做我得到以下结果[[129][67][0][142]]。这些是等高线中对应点的索引。例如检查第一个值cnt[129][[234202]]该值与第一个结果相同其他值依此类推。 cv2.convexHull()函数的语法如下 hull cv2.convexHull(points[, hull[, clockwise[, returnPoints]]]) 其中参数的详细信息如下 • points表示我们要找凸包的轮廓。 • clockwise方向标志。如果为True则输出凸包的方向为顺时针方向否则其方向为逆时针方向。 • returnPoints默认情况下为True。它会返回外壳点的坐标。如果为False则返回与外壳点相对应的轮廓点的索引。 因此如果我们只需要得到轮廓的凸包则可以使用以下代码 hull cv2.convexHull(cnt) 但是如果需要查找凸性缺陷则需要将returnPoints设置为False。为了更好地理解其含义考虑以下矩形图像。首先我们找到了矩形的轮廓cnt。接着我们使用returnPointsTrue选项来计算其凸包得到以下四个点的坐标值[[234 202]][[51 202]][[51 79]][[234 79]]。这些坐标值是矩形四个角的点。现在如果我们将returnPoints设置为False得到的将是以下四个点的索引值[[129], [67], [0], [142]]。这些是轮廓数组中对应点的索引值。例如第一个值129表示cnt[129][[234 202]]该值与前面求得的第一个凸包点的坐标值相同其他索引值也类似。 检查凸性 有一个函数可以检查曲线是否是凸的cv.isContourConvex()。它只返回True或False。 k cv.isContourConvex(cnt)边界矩形 边界矩形是用于包围对象或轮廓的矩形形状。有两种类型的边界矩形 7.a. 直边界矩形 直边界矩形是一个简单的矩形不考虑对象的旋转。它可以通过使用cv2.boundingRect()函数来找到。该函数返回一个四元组xywh其中xy表示矩形左上角的坐标wh表示矩形的宽度和高度。 x, y, w, h cv2.boundingRect(cnt) cv2.rectangle(img, (x, y), (xw, yh), (0, 255, 0), 2)以上代码将在图像img上绘制一个矩形框住了轮廓cnt所代表的对象。 7.b. 旋转矩形 旋转矩形是根据对象的最小面积绘制的矩形并考虑了对象的旋转。要获得旋转矩形可以使用cv2.minAreaRect()函数。该函数返回一个Box2D结构其中包含矩形的中心坐标xy、宽度和高度wh以及旋转角度。 要绘制旋转矩形我们需要得到矩形的四个角点。可以使用cv2.boxPoints()函数获得这些角点该函数将旋转矩形作为参数并返回一个数组包含四个角点的坐标。 rect cv2.minAreaRect(cnt) box cv2.boxPoints(rect) box np.int0(box) cv2.drawContours(img, [box], 0, (0, 0, 255), 2)以上代码将在图像img上绘制一个红色边界框该边界框是根据轮廓cnt的最小面积旋转矩形计算而来。 最小外接圆 # 导入OpenCV库 import cv2 as cv# 使用cv.minEnclosingCircle()找到最小外接圆 (x, y), radius cv.minEnclosingCircle(cnt) center (int(x), int(y)) radius int(radius)# 在图像上绘制最小外接圆 cv.circle(img, center, radius, (0, 255, 0), 2)# 显示图像 cv.imshow(最小外接圆, img) 拟合椭圆 # 使用cv.fitEllipse()将椭圆拟合到对象上 ellipse cv.fitEllipse(cnt)# 在图像上绘制拟合的椭圆 cv.ellipse(img, ellipse, (0, 255, 0), 2)# 显示图像 cv.imshow(拟合椭圆, img) 直线拟合 # 获取图像的行和列数 rows, cols img.shape[:2]# 使用cv.fitLine()将直线拟合到一组点上 [vx, vy, x, y] cv.fitLine(cnt, cv.DIST_L2, 0, 0.01, 0.01) lefty int((-x * vy / vx) y) righty int(((cols - x) * vy / vx) y)# 在图像上绘制拟合的直线 cv.line(img, (cols - 1, righty), (0, lefty), (0, 255, 0), 2)# 显示图像 cv.imshow(直线拟合, img)
http://www.w-s-a.com/news/866885/

相关文章:

  • 网站价格网页制作网站开发实训步骤
  • cms 导航网站鹤壁做网站价格
  • 微信营销软件免费版郑州关键词优化费用
  • 邢台专业做网站哪家好临沂网站建设中企动力
  • 建设网站是主营成本吗wordpress 后台
  • 猎头可以做单的网站企业网站建设
  • 建小程序需要网站吗在putty上怎样安装wordpress
  • 天津智能网站建设找哪家WordPress相册插件pro
  • 电脑网站页面怎么调大小济宁网站建设软件开发
  • 亿玛酷网站建设广州增城区最新消息
  • 企业网站视频栏目建设方案中企动力网站模板
  • 网站页面策划国外注册域名的网站
  • 百中搜如何做网站排名网站维护一年一般多少钱
  • 镇江地区做网站的公司wordpress说说加分类
  • 深圳高端网站设计免费的关键词优化软件
  • 视频网站公司沈阳网站建设服务
  • 网站全屏代码做网站必须用对方服务器
  • 网站速度慢wordpressssl正式申请后wordpress
  • 那个网站做玉石最专业西瓜创客少儿编程加盟
  • 备案时的网站建设方案书免费软件库
  • 惠州外贸网站建设网站模板 兼容ie8
  • 南京淄博网站建设方案php网站开发实训感想
  • 网站设计的含义只做恐怖片的网站
  • 网站改版方案ppt室内装修公司简介
  • 做色网站wordpress twenty ten
  • 马鞍山建设工程监督站建管处网站免费的海报模板网站
  • 类似百度的网站移动端的网站怎么做的
  • 网站开发需要什么文凭网站分析的优劣势
  • 海尔网站建设不足之处山东网站营销
  • 楚雄 网站建设广告设计一般人能学吗