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

专门做旅游的视频网站有哪些湖北百度推广公司

专门做旅游的视频网站有哪些,湖北百度推广公司,做ppt必备网站,开公司需要什么手续和证件一、形态学变化 形态学变换(Morphological Transformations)是一种基于形状的图像处理技术,主要处理的对象为二值化图像。 形态学变换有两个输入和一个输出:输入为原始图像和核(即结构化元素),输…

一、形态学变化

        形态学变换(Morphological Transformations)是一种基于形状的图像处理技术,主要处理的对象为二值化图像。

        形态学变换有两个输入和一个输出:输入为原始图像和核(即结构化元素),输出为经过形态学变换后的图像。

        其基本操作包括腐蚀(Erosion)和膨胀(Dilation),这两种操作互为反向过程,分别对图像中的亮度值产生不同的影响。

二、核

        核,或称结构化元素,是用于形态学变换的一个小的二值图像,通常呈现为简单的几何形状,例如矩形、椭圆形或十字形等。结构化元素的大小和形状直接影响腐蚀和膨胀操作的效果。

2.1、矩形

2.2、椭圆形

2.3、十字形

三、腐蚀

        腐蚀操作就是使用核在原图(二值化图)上进行从左到右、从上到下的滑动(也就是从图像的左上角开 始,滑动到图像的右下角)。在滑动过程中,令核值为1的区域与被核覆盖的对应区域进行相乘,得到其 最小值,该最小值就是卷积核覆盖区域的中心像素点的新像素值,接着继续滑动。由于操作图像为二值 图,所以不是黑就是白,这就意味着,在被核值为1覆盖的区域内,只要有黑色(像素值为0),那么该 区域的中心像素点必定为黑色(0)。这样做的结果就是会将二值化图像中的白色部分尽可能的压缩,如 下图所示,该图经过腐蚀之后,“变瘦”了。

 导入模块

import cv2

 读取图片

img=cv2.imread('img.png')

 灰度化

img_gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

 二值化

ret,img_threshold=cv2.threshold(img_gray,127,255,cv2.THRESH_BINARY)

 创建核

kernel=cv2.getStructuringElement(cv2.MORPH_CROSS,(15,15))

 腐蚀

img_erode=cv2.erode(img_threshold,kernel)

 显示图片

cv2.imshow('img_gray',img_gray)
cv2.imshow('img_erode',img_erode)
cv2.waitKey(0)

 完整代码

import cv2  # 导入OpenCV库  # 读取图像  
img = cv2.imread('img.png')  # 将图像转换为灰度图  
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)  # 对灰度图像应用阈值处理,以获得二值图像  
# ret: 用于输出阈值值,img_threshold: 阈值处理后的图像  
ret, img_threshold = cv2.threshold(img_gray, 127, 255, cv2.THRESH_BINARY)  # 创建一个15x15的十字形结构元素(腐蚀操作所用的卷积核)  
kernel = cv2.getStructuringElement(cv2.MORPH_CROSS, (15, 15))  # 对阈值处理后的图像进行腐蚀操作  
img_erode = cv2.erode(img_threshold, kernel)  # 显示腐蚀处理后的图像  
cv2.imshow('img_erode', img_erode)  # 等待用户按键后关闭窗口  
cv2.waitKey(0)  

四、膨胀

        膨胀与腐蚀刚好相反,膨胀操作就是使用核在原图(二值化图)上进行从左到右、从上到下的滑动(也 就是从图像的左上角开始,滑动到图像的右下角),在滑动过程中,令核值为1的区域与被核覆盖的对应 区域进行相乘,得到其最大值,该最大值就是核覆盖区域的中心像素点的新像素值,接着继续滑动。由 于操作图像为二值图,所以不是黑就是白,这就意味着,在卷积核覆盖的区域内,只要有白色(像素值 为255),那么该区域的中心像素点必定为白色(255)。这样做的结果就是会将二值化图像中的白色部 分尽可能的扩张,如下图所示,该图经过腐蚀之后,“变胖”了。

