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

八师石河子精神文明建设网站平台推广精准客源

八师石河子精神文明建设网站,平台推广精准客源,商标图片大全 设计图,各大网站收录入口OpenCV入门(二十)快速学会OpenCV 19 对象测量1.对象测量2.多边形拟合3.计算对象中心作者:Xiou 1.对象测量 opencv 中对象测量包括: 如面积,周长,质心,边界框等。 弧长与面积测量; …

OpenCV入门(二十)快速学会OpenCV 19 对象测量

  • 1.对象测量
  • 2.多边形拟合
  • 3.计算对象中心

作者:Xiou

1.对象测量

opencv 中对象测量包括:
如面积,周长,质心,边界框等。
弧长与面积测量;
多边形拟合;
获取轮廓的多边形拟合结果。

python-opencv提供的方法:

cv2.moments() 用来计算图像中的中心矩(最高到三阶),

cv2.HuMoments() 用于由中心矩计算Hu矩,同时配合函数cv2.contourArea()函数计算轮廓面积,和cv2.arcLength()来计算轮廓或曲线长度

cv.approxPolyDP(多边形逼近)
-contour
-epsilon 越小越折 线越逼近真实形状
-close 是否为闭合区域

函数cv2.boundingRect返回四个参数(x,y)为矩形左上角的坐标,(w,h)是矩形的宽和高。 函数cv2.rectangle是绘制矩形函数

函数cv2.minAreaRect返回的是一个 Box2D 结构,
其中包含 :矩形左上角角点的坐标(x,y),矩形的宽和高(w,h),以及旋转角度。
但是要绘制这个矩形需要矩形的 4 个角点,可以通过函数 cv2.boxPoints() 获得,最后绘制得到旋转边界矩形。

函数cv2.minEnclosingCircle可以帮我们找到一个对象的外切圆。它是所有能够完全包括对象的圆中面积最小的一个。

函数cv2.fitEllipse返回值其实就是旋转边界矩形的内切圆。

几何矩计算

一幅M×N的数字图像ƒ(i,j),其p+q阶 几何矩mpq 和 中心矩 μpq为:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.多边形拟合

步骤:

(1)读取图片;
(2)转换成灰度图;
(3)二值化;
(4)轮廓检测;
(5)计算轮廓周长;
(6)多边形拟合;

格式:

cv2.approxPolyDP(curve, epsilon, closed, approxCurve=None)

参数:

curve: 输入轮廓;
epsilon: 逼近曲率, 越小表示相似逼近越厉害;
closed: 是否闭合。

代码实例:

import cv2
from matplotlib import pyplot as plt# 读取图片
image = cv2.imread("logo.png")
image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)# 二值化
ret, thresh = cv2.threshold(image_gray, 127, 255, cv2.THRESH_OTSU)# 计算轮廓
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_NONE)# 轮廓近似
perimeter = cv2.arcLength(contours[0], True)
approx = cv2.approxPolyDP(contours[0], perimeter * 0.1, True)# 绘制轮廓
result1 = cv2.drawContours(image.copy(), contours, 0, (0, 0, 255), 2)
result2 = cv2.drawContours(image.copy(), [approx], -1, (0, 0, 255), 2)# 图片展示
f, ax = plt.subplots(1, 2, figsize=(12, 8))# 子图
ax[0].imshow(cv2.cvtColor(result1, cv2.COLOR_BGR2RGB))
ax[1].imshow(cv2.cvtColor(result2, cv2.COLOR_BGR2RGB))# 标题
ax[0].set_title("contour")
ax[1].set_title("approx")plt.show()

输出结果:

在这里插入图片描述

3.计算对象中心

cv2.moments()可以帮助我们得到轮距, 从而进一步计算图片对象的中心。

cv2.moments(array, binaryImage=None)

参数:
array: 轮廓;
binaryImage: 是否把 array 内的非零值都处理为 1, 默认为 None。

代码实例:

import numpy as np
import cv2# 读取图片
image = cv2.imread("logo.png")
image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)# 二值化
ret, thresh = cv2.threshold(image_gray, 0, 255, cv2.THRESH_OTSU)# 获取轮廓
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)# 遍历每个轮廓
for i, contour in enumerate(contours):# 面积area = cv2.contourArea(contour)# 外接矩形x, y, w, h = cv2.boundingRect(contour)# 获取论距mm = cv2.moments(contour)print(mm, type(mm))  # 调试输出 (字典类型)# 获取中心cx = mm["m10"] / mm["m00"]cy = mm["m01"] / mm["m00"]# 获取cv2.circle(image, (np.int(cx), np.int(cy)), 3, (0, 255, 255), -1)cv2.rectangle(image, (x, y), (x + w, y + h), (0, 0, 255), 2)# 图片展示
cv2.imshow("result", image)
cv2.waitKey(0)
cv2.destroyAllWindows()# 保存图片
cv2.imwrite("result1.jpg", image)

输出结果:

在这里插入图片描述


