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

义马网站开发网页设计与制作课程报告

义马网站开发,网页设计与制作课程报告,如何看一个网站做的如何,盐湖网站制作1. 形态学2. 常用接口2.1 cvtColor()2.2 图像二值化threshod()自适应阈值二值化adaptiveThreshod() 2.3 腐蚀与膨胀erode()getStructuringElement()dilate() 2.4开、闭、梯度、顶帽、黑帽运算morphologyEx() 1. 形态学 OpenCV形态学是一种基于OpenCV库的数字图像处理技术&…

在这里插入图片描述

  • 1. 形态学
  • 2. 常用接口
    • 2.1 cvtColor()
    • 2.2 图像二值化
      • threshod()
      • 自适应阈值二值化
        • adaptiveThreshod()
    • 2.3 腐蚀与膨胀
      • erode()
      • getStructuringElement()
      • dilate()
    • 2.4开、闭、梯度、顶帽、黑帽运算
      • morphologyEx()

1. 形态学

OpenCV形态学是一种基于OpenCV库的数字图像处理技术,主要用于处理图像的形状、结构和空间关系。它包括一系列图像处理工具和算法,包括膨胀、腐蚀、开运算、闭运算、形态学梯度、顶帽、黑帽等。

通过对图像进行形态学操作可以实现一些重要的图像处理任务,比如去除噪声、分离图像中的对象、填充图像中的空洞、改变图像的形状、寻找图像中的轮廓等等。在OpenCV中,形态学操作通常采用二值图像进行处理,它可以通过C++或Python编程实现具体的形态学算法

2. 常用接口

在对图片进行相关操作之前,我们首先要先将彩色图片转变为灰度图像,方便图像的二值化。

2.1 cvtColor()

转换颜色通道的API
dst = cv2.cvtColor( img , cv2.COLOR_BGR2GRAY)
第二个参数为BGR图像转到灰度图像。

2.2 图像二值化

threshod()

该API能将灰度图像按照设定的阈值,将图像二值化。

ret ,dst = cv2.threshod( img, thresh, maxVal, type)
img:图像,最好是灰度图。
thresh:阈值(低于阈值为0,高于阈值的部分为maxVal)
maxVal:超过阈值的替换成maxVal
返回值有两个,第一个是使用的阈值,第二个是输出后的图像

type:

  • CV2.THRESH_BINARY
  • CV2.THRESH_BINARY_INV
  • CV2.THRESH_TRUNC
  • CV2.THRESH_TOZERO
  • CV2.THRESH_TOZERO_INV

在这里插入图片描述
上图显示了不同参数下,二值化的不同图像,第一个图为原始图像,后面的为不同的规则。


下列示例将一个灰度图分别以阈值100,180进行二值化。

import cv2
import numpy as npimg = cv2.imread('./image/lena_small.png')
# 将图片转换为灰度图
img1 = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)# 将阈值设为100,180
ret, img2 = cv2.threshold(img1, 100, 255, cv2.THRESH_BINARY)
ret1, img3 = cv2.threshold(img1, 180, 255, cv2.THRESH_BINARY)cv2.imshow('orgin_img', img1)
cv2.imshow('img_100', img2)
cv2.imshow('img_180', img3)cv2.waitKey(0)

在这里插入图片描述

自适应阈值二值化

有时候由于光照不均匀以及阴影的存在,有可能导致阴影部分的白色会被二值化为黑色,因此只有一个阈值的缺陷就暴露了出来。
在这里插入图片描述
用全局二值化,将阈值设置为180时,由于阴影的存在,会将阴影部分黑化,导致显示不完全。因次提出了自适应二值化的方法。

adaptiveThreshod()

