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

移动端网站如何优化国内图片下载网站

移动端网站如何优化,国内图片下载网站,微信app下载官网,怎样做企业网站一、边缘检测算子 边缘检测算子是用于检测图像中物体边界的工具。边缘通常表示图像中灰度值或颜色发生显著变化的地方。边缘检测有助于识别图像中的物体形状、轮廓和结构。这些算子通过分析图像的灰度或颜色梯度来确定图像中的边缘。 梯度算子 要得到一幅图像的梯度&#xff0c…

一、边缘检测算子

边缘检测算子是用于检测图像中物体边界的工具。边缘通常表示图像中灰度值或颜色发生显著变化的地方。边缘检测有助于识别图像中的物体形状、轮廓和结构。这些算子通过分析图像的灰度或颜色梯度来确定图像中的边缘。

梯度算子

要得到一幅图像的梯度,则要求在图像的每个像素点位置处计算偏导数。 一阶微分算子能够检测图像中的亮度变化,因此在边缘位置通常有较大的梯度值。通过检测梯度的变化,可以找到图像中的边缘。
在这里插入图片描述
对应的卷积模板
在这里插入图片描述

1、Roberts 算子

原理: 基于交叉差分的梯度算法,通过局部差分计算检测边缘线
在这里插入图片描述

通过局部差分计算检测边缘线条。常用来处理具有陡峭的低噪声图像,当图像边缘接近于正45度或负45度时,该算法处理效果更理想。其缺点是对边缘的定位不太准确,提取的边缘线条较粗。

import cv2
import numpy as np
import matplotlib.pyplot as pltimage = cv2.imread("../images/1.png", cv2.IMREAD_GRAYSCALE)
# 1.定义 Roberts 算子的卷积核
roberts_x = np.array([[1, 0], [0, -1]], dtype=np.float32)
roberts_y = np.array([[0, 1], [-1, 0]], dtype=np.float32)
# 2.二维卷积操作
# 使用 filter2D 函数应用 Roberts 算子卷积核
gradient_x = cv2.filter2D(image, cv2.CV_64F, roberts_x)
gradient_y = cv2.filter2D(image, cv2.CV_64F, roberts_y)# 3.计算梯度幅值
gradient_magnitude = np.sqrt(gradient_x**2 + gradient_y**2)# 转换结果为8位图像
gradient_magnitude = np.uint8(gradient_magnitude)# 显示原图、Roberts算子的结果和应用结果
plt.subplot(1, 4, 1)
plt.imshow(image, cmap='gray')
plt.title("Original Image")
plt.axis("off")plt.subplot(1, 4, 2)
plt.imshow(gradient_x, cmap='gray')
plt.title("Roberts X")
plt.axis("off")plt.subplot(1, 4, 3)
plt.imshow(gradient_y, cmap='gray')
plt.title("Roberts Y")
plt.axis("off")plt.subplot(1, 4, 4)
plt.imshow(gradient_magnitude, cmap='gray')
plt.title("Magnitude")
plt.axis("off")plt.show()

在这里插入图片描述

2、Prewitt 算子

Prewitt算子使用中心差分法计算梯度
在这里插入图片描述
相比Roberts 2×2 模板考虑更多的相邻像素,更好地捕捉到图像中的局部变化

import cv2
import numpy as np
import matplotlib.pyplot as plt# 读取图像
img = cv2.imread("../images/1.png", cv2.IMREAD_GRAYSCALE)# 1.使用Prewitt算子
kernelx = np.array([[1, 0, -1], [1, 0, -1], [1, 0, -1]], dtype=int)
kernely = np.array([[1, 1, 1], [0, 0, 0], [-1, -1, -1]], dtype=int)
# 2.卷积
gradient_x = cv2.filter2D(img, cv2.CV_64F, kernelx)
gradient_y = cv2.filter2D(img, cv2.CV_64F, kernely)
# 3
# 计算梯度幅值
gradient_magnitude = np.sqrt(gradient_x**2 + gradient_y**2)# 转换结果为8位图像
gradient_magnitude = np.uint8(gradient_magnitude)# 显示原图、水平梯度、垂直梯度、Prewitt算子的结果
plt.subplot(141), plt.imshow(img, cmap='gray'), plt.title('Original Image'), plt.axis('off')
plt.subplot(142), plt.imshow(gradient_x, cmap='gray'), plt.title('X'), plt.axis('off')
plt.subplot(143), plt.imshow(gradient_y, cmap='gray'), plt.title('Y'), plt.axis('off')
plt.subplot(144), plt.imshow(gradient_magnitude, cmap='gray'), plt.title('Prewitt Operator'), plt.axis('off')
plt.show()

在这里插入图片描述

3、Laplace

