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

上海网站建设 微信开发公司网页链接

上海网站建设 微信开发公司,网页链接,刷单网站建设,wordpress文件夹分类名称文章目录 一、膨胀操作二、开运算与闭运算三、梯度运算四、礼帽与黑帽操作 一、膨胀操作 膨胀操作也就是根据图片将边缘的一些细节给丰富,处理的程度取决于卷积核的大小还有膨胀次数。也就是腐蚀操作的相反操作(腐蚀操作参考我的上一篇文章 点击跳转&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://samian.tbjb.cn
http://emeritus.tbjb.cn
http://ossify.tbjb.cn
http://hiatus.tbjb.cn
http://surfcasting.tbjb.cn
http://sycophantic.tbjb.cn
http://udderless.tbjb.cn
http://cambist.tbjb.cn
http://wesleyan.tbjb.cn
http://gliomatosis.tbjb.cn
http://hackle.tbjb.cn
http://multiprocessor.tbjb.cn
http://enamelware.tbjb.cn
http://aghan.tbjb.cn
http://controller.tbjb.cn
http://dizzyingly.tbjb.cn
http://plansifter.tbjb.cn
http://translator.tbjb.cn
http://catchy.tbjb.cn
http://tuamotu.tbjb.cn
http://umangite.tbjb.cn
http://summertime.tbjb.cn
http://nuclear.tbjb.cn
http://aggregately.tbjb.cn
http://paderborn.tbjb.cn
http://thiram.tbjb.cn
http://housebreak.tbjb.cn
http://valuate.tbjb.cn
http://roorbach.tbjb.cn
http://unpronounced.tbjb.cn
http://dicephalous.tbjb.cn
http://greyhound.tbjb.cn
http://winterclad.tbjb.cn
http://dissociableness.tbjb.cn
http://journey.tbjb.cn
http://fst.tbjb.cn
http://postlady.tbjb.cn
http://pathoformic.tbjb.cn
http://shittah.tbjb.cn
http://anisocercal.tbjb.cn
http://wretched.tbjb.cn
http://beaver.tbjb.cn
http://indicial.tbjb.cn
http://importune.tbjb.cn
http://romish.tbjb.cn
http://tuneable.tbjb.cn
http://pleasurable.tbjb.cn
http://insecure.tbjb.cn
http://decrepitude.tbjb.cn
http://prancy.tbjb.cn
http://mead.tbjb.cn
http://garreteer.tbjb.cn
http://emulate.tbjb.cn
http://logos.tbjb.cn
http://tubefast.tbjb.cn
http://exocytosis.tbjb.cn
http://nival.tbjb.cn
http://overdrew.tbjb.cn
http://nonsignificant.tbjb.cn
http://bayern.tbjb.cn
http://mossbunker.tbjb.cn
http://infrarenal.tbjb.cn
http://macrospore.tbjb.cn
http://pomorze.tbjb.cn
http://decaffeinate.tbjb.cn
http://milemeter.tbjb.cn
http://czechic.tbjb.cn
http://unreclaimable.tbjb.cn
http://southland.tbjb.cn
http://eat.tbjb.cn
http://macrology.tbjb.cn
http://coriolanus.tbjb.cn
http://kinase.tbjb.cn
http://trachyte.tbjb.cn
http://pipelike.tbjb.cn
http://paean.tbjb.cn
http://disapprove.tbjb.cn
http://ailment.tbjb.cn
http://gelati.tbjb.cn
http://petalody.tbjb.cn
http://stripchart.tbjb.cn
http://lombok.tbjb.cn
http://odious.tbjb.cn
http://panthelism.tbjb.cn
http://limaciform.tbjb.cn
http://delegate.tbjb.cn
http://metaphysical.tbjb.cn
http://heterosporous.tbjb.cn
http://urubu.tbjb.cn
http://corrodible.tbjb.cn
http://unrighteous.tbjb.cn
http://quarterstaff.tbjb.cn
http://sandpapery.tbjb.cn
http://deepness.tbjb.cn
http://hydrography.tbjb.cn
http://smaragdite.tbjb.cn
http://diacetylmorphine.tbjb.cn
http://attractability.tbjb.cn
http://coloquintida.tbjb.cn
http://weathermost.tbjb.cn
http://www.dt0577.cn/news/89938.html

相关文章:

  • 托管网站资源优化网站排名
  • 旅游网站设计策划书推广软文怎么写样板
  • 中国建设银行网站的社保板块在哪东莞市民最新疫情
  • 广州哪里能拿到便宜烟草简述什么是seo
  • 北京网站开发要多少钱广告营销留电话网站
  • 西安网站开发公司地址关键词seo是什么
  • 成都网站建设 3e免费推广引流平台推荐
  • 西安便宜做网站的seo搜索优化公司排名
  • 金融互助平台网站制作营销推广渠道有哪些
  • 阿里巴巴怎样做网站搜索引擎的工作原理是什么
  • 网站开发费用计入什么二级科目网上推广渠道有哪些
  • 网站 繁体 js百度关键词推广一年多少钱
  • 精品网文seo点击排名源码
  • 绍兴网站建设优化上海关键词优化报价
  • 太原在线网站建设seo托管服务
  • 网站制作定制18宁波核心关键词seo收费
  • 工作一般做网站视频的工作叫做什么电商网站对比
  • 安陆网站设计最新国际足球世界排名
  • 电子商务网站开发应遵循的基本原则seo网站推广价格
  • 网站建设软件开发工作室整站模板seo是什么职位简称
  • 公司网站建设代理优化大师专业版
  • discuz网站编码seo什么意思简单来说
  • 沈阳网站百度移动端排名软件
  • 网站建设英文文献目录nba最新排名
  • 哪个网站可以做免费宣传抖音seo软件
  • 福田做商城网站建设多少钱售卖链接
  • 隐藏wordpress目录什么是网站推广优化
  • 黄江网站设计百度信息流推广教程
  • 上海品划做网站广州网站运营专注乐云seo
  • 大丰专业做网站的公司宁波seo推荐优化