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

怎样做网站让百度能找到广安网站建设gphvip

怎样做网站让百度能找到,广安网站建设gphvip,wordpress设置内容标题,徐州市建筑工程交易信息网文章目录 1、功能描述2、图像矩3、代码实现4、效果展示5、完整代码6、涉及到的库函数cv2.moments 7、参考 1、功能描述 计算图像的矩#xff0c;以质心为例 2、图像矩 什么叫图像的矩#xff0c;在数字图像处理中有什么作用#xff1f; - 谢博琛的回答 - 知乎 https://ww… 文章目录 1、功能描述2、图像矩3、代码实现4、效果展示5、完整代码6、涉及到的库函数cv2.moments 7、参考 1、功能描述 计算图像的矩以质心为例 2、图像矩 什么叫图像的矩在数字图像处理中有什么作用 - 谢博琛的回答 - 知乎 https://www.zhihu.com/question/26803016/answer/888699124 0 阶矩 m 00 m_{00} m00​目标区域的面积Area 1 阶矩 m 01 , m 10 m_{01}, m_{10} m01​,m10​目标区域的质心Centroid 2 阶矩 m 02 , m 20 , m 11 m_{02}, m_{20}, m_{11} m02​,m20​,m11​即惯性矩可计算目标图像的方向 3 阶矩 m 03 , m 30 , m 12 , m 21 m_{03}, m_{30}, m_{12}, m_{21} m03​,m30​,m12​,m21​目标区域的方位和斜度反应目标的扭曲 Hu 矩目标区域往往伴随着空间变换平移尺度旋转所以需要在普通矩的基础上构造出具备不变性的矩组 中心矩构造平移不变性 一文弄懂图像的矩和相关应用 矩是统计学的一个概念pencv中的图像矩空间矩中心矩归一化中心矩Hu矩 图像矩(Image moments)是指图像的某些特定像素灰度的加权平均值矩或者是图像具有类似功能或意义的属性。 图像矩通常用来描述分割后的图像对象。可以通过图像的矩来获得图像的部分性质包括面积(或总体亮度)以及有关几何中心和方向的信息 。 例如工业缺陷检测中实操教程使用计算机视觉算法检测钢板中的焊接缺陷使用图像矩测量缺陷严重性 3、代码实现 导入必要的库函数固定随机种子以保证绘制出来的图片色彩固定随机 from __future__ import print_function from __future__ import division import cv2 as cv import numpy as np import argparse import random as rngrng.seed(12345)读取图片为空打印 could not open or find xxx parser argparse.ArgumentParser(descriptionCode for Image Moments tutorial.)parser.add_argument(--input, helpPath to input image., default1.jpg)args parser.parse_args()src cv.imread(cv.samples.findFile(args.input))if src is None:print(Could not open or find the image:, args.input)exit(0)图片转化为灰度图做模糊处理并在窗口中显示 # Convert image to gray and blur itsrc_gray cv.cvtColor(src, cv.COLOR_BGR2GRAY)src_gray cv.blur(src_gray, (3, 3))source_window Sourcecv.namedWindow(source_window)cv.imshow(source_window, src)调用 canny 算子边缘检测找出图片中需要计算矩的轮廓 把 canny 算子的 threshold 设置为滑动条的形式进行回调默认为 100 max_thresh 255thresh 100 # initial thresholdcv.createTrackbar(Canny Thresh:, source_window, thresh, max_thresh, thresh_callback)thresh_callback(thresh)cv.waitKey()看看核心函数 thresh_callback 计算 canny 边缘检测调用找轮廓函数获取所有边缘轮廓 def thresh_callback(val):threshold valcanny_output cv.Canny(src_gray, threshold, threshold * 2)contours, _ cv.findContours(canny_output, cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE)计算每个轮廓的矩 # Get the momentsmu [None] * len(contours)for i in range(len(contours)):mu[i] cv.moments(contours[i])计算每个轮廓的质心图片中所有像素点的横坐标除以图片的像素点个数面积结果为质心的横坐标 同理可以计算出质心的纵坐标 # Get the mass centersmc [None] * len(contours)for i in range(len(contours)):# add 1e-5 to avoid division by zero# print(mu[i][m00], mu[i][m10], mu[i][m01])mc[i] (mu[i][m10] / (mu[i][m00] 1e-5), mu[i][m01] / (mu[i][m00] 1e-5))看看计算出来的矩的所有信息 mu[0]output {m00: 1.0, m10: 668.0, m01: 876.3333333333333, m20: 446224.1666666666, m11: 585390.6666666666, m02: 767960.1666666666, m30: 298077966.0, m21: 391041111.3666667, m12: 512997391.3333333, m03: 672989190.1, mu20: 0.16666666662786156, mu11: 0.0, mu02: 0.055555555620230734, mu30: 5.960464477539063e-08, mu21: -0.022222160400502844, mu12: 9.778887033462524e-09, mu03: 0.007407426834106445, nu20: 0.16666666662786156, nu11: 0.0, nu02: 0.055555555620230734, nu30: 5.960464477539063e-08, nu21: -0.022222160400502844, nu12: 9.778887033462524e-09, nu03: 0.007407426834106445}绘制轮廓绘制每个轮廓的质心保存结果 # Draw contoursdrawing np.zeros((canny_output.shape[0], canny_output.shape[1], 3), dtypenp.uint8)for i in range(len(contours)):color (rng.randint(0, 256), rng.randint(0, 256), rng.randint(0, 256))cv.drawContours(drawing, contours, i, color, 2)cv.circle(drawing, (int(mc[i][0]), int(mc[i][1])), 4, color, -1)cv.imshow(Contours, drawing)cv.imwrite(result.jpg, drawing)对比下我们通过图片矩计算出来的面积和直接调用 opencv 接口的轮廓面积 # Calculate the area with the moments 00 and compare with the result of the OpenCV functionfor i in range(len(contours)):print( * Contour[%d] - Area (M_00) %.2f - Area OpenCV: %.2f - Length: %.2f % (i, mu[i][m00], cv.contourArea(contours[i]), cv.arcLength(contours[i], True)))output * Contour[0] - Area (M_00) 1.00 - Area OpenCV: 1.00 - Length: 17.66* Contour[1] - Area (M_00) 0.00 - Area OpenCV: 0.00 - Length: 426.14* Contour[2] - Area (M_00) 1.50 - Area OpenCV: 1.50 - Length: 67.90......* Contour[539] - Area (M_00) 92.00 - Area OpenCV: 92.00 - Length: 541.41* Contour[540] - Area (M_00) 21.50 - Area OpenCV: 21.50 - Length: 84.47* Contour[541] - Area (M_00) 81.50 - Area OpenCV: 81.50 - Length: 289.49* Contour[542] - Area (M_00) 61.00 - Area OpenCV: 61.00 - Length: 452.42可以看到结果是一致的 4、效果展示 输入图片 threshold 10 threshold 60 threshold 112 threshold 163 threshold 214 只绘制矩不绘制轮廓 egthreshold 125 输入图片 threshold 64 输入图片 threshold 64 输入图片 threshold 64 输入图片 threshold 64 输入图片 threshold 64 输入图片 threshold 64 5、完整代码 from __future__ import print_function from __future__ import division import cv2 as cv import numpy as np import argparse import random as rngrng.seed(12345)def thresh_callback(val):threshold valcanny_output cv.Canny(src_gray, threshold, threshold * 2)contours, _ cv.findContours(canny_output, cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE)# Get the momentsmu [None] * len(contours)for i in range(len(contours)):mu[i] cv.moments(contours[i])# Get the mass centersmc [None] * len(contours)for i in range(len(contours)):# add 1e-5 to avoid division by zero# print(mu[i][m00], mu[i][m10], mu[i][m01])mc[i] (mu[i][m10] / (mu[i][m00] 1e-5), mu[i][m01] / (mu[i][m00] 1e-5))# Draw contoursdrawing np.zeros((canny_output.shape[0], canny_output.shape[1], 3), dtypenp.uint8)for i in range(len(contours)):color (rng.randint(0, 256), rng.randint(0, 256), rng.randint(0, 256))cv.drawContours(drawing, contours, i, color, 2)cv.circle(drawing, (int(mc[i][0]), int(mc[i][1])), 4, color, -1)cv.imshow(Contours, drawing)cv.imwrite(result.jpg, drawing)# Calculate the area with the moments 00 and compare with the result of the OpenCV functionfor i in range(len(contours)):print( * Contour[%d] - Area (M_00) %.2f - Area OpenCV: %.2f - Length: %.2f % (i, mu[i][m00], cv.contourArea(contours[i]), cv.arcLength(contours[i], True)))if __name__ __main__:parser argparse.ArgumentParser(descriptionCode for Image Moments tutorial.)parser.add_argument(--input, helpPath to input image., default1.jpg)args parser.parse_args()src cv.imread(cv.samples.findFile(args.input))if src is None:print(Could not open or find the image:, args.input)exit(0)# Convert image to gray and blur itsrc_gray cv.cvtColor(src, cv.COLOR_BGR2GRAY)src_gray cv.blur(src_gray, (3, 3))source_window Sourcecv.namedWindow(source_window)cv.imshow(source_window, src)max_thresh 255thresh 100 # initial thresholdcv.createTrackbar(Canny Thresh:, source_window, thresh, max_thresh, thresh_callback)thresh_callback(thresh)cv.waitKey()6、涉及到的库函数 cv2.moments cv2.moments 是 OpenCV 库中的一个函数用于计算图像轮廓的矩。 一、函数原型 retval cv2.moments(array[, binaryImage])二、参数说明 array表示轮廓的数组可以是点集、灰度图像或二值图像。当 array 是点集时函数会将这些点集当成轮廓中的顶点把整个点集作为一条轮廓来处理而不是将它们当成独立的点来看待。 binaryImage可选参数布尔值。当该参数为 True 时array 内所有的非零值都被处理为 1。 三、返回值 retval一个字典对象包含了轮廓的各种矩信息。这些矩可以用于进一步分析如计算轮廓的重心、长宽比、旋转角度等。 四、矩的类型和含义 零阶矩m00表示轮廓的面积。这是一个比较直观的含义可以通过 M[“m00”] 来访问。一阶矩m10, m01与轮廓的质心位置有关。其中m10 表示关于 x 轴的亮度加权平均值即质心的 x 坐标m01 表示关于 y 轴的亮度加权平均值即质心的 y 坐标。二阶矩及更高阶矩提供了关于图像形状相对于其中心的分布信息以及更复杂的形状特征。 五、使用示例 import cv2 import numpy as np# 读取图像 img cv2.imread(image.jpg)# 转换为灰度图像并二值化 gray cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) ret, binary cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)# 查找轮廓 contours, _ cv2.findContours(binary, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)# 计算每个轮廓的矩 for contour in contours:M cv2.moments(contour)print(轮廓的矩:, M)print(轮廓的面积:, M[m00])六、注意事项 在使用 cv2.moments 函数之前需要确保已经正确读取了图像并找到了轮廓。返回值是一个字典对象可以通过键来访问不同类型的矩值。矩值可以用于后续的形状分析和特征提取任务中。 综上所述cv2.moments 函数是 OpenCV 库中用于计算图像轮廓矩的重要工具它提供了关于图像形状的重要信息并广泛应用于形状分析、特征提取和形状识别等任务中。 7、参考 https://docs.opencv.org/5.x/d0/d49/tutorial_moments.html
http://www.w-s-a.com/news/70522/

