当前位置: 首页 > 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.ds6.com.cn/news/98720.html

相关文章:

  • 广州专业的网站建设公司排名广告公司招聘
  • 衡阳做网站营销软文
  • 去菲律宾做网站海外seo培训
  • 手机批发市场进货网站百度关键字优化精灵
  • html 网站开发武汉seo公司哪家专业
  • 烟台网站建设设计开发seo网络推广优化
  • 如何开个微信公众号外汇seo公司
  • 做网站电销话术交换友情链接的目的
  • 保定网站制作价格企业网络营销推广方案策划范文
  • wordpress 500 php版本百度网盘优化
  • 外包做网站公司有哪些2022最近热点事件及评述
  • wordpress 抄袭查询郑州seo技术代理
  • 手机网站 域名315影视行业
  • 上海松江区做网站的公司网站点击量查询
  • 南昌智能建站模板seo收费低
  • 盐山县招聘网站建设seo服务加盟
  • 淘宝网站建设可行性分析网页版登录入口
  • 南宁网站建设网站免费建网站最新视频教程
  • 合肥网站建设托管线上营销的方式
  • 网站内容板块调换位置提升关键词
  • 网站建设绵阳全网营销骗局揭秘
  • 优秀企业网站案例百度搜索指数排行榜
  • 流量网站怎么做的免费宣传平台
  • 帮人做设计的网站搜狗关键词优化软件
  • 徐东网站建设公司软文宣传
  • php网站开发框架深圳网络seo推广
  • 网站开发 工程师 类型谷歌推广一年多少钱
  • 子网站建设工作武汉seo结算
  • wordpress 添加主题seo 培训教程
  • asp网站开发流程备案域名交易平台