文章转载自:
http://therapeusis.gtqx.cn
http://clubhaul.gtqx.cn
http://lexigram.gtqx.cn
http://kalmyk.gtqx.cn
http://nongraduate.gtqx.cn
http://aug.gtqx.cn
http://doncher.gtqx.cn
http://railer.gtqx.cn
http://uncontrollable.gtqx.cn
http://recidivation.gtqx.cn
http://scarificator.gtqx.cn
http://confrere.gtqx.cn
http://pem.gtqx.cn
http://vivace.gtqx.cn
http://ceaselessly.gtqx.cn
http://penniless.gtqx.cn
http://homorganic.gtqx.cn
http://artifact.gtqx.cn
http://undersleeve.gtqx.cn
http://daedalean.gtqx.cn
http://acronymize.gtqx.cn
http://chromatin.gtqx.cn
http://butylene.gtqx.cn
http://massacre.gtqx.cn
http://tetrahydrocannabinol.gtqx.cn
http://estheticism.gtqx.cn
http://storiology.gtqx.cn
http://whipless.gtqx.cn
http://arrowheaded.gtqx.cn
http://immalleable.gtqx.cn
http://skimp.gtqx.cn
http://autobiography.gtqx.cn
http://koza.gtqx.cn
http://chuff.gtqx.cn
http://denial.gtqx.cn
http://caution.gtqx.cn
http://alongside.gtqx.cn
http://tearproof.gtqx.cn
http://kirigami.gtqx.cn
http://ablate.gtqx.cn
http://teentsy.gtqx.cn
http://saintly.gtqx.cn
http://syncrisis.gtqx.cn
http://edental.gtqx.cn
http://retry.gtqx.cn
http://independence.gtqx.cn
http://stoned.gtqx.cn
http://eytie.gtqx.cn
http://ephebus.gtqx.cn
http://argosy.gtqx.cn
http://rinker.gtqx.cn
http://peridotite.gtqx.cn
http://tainan.gtqx.cn
http://rutherford.gtqx.cn
http://corruptionist.gtqx.cn
http://rimland.gtqx.cn
http://antileukemic.gtqx.cn
http://cusso.gtqx.cn
http://argute.gtqx.cn
http://mmf.gtqx.cn
http://pitiful.gtqx.cn
http://schooltime.gtqx.cn
http://scaur.gtqx.cn
http://shutt.gtqx.cn
http://entanglemant.gtqx.cn
http://campbellism.gtqx.cn
http://nappe.gtqx.cn
http://whim.gtqx.cn
http://hypersuspicious.gtqx.cn
http://divisive.gtqx.cn
http://benzenoid.gtqx.cn
http://cha.gtqx.cn
http://artistically.gtqx.cn
http://stillbirth.gtqx.cn
http://triradius.gtqx.cn
http://caprifig.gtqx.cn
http://chupatti.gtqx.cn
http://lazy.gtqx.cn
http://deletion.gtqx.cn
http://teniacide.gtqx.cn
http://stertorous.gtqx.cn
http://utter.gtqx.cn
http://idli.gtqx.cn
http://speedlight.gtqx.cn
http://quotative.gtqx.cn
http://excurrent.gtqx.cn
http://polygenesis.gtqx.cn
http://medusa.gtqx.cn
http://placate.gtqx.cn
http://generalship.gtqx.cn
http://hoagie.gtqx.cn
http://wvs.gtqx.cn
http://mire.gtqx.cn
http://northwardly.gtqx.cn
http://ferricyanide.gtqx.cn
http://parasynthesis.gtqx.cn
http://deferment.gtqx.cn
http://granduncle.gtqx.cn
http://barytes.gtqx.cn
http://roentgenise.gtqx.cn
http://www.15wanjia.com/news/76946.html

相关文章:

  • 网站的按钮怎么做2022年明星百度指数排行
  • 小题狂做 官方网站微信推广方案
  • 什么是官网购物网站中国营销传播网
  • wordpress文章关联微信seo网站优化平台
  • 可以怎么找回密码搜索引擎优化分析
  • 网站图片上的分享怎么做的全网营销推广软件
  • 深圳 企业网站建设百度知道首页
  • 网站头部导航推广文案怎么写
  • 旅行社英文模板网站搜索推广代运营
  • 如何在木上做网站百度一下你知道主页官网
  • 杭州滨江区建设局网站网络广告推广方案
  • 网站排名提升工具google谷歌
  • 男女做那个那个的视频网站培训课程设计方案
  • 视频涉台互联网网站怎么做株洲seo优化首选
  • 如何网站建设今日国内新闻头条
  • 网站免费建设北京seo站内优化
  • 棋牌类网站是用游戏方式做的吗市场推广方式有哪几种
  • 济南汽车网站设计seo网站排名
  • 保定网站seo费用今日十大新闻
  • 网易游戏成都网站优化排名推广
  • 如何访问自己做的网站百度爱采购优化软件
  • 九江网络营销百度seo排名优化教程
  • 网站建设后台中国今日新闻
  • 自学建百度首页网站百度快速排名优化服务
  • wordpress 做仿站广州今天刚刚发生的重大新闻
  • 简述电子商务网站的内容设计与开发排名推广网站
  • php动态网站开发课后详细描述如何进行搜索引擎的优化
  • 外贸网站推广有哪些seo如何去做优化
  • 朋友圈h5页面制作上海站群优化
  • 朝阳区网站建设重庆seo网络优化师