导入模块

import cv2

 读取图片

img=cv2.imread('img.png')

 灰度化

img_gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

 二值化

ret,img_threshold=cv2.threshold(img_gray,127,255,cv2.THRESH_BINARY)

 创建核

kernel=cv2.getStructuringElement(cv2.MORPH_CROSS,(15,15))

 膨胀

img_dilate=cv2.dilate(img_threshold,kernel)

 显示图片

cv2.imshow('img_dilate',img_dilate)
cv2.waitKey(0)

完整代码 

import cv2  # 导入OpenCV库  # 读取图像  
img = cv2.imread('img.png')  # 将图像转换为灰度图  
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)  # 对灰度图像应用阈值处理,以获得二值图像  
# ret: 用于输出阈值值,img_threshold: 阈值处理后的图像  
ret, img_threshold = cv2.threshold(img_gray, 127, 255, cv2.THRESH_BINARY)  # 创建一个15x15的十字形结构元素(膨胀操作所用的卷积核)  
kernel = cv2.getStructuringElement(cv2.MORPH_CROSS, (15, 15))  # 对阈值处理后的图像进行膨胀操作  
# 膨胀会增强图像中亮区域的大小  
img_dilate = cv2.dilate(img_threshold, kernel)  # 显示膨胀处理后的图像  
cv2.imshow('img_dilate', img_dilate)  # 等待用户按键后关闭窗口  
cv2.waitKey(0)  

五、库函数

5.1、getStructuringElement()

cv.getStructuringElement(	shape, ksize[, anchor]	) ->	retval
方法描述
shape可以是 MorphShapes 之一
ksize结构元素的大小。
anchor元素内的锚点位置。默认值(−1,−1)表示锚点位于中心。请注意,只有十字形元素的形状取决于锚点位置。在其他情况下,锚点只是调节形态作的结果偏移了多少
MorphShapes
MORPH_RECT
Python:cv.MORPH_RECT

矩形结构元素:

MORPH_CROSS
Python:cv.MORPH_CROSS

十字形结构元件:

MORPH_ELLIPSE
Python:cv.MORPH_ELLIPSE

椭圆结构元素,即内接到矩形 Rect(0, 0, esize.width, esize.height) 中的填充椭圆

5.2、erode()

cv.erode(	src, kernel[, dst[, anchor[, iterations[, borderType[, borderValue]]]]]	) ->	dst
方法描述
src输入图像;通道数可以是任意的,但深度应该是 CV_8U、 CV_16U、 CV_16S、 CV_32F 或 CV_64F 之一。
dst输出图像的大小和类型与 src 相同。
kernel用于侵蚀的结构元件;如果 ,则使用矩形结构元素。可以使用 getStructuringElement 创建 Kernel。element=Mat()3 x 3
anchor锚点在元素中的位置;默认值 (-1, -1) 表示锚点位于元素中心。
iterations应用 腐蚀的次数。
borderType像素外插方法,请参阅 BorderTypes。不支持BORDER_WRAP。
borderValueborder 值(如果边界为常量)
BorderTypes
BORDER_CONSTANT
Python:cv.BORDER_CONSTANT

iiiiii|abcdefgh|iiiiiii并指定一些i

BORDER_REPLICATE
Python:cv.BORDER_REPLICATE

aaaaaa|abcdefgh|hhhhhhh

BORDER_REFLECT
Python:cv.BORDER_REFLECT

fedcba|abcdefgh|hgfedcb

BORDER_REFLECT_101
Python:cv.BORDER_REFLECT_101

gfedcb|abcdefgh|gfedcba

BORDER_TRANSPARENT
Python:cv.BORDER_TRANSPARENT

uvwxyz|abcdefgh|ijklmno- 将离群值视为透明值。

BORDER_REFLECT101
Python:cv.BORDER_REFLECT101