相关文章:

  • 上海高档网站建设网站设计入门
  • 德尔普网站建设做网站线
  • 宁波网站搭建定制非模板网站建设电子商务公司名称大全简单大气
  • 巴中哪里做网站推销网站的方法
  • wordpress建站动画网站宣传的手段有哪些?(写出五种以上)
  • 做么网站有黄医疗机构网站备案
  • 企业年金是1比3还是1比4北京厦门网站优化
  • 政务信息网站建设工作方案云南建设工程质量监督网站
  • 如何做一份企业网站免费的短视频素材库
  • 云脑网络科技网站建设咸阳软件开发
  • seo对网站优化网站更换程序
  • 网站建设放什么科目中小学生在线做试卷的网站6
  • 网站建设推广公司排名绥化建设局网站
  • 凡科做的网站为什么打不开苏州行业网站建设
  • 南昌定制网站开发费用微信小商店官网入口
  • 深圳网站建设费用找人做的网站怎么看ftp
  • 做网站cookie传值dedecms网站后台
  • 温州网站推广网站建设要学会什么
  • c 网站开发框架品牌策划方案范文
  • 儿童摄影作品网站多元网络兰州网站建设
  • 电脑上不了建设厅网站常德网站建设费用
  • 做单页免费模板网站最新办公室装修风格效果图
  • 中国铁路建设投资公司网站熊学军想开网站建设公司
  • 优化一个网站多少钱网站开发北京
  • html教学关键词优化价格
  • 黄冈论坛网站有哪些给wordpress首页添加公告栏
  • 初中做数学题的网站做淘宝必备网站
  • 买拆车件上什么网站谁有那种手机网站
  • 一家专做有机蔬菜的网站万户网络是干嘛的
  • 十堰百度网站建设八宝山做网站公司