dst = cv2.adaptiveThreshod(img, maxVal, adaptiveMethod, Type, blockSize, C)
img:需要二值化的图像(最好是灰度图
maxVal:超过阈值的像素设置成maxVal
adaptiveMethod:见下图
Type:为全局二值化的Type
blockSize:临近区域的大小,填奇数
C:常量,从计算的平均值或加权平均值中减去,一般为0

在这里插入图片描述

2.3 腐蚀与膨胀

腐蚀就是将一个图片关键部分“缩小“,膨胀将一个图形的关键部分放大。卷积核通常为全1的奇数矩阵。

在这里插入图片描述

在这里插入图片描述

erode()

原始图像中的一个像素无论是1还是0,只有当内核中的所用像素都是1时,结果才是1,否则结果就是0
dst = cv2.erode(img, kenel, iterations = 1)
img:要腐蚀的图像
kenel:卷积核,全1的矩阵
iterations:执行次数,默认为1次

在这里插入图片描述

getStructuringElement()

便捷API,帮助我们获得指定大小的卷积核
kernel = cv2.getStructuringElement(type, Size)
Type:MORPH_RECT(矩形);MORPH_ELLIPSE(椭圆形部分为1);MORPH_CROSS(十字架部分为1)
Size:(3, 3);(5, 5)…

import cv2
import numpy as npimg = cv2.imread('./image/j.png')# 自己创建5*5的卷积核
# kernel = np.ones((5, 5), np.uint8)
# 获得卷积核
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5))
dst = cv2.erode(img, kernel)cv2.imshow('orgin_img', img)
cv2.imshow('dst', dst)cv2.waitKey(0)

在这里插入图片描述

dilate()

只要锚点非0,那么结果非0,卷积核越大,膨胀越大
dst = cv2.dilate(img, kernel, iterations = 1)
img:要膨胀的图像
kenel:卷积核,全1的矩阵
iterations:执行次数,默认为1次

import cv2
import numpy as npimg = cv2.imread('./image/j.png')# 自己创建5*5的卷积核
# kernel = np.ones((5, 5), np.uint8)
# 获得卷积核
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5))
# # 腐蚀
# dst = cv2.erode(img, kernel)# 膨胀
dst = cv2.dilate(img, kernel)cv2.imshow('orgin_img', img)
cv2.imshow('dst', dst)cv2.waitKey(0)

在这里插入图片描述

2.4开、闭、梯度、顶帽、黑帽运算

开运算:腐蚀+膨胀
闭运算:膨胀+腐蚀
梯度:原图-腐蚀
顶帽:原图-开运算
黑帽:原图-闭运算

morphologyEx()

dst = cv2.morphologyEx(img, Type, kernel)
img:进行操作的原图
kernel:噪点大,用大核

Type:

  • MORPH_OPEN/MORPH_CLOSE(开闭运算)
  • MORPH_GRADIENT(梯度运算)
  • MORPH_TOPHAT/MORPH_BLACKHAT(顶黑帽)

开运算:去除文字外的小噪点
在这里插入图片描述

闭运算:去除文字内的小噪点
在这里插入图片描述

梯度运算:获得文字的轮廓
在这里插入图片描述
顶帽:得到大图像外的小图形
在这里插入图片描述

黑帽:得到大图形内的小图形
在这里插入图片描述
以上就是形态学相关API的使用。

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

相关文章:

  • 佛山网站建设wantsun北京网页设计公司兴田德润怎么样
  • 免费做数据采集的网站合肥房产网
  • 策划公司企业简介天津网站排名优化费用
  • 广西柳州网站建设推荐做网站推广怎么说广告词
  • 宜昌市住房和城乡建设局网站WordPress给编辑器
  • 西安 h5网站建设c asp.net网站开发书
  • 中国建设网官方网站下载e路最新版网络黄页平台网址有哪些
  • 优化网站费用做翻页电子书的网站
  • 购物网站开发公司数据库与网站建设的关系
  • 家居企业网站建设案例wordpress发布文章页面错误
  • 宁波专业做网站的公司哪家好2022年编程语言官方排行榜
  • 建设部网站注销一级建造师沈阳男科去哪里看比较好
  • 彩票系统网站建设wordpress自动标签
  • 深圳网站建设论坛烟台汽车租赁网站建设
  • 公司理念网站佛山网站设计代理商
  • 重庆企业网站建设公司网站文化建设
  • 做网站一般什么价格广州网站建设需要多少费用
  • 江苏省住房和建设部网站首页骨干专业群建设任务书网站
  • iis7 发布asp网站404怎么制作微信公众号文章
  • 新网站多久会被百度收录广西建设职业技术学院管理工程系网站2014考试前培训时间
  • 张掖艺能网站建设seo排名的公司
  • 做一个京东这样的网站需要多少钱wordpress 模板语言
  • wordpress的nginx404郑州百度网站快速优化
  • 安徽长江建设集团有限公司网站网站进不去怎么解决
  • 金融保险网站模板网站建设需要报告
  • 建设网站硬件需要中国十大装修公司
  • 如何建广告网站常见的搜索引擎
  • 网站想换个风格怎么做海丰网站制作
  • 深圳国内网站建设做网站应该注意哪些方面
  • 重庆学校网站推广.net网站费用