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

企业建站用什么主机卓天商务跨境电商

企业建站用什么主机,卓天商务跨境电商,宣传推广方案怎么写,网站十大品牌9.1 Roberts算子 Roberts算子又称为交叉微分算法,是基于交叉差分的梯度算法,通过局部差分计算检测边缘线条。 常用来处理具有陡峭的低噪声图像,当图像边缘接近于正45度或负45度时,该算法处理效果更理想。 其缺点是对边缘的定位…

9.1 Roberts算子

Roberts算子又称为交叉微分算法,是基于交叉差分的梯度算法,通过局部差分计算检测边缘线条。

常用来处理具有陡峭的低噪声图像,当图像边缘接近于正45度或负45度时,该算法处理效果更理想。

其缺点是对边缘的定位不太准确,提取的边缘线条较粗。

import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt # 读取图像
img = cv.imread('bridge.png', cv.COLOR_BGR2GRAY)
# cv.COLOR_BGR2GRAY将BGR图像转换为灰度图像
rgb_img = cv.cvtColor(img, cv.COLOR_BGR2RGB)# 灰度化处理图像
grayImage = cv.cvtColor(img, cv.COLOR_BGR2GRAY)# Roberts算子的两个卷积核kernelx和kernely,分别用于检测水平和垂直方向的边缘。
kernelx = np.array([[-1, 0], [0, 1]], dtype=int)
kernely = np.array([[0, -1], [1, 0]], dtype=int)# 使用cv.filter2D函数对灰度图像进行卷积操作,得到水平和垂直方向的梯度图像。
x = cv.filter2D(grayImage, cv.CV_16S, kernelx)
y = cv.filter2D(grayImage, cv.CV_16S, kernely)# 将卷积后的图像数据转换为绝对值,并转换为uint8类型,以便于显示。
absX = cv.convertScaleAbs(x)
absY = cv.convertScaleAbs(y)
# 将两个方向的梯度图像融合,得到最终的Roberts算子边缘检测图像。
Roberts = cv.addWeighted(absX, 0.5, absY, 0.5, 0)# 显示图形
titles = ['src', 'Roberts operator']
images = [rgb_img, Roberts]for i in range(2):# 使用matplotlib的subplot和imshow函数显示原始图像和Roberts算子处理后的图像plt.subplot(1, 2, i + 1), plt.imshow(images[i], 'gray')plt.title(titles[i])plt.xticks([]), plt.yticks([])
plt.show()

Sobel算子边缘检测
Sobel算子(索贝尔算子)利用像素上、下、左、右邻域的灰度加权算法,根据在边缘点处达到极值这一原理进行边缘检测。

该方法不但产生较好的检测效果,而且对噪声具有平滑作用,可以提供较为精确的边缘方向信息。缺点是Sobel算子并没有将图像的主题和背景严格区分开。

使用Sobel边缘检测算子提取图像边缘的过程大致可以分为以下三个步骤:

提取x方向的边缘,x方向一阶Sobel边缘检测算子如下图1所示;
提取y方向的边缘,y方向一阶Sobel边缘检测算子如下图2所示;
综合两个方向的边缘信息得到整幅图像的边缘。

import cv2 as cv
import matplotlib.pyplot as plt# 读取图像
img = cv.imread('bridge.png', cv.COLOR_BGR2GRAY)
rgb_img = cv.cvtColor(img, cv.COLOR_BGR2RGB)# 灰度化处理图像
grayImage = cv.cvtColor(img, cv.COLOR_BGR2GRAY)# 使用cv.Sobel函数计算图像的水平和垂直方向的梯度
# cv.CV_16S指定数据类型为16位有符号整数。
x = cv.Sobel(grayImage, cv.CV_16S, 1, 0)
y = cv.Sobel(grayImage, cv.CV_16S, 0, 1)# 将计算得到的梯度图像转换为绝对值,并转换为uint8类型,以便显示。
absX = cv.convertScaleAbs(x)
absY = cv.convertScaleAbs(y)
# 将水平和垂直方向的梯度图像融合,得到最终的Sobel算子边缘检测图像。
Sobel = cv.addWeighted(absX, 0.5, absY, 0.5, 0)# 用来正常显示中文标签
plt.rcParams['font.sans-serif'] = ['SimHei']# 显示图形
titles = ['原始图像', 'Sobel 算子']
images = [rgb_img, Sobel]for i in range(2):plt.subplot(1, 2, i + 1), plt.imshow(images[i], 'gray')plt.title(titles[i])plt.xticks([]), plt.yticks([])plt.show()