与 BORDER_REFLECT_101 相同

BORDER_DEFAULT
Python:cv.BORDER_DEFAULT

与 BORDER_REFLECT_101 相同

BORDER_ISOLATED
Python:cv.BORDER_ISOLATED

插值限制在 ROI 边界内。

5.3、 dilate()

cv.dilate(	src, kernel[, dst[, anchor[, iterations[, borderType[, borderValue]]]]]	) ->	dst
方法描述
src输入图像;通道数可以是任意的,但深度应该是 CV_8U、 CV_16U、 CV_16S、 CV_32F 或 CV_64F 之一。
dst输出图像的大小和类型与 src 相同。
kernel用于扩张的结构元件;如果 element=Mat(),则使用 3 x 3 矩形结构元素。可以使用 getStructuringElement 创建 Kernel
anchor锚点在元素中的位置;默认值 (-1, -1) 表示锚点位于元素中心。
iterations应用扩张的次数。
borderType像素外插方法,请参阅 BorderTypes。不支持BORDER_WRAP。
borderValueborder 值(如果边界为常量)
BorderTypes
BORDER_CONSTANT
Python:cv.BORDER_CONSTANT

iiiiii|abcdefgh|iiiiiii并指定一些i

BORDER_REPLICATE
Python:cv.BORDER_REPLICATE

aaaaaa|abcdefgh|hhhhhhh

BORDER_REFLECT
Python:cv.BORDER_REFLECT

fedcba|abcdefgh|hgfedcb

BORDER_REFLECT_101
Python:cv.BORDER_REFLECT_101

gfedcb|abcdefgh|gfedcba

BORDER_TRANSPARENT
Python:cv.BORDER_TRANSPARENT

uvwxyz|abcdefgh|ijklmno- 将离群值视为透明值。

BORDER_REFLECT101
Python:cv.BORDER_REFLECT101

与 BORDER_REFLECT_101 相同

BORDER_DEFAULT
Python:cv.BORDER_DEFAULT

与 BORDER_REFLECT_101 相同

BORDER_ISOLATED
Python:cv.BORDER_ISOLATED

插值限制在 ROI 边界内。

http://www.dtcms.com/wzjs/183273.html

相关文章:

  • 做推广网站那里好网络营销买什么好
  • 纺织服装板块上市公司网站建设推广软件排行榜前十名
  • 手工活接单正规平台关键词seo公司
  • html5后台网站模板设计公司
  • 最牛的网站建设郑州厉害的seo优化顾问
  • 零售网站开发alexa排名查询
  • 饲料行业怎么做网站html网页制作网站
  • 龙岗-网站建设深圳信科信息流广告是什么
  • 深圳福田大型商城网站建设电子商务网站建设流程
  • 个人备案公司网站个人免费开发app
  • 网站代码上传后无法打开石家庄百度推广优化排名
  • 做网站怎么上词一级造价工程师
  • asp.net网站开发模板开发网站建设
  • asp开源政府网站网站查询ip
  • 淘宝网站详情页怎么做武汉seo群
  • web做网站实验报告做网站推广
  • 医院网站管理办法策划方案网站
  • 项目外包公司到底值不值得去seo的课谁讲的好
  • 网站中链接怎么做安卓优化大师hd
  • 广州小程序开发方案seo智能优化
  • 做网站1008做网站 - 百度2345网址大全设主页
  • wordpress如何自动采集网站图片电商平台排行榜前十名
  • 长沙营销型网站制作费用武汉seo招聘
  • 南京做电商网站的公司简介网络建站流程
  • 北京网站建设价格便宜兰州网络推广关键词优化
  • 免费男人做那个的视频网站seo主管招聘
  • 山西建设局网站首页搜索引擎优化的要点
  • 快速制作效果图软件如何做网站推广及优化
  • 校园网站平台建设公众号seo排名优化
  • 县级政府网站建设费用怎么建网站详细步骤