拉普拉斯算子 Laplacian算子是基于二阶导数的边缘检测算子。二阶微分算子主要用于检测图像中的灰度变化的变化率,或者说是梯度的变化率。在边缘处,梯度的变化率最大,因此二阶微分算子会在边缘位置产生较大的响应。在这里插入图片描述在这里插入图片描述

import cv2
import numpy as np
import matplotlib.pyplot as plt# 读取图像
img = cv2.imread('../images/1.png', cv2.IMREAD_GRAYSCALE)# 使用拉普拉斯算子
laplacian = cv2.Laplacian(img, cv2.CV_64F)# 转换结果为8位图像
laplacian = np.uint8(np.absolute(laplacian))# 显示原图和拉普拉斯算子的结果
plt.subplot(121), plt.imshow(img, cmap='gray'), plt.title('Original Image'), plt.axis('off')
plt.subplot(122), plt.imshow(laplacian, cmap='gray'), plt.title('Laplacian Operator'), plt.axis('off')
plt.show()

在这里插入图片描述

4、Canny算子

Canny基本步骤:
1.去噪:应用高斯滤波来平滑图像
2.找图像的梯度,先将卷积模板分别作用x和y方向,再计算梯度幅值和方向(在这里插入图片描述

3.非极大值抑制:保留梯度方向上的局部极大值,细化边缘
4.确定边缘。使用双阈值算法确定最终的边缘信息
在这里插入图片描述

import cv2
import numpy as np
import matplotlib.pyplot as plt# 读取图像
image = cv2.imread('../images/1.png', cv2.IMREAD_GRAYSCALE)
# 高斯滤波降噪
gaussian = cv2.GaussianBlur(image, (5, 5), 0)
# 使用Canny算子进行边缘检测
edges = cv2.Canny(gaussian, 50, 150)  # 50和150是Canny算子的两个阈值,可调整# 显示原始图像和边缘检测结果
plt.subplot(121), plt.imshow(image, cmap='gray')
plt.title('Original Image'), plt.xticks([]), plt.yticks([])plt.subplot(122), plt.imshow(edges, cmap='gray')
plt.title('Edge Image'), plt.xticks([]), plt.yticks([])plt.show()

在这里插入图片描述

5、四种算子的比较

在这里插入图片描述

在这里插入图片描述

二、角点检测

在角上 不管你把它朝哪个方向移动,像素值都会发生很大变化。

## 1.

1.Moravec

在这里插入图片描述
注:权重函数在这里插入图片描述当像素位置 (x,y) 位于滑动窗口内时,权重函数为1,否则为0。

E(u,v)越大 越可能是角点

2.harris

在Moravec 基础上 泰勒展开
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
角点响应函数R在这里插入图片描述在这里插入图片描述在这里插入图片描述

3.Shi-Tomasi

Shi-Tomasi 角点检测改进了Harris角点检测算法的R响应函数,R响应函数更加简单高效。在这里插入图片描述

http://www.yayakq.cn/news/389174/

相关文章:

  • 海外网站建设推广宁阳房产网
  • h5网站建设 网站定制开发wordpress ajax 流量统计
  • 网站开发 技术指标农村建设网站的重要性
  • 网站目录结构东圃那里有做网站设计的
  • 镇江网站建设要多少钱php 手机网站开发
  • 如何制作自己的网站书签seo研究中心论坛
  • 重庆哪个网站建设比较好如何用wordpress插件
  • 网站系统建设网站备案电话没接
  • 平面设计如何接单广州seo网站营销
  • 深圳网站定制开发网络推广技巧培训
  • 本机怎么放自己做的网站网络公司经营范围包括哪些
  • 中国建设银行手机网站重庆教育建设有限公司网站
  • 广州市白云区建设局网站如何做校园网站
  • 佛山市南海区城乡建设局网站在别人的网站做域名跳转
  • 中国建设工程网官方网站济宁网架公司
  • 福州网站建设教程视频网站宝 西部数码网站管理助手
  • 一个网站的建设流程图网站关键词设置几个
  • 在网站留外链怎么做网站建设玖首选金手指
  • 怎样用flash做游戏下载网站徐州手机网站营销公司哪家好
  • 网站推广 html关键词代码解说工程新闻的采招要求
  • 网站标题特殊符号好多钱网站
  • 上海网站设计kinglink申请一个电子邮箱号
  • 福建工程建设管理中心网站网站后台管理系统的主要功能
  • 济南网站系统优化代理网络手游
  • 好网站推理微信网页版官网二维码
  • 开业时网站可以做哪些活动吗专业简历制作网站推荐
  • 蚌埠市建设管理局官方网站中国建设银行网站的发展
  • logo网站设计论文凡客诚品倒闭了吗知乎
  • 百度投诉中心电话24个小时青岛优化网站多少钱
  • 永州做网站的公司安陆网站设计