示例:

LoG边缘检测算子
该算法首先对图像做高斯滤波,然后求其拉普拉斯(Laplacian)二阶导数,即图像与Laplacian of the Gaussian function 进行滤波运算。

LoG算子也就是高斯拉普拉斯函数,常用于数字图像的边缘提取和二值化。首先对原始图像进行最佳平滑处理,最大限度地抑制噪声,再对平滑后的图像求取边缘。

该算法的主要思路和步骤:滤波、增强、检测。

import cv2 as cv
import matplotlib.pyplot as plt# 读取图像
img = cv.imread("bridge.png")
rgb_img = cv.cvtColor(img, cv.COLOR_BGR2RGB)gray_img = cv.cvtColor(img, cv.COLOR_BGR2GRAY)# 先通过高斯滤波降噪
gaussian = cv.GaussianBlur(gray_img, (3, 3), 0)# 再通过拉普拉斯算子做边缘检测,cv.Laplacian函数计算图像的二阶导数
dst = cv.Laplacian(gaussian, cv.CV_16S, ksize=3)
LOG = cv.convertScaleAbs(dst)# 用来正常显示中文标签
plt.rcParams['font.sans-serif'] = ['SimHei']# 显示图形
titles = ['原始图像', 'LOG 算子']
images = [rgb_img, LOG]for i in range(2):plt.subplot(1, 2, i + 1), plt.imshow(images[i], 'gray')plt.title(titles[i])plt.xticks([]), plt.yticks([])
plt.show()

示例:

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

相关文章:

  • 手机网站 案例静态页面加wordpress
  • 北京网站定制建设青岛建设银行网站
  • seo网站西地那非片功效与作用主要会有哪些
  • 深圳网络推广网站推广建设银行宁德分行网站
  • 哪里有网站开发企业北京知名企业100强
  • 上海网站建设知识 博客项目免费推广平台
  • 做实体店优惠券的网站wordpress 安装后必装
  • 手机制作网站wplms wordpress
  • 网站优化 ppt锐仕方达猎头公司
  • 合肥网站建设代理商wordpress付费下载模板
  • thinkphp网站模板下载知名大型网站搭建公司
  • 做五金找订单查什么网站做金融网站需要什么营业执照
  • 广西区建设厅网站wordpress the_tag
  • seo网站优化论文pc网站转wap网站
  • 室内设计师第一网站小红书账号代运营
  • 大学社团做网站长沙网站免费建站
  • o2o网站建设多少钱在长沙做网站
  • 网站建设 全包做淘宝客网站挣钱
  • 怎样切图做网站兰州构建公司
  • 网站管理制度建设唐山网站制作服务公司
  • 佛山模板建站定制网站网络营销推广的目标
  • 百度怎么提交网站地图广西玉林网站建设
  • 网站关键词部署wordpress 搜索框
  • 蒙城网站建设微信公众平台小程序助手
  • 做网站销售挣钱吗沈阳新民网站建设
  • 廊坊手机网站团队抖音代运营服务内容明细
  • 电子商务网站建设 教学pptwordpress说说伪静态
  • 小程序开发定制平台兰州seo外包公司
  • 就业指导中心网站建设总结深圳做义工的网站
  • 笨笨网站建设专家2017网站icp备案