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

网站建设好做吗网站的栏目结构简图怎么做

网站建设好做吗,网站的栏目结构简图怎么做,做伤残鉴约号网站,推广引流渠道文章目录 一、膨胀操作二、开运算与闭运算三、梯度运算四、礼帽与黑帽操作 一、膨胀操作 膨胀操作也就是根据图片将边缘的一些细节给丰富,处理的程度取决于卷积核的大小还有膨胀次数。也就是腐蚀操作的相反操作(腐蚀操作参考我的上一篇文章 点击跳转&am…

文章目录

    • 一、膨胀操作
    • 二、开运算与闭运算
    • 三、梯度运算
    • 四、礼帽与黑帽操作

一、膨胀操作

膨胀操作也就是根据图片将边缘的一些细节给丰富,处理的程度取决于卷积核的大小还有膨胀次数。也就是腐蚀操作的相反操作(腐蚀操作参考我的上一篇文章 点击跳转)。

拿下面的这张照片来举个例子:

在这里插入图片描述
通过膨胀操作:

# 导入OpenCV库,用于图像处理
import cv2
# 导入matplotlib的pyplot模块,用于图像显示
import matplotlib.pyplot as plt
# 导入numpy库,用于数值计算
import numpy as np# 使用cv2.imread()函数读取位于指定路径的图像文件
img = cv2.imread("E:\\XUEXI\\Python_learn\\tupian\\4.jpg")# 创建一个30x30的矩形结构元素,用于形态学操作
# np.ones((30,30),np.uint8)创建一个所有元素都是1的30x30矩阵
kernel = np.ones((30, 30), np.uint8)# 使用cv2.dilate()函数对图像进行膨胀操作一次
dilate_1 = cv2.dilate(img, kernel, iterations=1)# 使用cv2.dilate()函数对图像进行膨胀操作两次
dilate_2 = cv2.dilate(img, kernel, iterations=2)# 使用cv2.dilate()函数对图像进行膨胀操作三次
dilate_3 = cv2.dilate(img, kernel, iterations=3)# 使用numpy的hstack()函数将三个膨胀后的图像水平堆叠在一起
res = np.hstack((dilate_1, dilate_2, dilate_3))# 显示堆叠后的图像
cv2.imshow("res", res)
# 等待用户按下任意键
cv2.waitKey(0)
# 关闭所有OpenCV创建的窗口
cv2.destroyAllWindows()

膨胀一次:
在这里插入图片描述

膨胀两次:
在这里插入图片描述
膨胀三次:
在这里插入图片描述

二、开运算与闭运算

开运算是先进行腐蚀操作,然后进行膨胀操作,用于去除小的物体

拿以下图片来举例子:

在这里插入图片描述

经过开运算:

# 导入OpenCV库,用于图像处理
import cv2
# 导入matplotlib的pyplot模块,用于图像显示
import matplotlib.pyplot as plt
# 导入numpy库,用于数值计算
import numpy as np# 使用cv2.imread()函数读取位于指定路径的图像文件
img = cv2.imread("E:\\XUEXI\\Python_learn\\tupian\\3.jpg")# 创建一个5x5的矩形结构元素,用于形态学操作
# np.ones((5,5),np.uint8)创建一个所有元素都是1的5x5矩阵
kernel = np.ones((10, 10), np.uint8)# 使用cv2.morphologyEx()函数对图像进行开运算
# 开运算是先进行腐蚀操作,然后进行膨胀操作,用于去除小的物体
# cv2.MORPH_OPEN指定要执行的形态学操作是开运算
opening = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)# 使用cv2.imshow()函数显示开运算后的图像
cv2.imshow("opening", opening)
# 使用cv2.waitKey(0)函数等待,直到用户按下任意键
cv2.waitKey(0)
# 使用cv2.destroyAllWindows()函数关闭所有OpenCV创建的窗口
cv2.destroyAllWindows()

运行结果:
在这里插入图片描述
具体优化效果根据卷积核而进行调整改变。

闭运算是先进行膨胀操作,然后进行腐蚀操作,用于填充物体内部的小洞或连接临近物体

经过闭运算:

# 导入OpenCV库,用于图像处理
import cv2
# 导入matplotlib的pyplot模块,用于图像显示
import matplotlib.pyplot as plt
# 导入numpy库,用于数值计算
import numpy as np# 使用cv2.imread()函数读取位于指定路径的图像文件
img = cv2.imread("E:\\XUEXI\\Python_learn\\tupian\\3.jpg")# 创建一个10x10的矩形结构元素,用于形态学操作
# np.ones((10,10),np.uint8)创建一个所有元素都是1的10x10矩阵
kernel = np.ones((10, 10), np.uint8)# 使用cv2.morphologyEx()函数对图像进行闭运算
# 闭运算是先进行膨胀操作,然后进行腐蚀操作,用于填充物体内部的小洞或连接临近物体
# cv2.MORPH_CLOSE指定要执行的形态学操作是闭运算
opening = cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel)# 使用cv2.imshow()函数显示闭运算后的图像
cv2.imshow("opening", opening)
# 使用cv2.waitKey(0)函数等待,直到用户按下任意键
cv2.waitKey(0)
# 使用cv2.destroyAllWindows()函数关闭所有OpenCV创建的窗口
cv2.destroyAllWindows()

运行结果:
在这里插入图片描述

三、梯度运算

梯度 = 膨胀 - 腐蚀,形态学梯度是膨胀和腐蚀操作的差值,用于突出物体的边缘

展示膨胀和腐蚀的效果:

import cv2
import matplotlib.pyplot as plt
import numpy as npimg = cv2.imread("E:\\XUEXI\\Python_learn\\tupian\\4.jpg")kernel = np.ones((7, 7),np.uint8)
dilate = cv2.dilate(img,kernel,iterations = 5)
erosion = cv2.erode(img,kernel,iterations = 5)res = np.hstack((dilate , erosion))cv2.imshow("res",res)
cv2.waitKey(0)
cv2.destroyAllWindows()

在这里插入图片描述
梯度计算:

# 导入OpenCV库,用于图像处理
import cv2
# 导入matplotlib的pyplot模块,用于图像显示
import matplotlib.pyplot as plt
# 导入numpy库,用于数值计算
import numpy as np# 使用cv2.imread()函数读取位于指定路径的图像文件
img = cv2.imread("E:\\XUEXI\\Python_learn\\tupian\\4.jpg")# 创建一个7x7的矩形结构元素,用于形态学操作
# np.ones((7,7),np.uint8)创建一个所有元素都是1的7x7矩阵
kernel = np.ones((7, 7), np.uint8)# 使用cv2.morphologyEx()函数计算图像的形态学梯度
# 形态学梯度是膨胀和腐蚀操作的差值,用于突出物体的边缘
# cv2.MORPH_GRADIENT指定要执行的形态学操作是梯度运算
gradient = cv2.morphologyEx(img, cv2.MORPH_GRADIENT, kernel)# 使用cv2.imshow()函数显示形态学梯度后的图像
cv2.imshow("gradient", gradient)
# 使用cv2.waitKey(0)函数等待,直到用户按下任意键
cv2.waitKey(0)
# 使用cv2.destroyAllWindows()函数关闭所有OpenCV创建的窗口
cv2.destroyAllWindows()

运算结果:

在这里插入图片描述

四、礼帽与黑帽操作

礼帽 = 原始输入-开运算结果 礼帽变换的目的是突出图像中比其周围环境更亮的物体或特征。
黑帽 = 闭运算结果 - 原始输入 黑帽变换是图像的腐蚀版本减去图像的膨胀版本,用于突出比周围暗的物体

礼帽:

import cv2
import matplotlib.pyplot as plt
import numpy as npimg = cv2.imread("E:\\XUEXI\\Python_learn\\tupian\\3.jpg")kernel = np.ones((10, 10), np.uint8)
tophat = cv2.morphologyEx(img, cv2.MORPH_TOPHAT, kernel)cv2.imshow("gradient",tophat)
cv2.waitKey(0)
cv2.destroyAllWindows()

运算结果:
在这里插入图片描述
原始输入(带有毛刺)- 开运算结果(去除毛刺) = 周围的毛刺(上图)
黑帽:

# 导入OpenCV库,用于图像处理
import cv2
# 导入matplotlib的pyplot模块,用于图像显示
import matplotlib.pyplot as plt
# 导入numpy库,用于数值计算
import numpy as np# 使用cv2.imread()函数读取位于指定路径的图像文件
img = cv2.imread("E:\\XUEXI\\Python_learn\\tupian\\3.jpg")# 创建一个10x10的矩形结构元素,用于形态学操作
# np.ones((10,10),np.uint8)创建一个所有元素都是1的10x10矩阵
kernel = np.ones((10, 10), np.uint8)# 使用cv2.morphologyEx()函数对图像进行黑帽变换
# 黑帽变换是图像的腐蚀版本减去图像的膨胀版本,用于突出比周围暗的物体
# cv2.MORPH_BLACKHAT指定要执行的形态学操作是黑帽变换
blackhat = cv2.morphologyEx(img, cv2.MORPH_BLACKHAT, kernel)# 使用cv2.imshow()函数显示黑帽变换后的图像
cv2.imshow("blackhat", blackhat)
# 使用cv2.waitKey(0)函数等待,直到用户按下任意键
cv2.waitKey(0)
# 使用cv2.destroyAllWindows()函数关闭所有OpenCV创建的窗口
cv2.destroyAllWindows()

运行结果:
在这里插入图片描述

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

相关文章:

  • 建设网站要做的工作总结公司建网站的步骤是什么
  • 网站建设验收书网站网格
  • 网站建设的目的与意义如何做贴吧类网站多钱
  • 阿里云网站备案多少天网站页面链接怎么做
  • seo百度站长工具万户网络的网站安全吗
  • 信用网站建设标准软件开发培训机构学费
  • 博物馆网站建设必要性网站关键字怎么修改
  • 宁夏公路建设管理局网站网站首页新闻模板
  • 河北建设工程信息网站政务公开 加强门户网站建设
  • 建筑设计网站网址做网站id
  • 电商网站建设 网站定制开发商业收款码怎么推广赚钱
  • 网站开发远程服务器如何设置外贸流程英文
  • 怎样给网站做seo优化网站建设 .影响力科技
  • 青岛网站建设方案书开发一个网站需要多少时间
  • 福州服务类网站建设ppt模板免费下载 素材软件
  • 东莞黄江做网站一个后台管理多个网站
  • 黄冈网站建设与推广哪家好门户网站 用什么语言
  • 网站开发与设计案例购物网站开发需求
  • 有网站源码怎么做网站弹簧机东莞网站建设
  • 宝安区网站建设培训装饰公司做网站
  • 西班牙语网站设计哪家好做视频特技的网站
  • 做网站几天WordPress哪些主题是免费的
  • 3030wa网站开发学校新乡市建设工程网站
  • 做的网站如何被百度搜到百度收录查询接口
  • android网站开发团购网站切换城市js特效代码
  • 桂林旅游网站制作网站建设论团
  • 成都自适应建站哪家好学ui设计的培训班费用是多少
  • 长春网站建设推广睢宁县建设工程招标网
  • 怎样做企业网站备案一个简易网站怎么做
  • 网站建设毕业答辩ppt模板下载安庆市建设工程造价信息网