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

中国的网站域名大连seo外包平台

中国的网站域名,大连seo外包平台,江苏建筑培训网,广州代做网站接上篇:《Opencv》基础操作详解(2)-CSDN博客 Opencv基础操作 目录 Opencv基础操作 18、图像边界填充 19、阈值处理(图像的二值化) 20、图像平滑处理 (1)、均值滤波(Mean Filte…

接上篇:《Opencv》基础操作详解(2)-CSDN博客

Opencv基础操作

目录

Opencv基础操作

18、图像边界填充

 19、阈值处理(图像的二值化)

20、图像平滑处理

(1)、均值滤波(Mean Filtering)

(2)、方框滤波(Box Filtering)

(3)、高斯滤波(Gaussian Filtering)

(4)、中值滤波(Median Filtering)

21、图像形态学操作

(1)、图像腐蚀

(2)、图像膨胀

 (3)、开运算(先腐蚀后膨胀)

(4)、闭运算(先膨胀后腐蚀)


18、图像边界填充

cv2.copyMakeBorder()是OpenCV库中的一个函数,用于给图像添加额外的边界(padding)。

copyMakeBorder(src: UMat, top: int, bottom: int, left: int, right: int, borderType: int, dst: UMat | None = ..., value: cv2.typing.Scalar = ...)

src:要扩充边界的原始图像。

top, bottom, left, right:相应方向上的边框宽度。

borderType:定义要添加边框的类型,它可以是以下的一种:

  • cv2.BORDER_CONSTANT:添加的边界框像素值为常数(需要额外再给定一个参数)。
  • cv2.BORDER_REFLECT:添加的边框像素将是边界元素的镜面反射,类似于gfedcba|abcdefgh|hgfedcba。 (交界处也复制了)
  • cv2.BORDER_REFLECT_101 或 cv2.BORDER_DEFAULT:和上面类似,但是有一些细微的不同,类似于gfedcb|abcdefgh|gfedcba (交接处删除了
  •  cv2.BORDER_REPLICATE:使用最边界的像素值代替,类似于aaaaaa|abcdefgh|hhhhhhh
  • cv2.BORDER_WRAP:上下左右边依次替换,cdefgh|abcdefgh|abcdefg
import cv2
img = cv2.imread('./images/img.png')
constant = cv2.copyMakeBorder(img,50,50,50,50,borderType=cv2.BORDER_CONSTANT,value=(229,25,80))
reflact = cv2.copyMakeBorder(img,50,50,50,50,borderType=cv2.BORDER_REFLECT)
reflact101 = cv2.copyMakeBorder(img,50,50,50,50,borderType=cv2.BORDER_REFLECT101)
replicate = cv2.copyMakeBorder(img,50,50,50,50,borderType=cv2.BORDER_REPLICATE)
wrap = cv2.copyMakeBorder(img,50,50,50,50,borderType=cv2.BORDER_WRAP)cv2.imshow('yuan',img)
cv2.waitKey(0)
cv2.imshow('constant',constant)
cv2.waitKey(0)
cv2.imshow('reflact',reflact)
cv2.waitKey(0)
cv2.imshow('reflact101',reflact101)
cv2.waitKey(0)
cv2.imshow('replicate',replicate )
cv2.waitKey(0)
cv2.imshow('wrap',wrap)
cv2.waitKey(0)
cv2.destroyAllWindows()

 19、阈值处理(图像的二值化)

阈值处理是指剔除图像内像素值高于一定值或低于一定值的像素点。

retval,dst=cv2.threshold(src,thresh,maxval,type)

retval 代表返回的阈值

dst 代表阈值分割结果图像,与原始图像具有相同的大小和类型

src 代表要进行阈值分割的图像,可以是多通道的,8位或32位浮点型数值

thresh 代表要设定的阈值

maxval 代表type参数位THRESH_BINARY或者THRESH_BINARY_INV类型时,需要设定的最大值

type 代表阈值分割的类型,具体内容如下表所示:                                    

选项 像素值>thresh 其他情况
cv2.THRESH_BINARYmaxval0
cv2.THRESH_BINARY_INV0maxval
cv2.THRESH_TRUNCthresh当前灰度值  
cv2.THRESH_TOZERO当前灰度值0
cv2.THRESH_TOZERO_INV0当前灰度值

img = cv2.imread('./images/img_1.png',0)
ret,binary = cv2.threshold(img,150,255,cv2.THRESH_BINARY)
ret1,binaryinv = cv2.threshold(img,150,255,cv2.THRESH_BINARY_INV)
ret2,trunc = cv2.threshold(img,150,255,cv2.THRESH_TRUNC)
ret3,tozero = cv2.threshold(img,150,255,cv2.THRESH_TOZERO)
ret4,tozeroinv = cv2.threshold(img,150,255,cv2.THRESH_TOZERO_INV)cv2.imshow('yuantu',img)
cv2.waitKey(0)
cv2.imshow('binary',binary)
cv2.waitKey(0)
cv2.imshow('binaryinv',binaryinv)
cv2.waitKey(0)
cv2.imshow('trunc',trunc)
cv2.waitKey(0)
cv2.imshow('tozero',tozero)
cv2.waitKey(0)
cv2.imshow('tozeroinv',tozeroinv)
cv2.waitKey(0)
cv2.destroyAllWindows()
print(ret)

20、图像平滑处理

图像平滑(smoothing)也称为“模糊处理”(bluring), 是一项简单且使用频率很高的图像处理方法。 可以用来压制、弱化或消除图像中的细节、突变、边缘和噪声。但最常见的是用来减少图像上的噪声或者失真。 降低图像分辨率时,平滑处理是很重要的。

下面是几种在图像平滑处理时常用的滤波器:

(1)、均值滤波(Mean Filtering)

均值滤波是一种简单的线性滤波方法,它通过计算图像中每个像素周围邻域的平均值来替代该像素的值。均值滤波器通常使用一个固定大小的窗口(如3x3、5x5等)在图像上滑动,窗口内的所有像素值的平均值作为中心像素的新值。

dst=cv2.blur(src, ksize, anchor, borderType)

dst 是返回值

src 是需要处理的图像

kszie 是滤波核(卷积核)的大小 anchor是锚点,默认值是(-1,-1)一般无需更改 borderType 是边界样式,一般无需更改

公式:

特点:

  • 简单易实现。

  • 对高斯噪声有较好的平滑效果。

  • 可能会模糊图像的边缘。

(2)、方框滤波(Box Filtering)

方框滤波与均值滤波非常相似,区别在于方框滤波可以选择是否对窗口内的像素值进行归一化。如果不进行归一化,方框滤波实际上就是对窗口内的像素值进行求和。

dst=cv2.boxFilter(src,ddepth,ksize,anchor,normalize,borderType)

dst 是返回值,表示进行方框滤波后得到的处理结果。

src  是需要处理的图像,即原始图像。

ddepth 是处理结果图像的图像深度,一般使用-1表示与原始图像使用相同的图像深度。(可以理解为数据类型)

ksize 是滤波核的大小。滤波核大小是指在滤波处理过程中所选择的邻域图像的高 度和宽度。

anchor 是锚点,(指对应哪个区域)

normalize  表示在滤波时是否进行归一化,当值为True时,归一化,用邻域像素值的和除以面积。 此时方框滤波与 均值滤波 效果相同;当值为False时,不归一化,直接使用邻域像素值的和。和大于255时使用255。

公式:

特点:

  • 与均值滤波类似,但可以选择不进行归一化。

  • 常用于积分图像的计算。

(3)、高斯滤波(Gaussian Filtering)

高斯滤波是一种加权平均滤波方法,它使用高斯函数来计算窗口内像素的权重。高斯滤波器根据像素与中心像素的距离来分配不同的权重,距离越近的像素权重越大。

cv2.GaussianBlur(src, ksize[, sigmaX[, sigmaY[, dst]]])

src: 输入图像,通常是一个NumPy数组。

ksize: 滤波器的大小,它是一个元组,表示在水平和垂直方向上的像素数量。例如,(5, 5)表示一个5x5的滤波器。

sigmaX和sigmaY: 分别表示在X轴和Y轴方向上的标准差。这些值与滤波器大小相同。默认情况下,它们都等于0,这意味着没有高斯模糊。

dst: 输出图像,通常是一个NumPy数组。如果为None,则会创建一个新的数组来存储结果。

公式:

特点:

  • 对高斯噪声有很好的平滑效果。

  • 相比于均值滤波,高斯滤波能更好地保留图像的边缘信息。

  • 计算复杂度较高。

(4)、中值滤波(Median Filtering)

中值滤波是一种非线性滤波方法,它通过计算图像中每个像素周围邻域的中值来替代该像素的值。中值滤波器通常使用一个固定大小的窗口在图像上滑动,窗口内的所有像素值按大小排序后,取中间值作为中心像素的新值。

cv2.medianBlur(src, ksize[, dst])

src: 输入图像。

ksize: 滤波器的大小,它是一个整数,表示在水平和垂直方向上的像素数量。例如,5表示一个5x5的滤波器。

dst: 输出图像,通常是一个NumPy数组。如果为None,则会创建一个新的数组来存储结果。

公式:

特点:

  • 对椒盐噪声(脉冲噪声)有很好的去除效果。

  • 不会模糊图像的边缘。

  • 计算复杂度较高。

import numpy as np
# 定义添加椒盐噪声的函数
def add_peppersalt_noise(image,n):result = image.copy()h,w = image.shape[:2]for i in range(n):x = np.random.randint(1,h)y = np.random.randint(1,w)if np.random.randint(0,2)==0:result[x,y]=0else:result[x,y]=255return resultcat = cv2.imread('./images/cat.jpg')
cv2.imshow('cat',cat)
cv2.waitKey(0)
noise = add_peppersalt_noise(cat,10000)
cv2.imshow('noise',noise)
cv2.waitKey(0)
# 均值滤波
# 3*3卷积核
blur_cat = cv2.blur(noise,(3,3))
cv2.imshow('3*3',blur_cat)
cv2.waitKey(0)
# 5*5卷积核
blur_cat1 = cv2.blur(noise,(5,5))
cv2.imshow('5*5',blur_cat1)
cv2.waitKey(0)# 方框滤波
box_Filter = cv2.boxFilter(noise,-1,(3,3),normalize=True)
cv2.imshow('box_Filter',box_Filter)
cv2.waitKey(0)
box_Filter1 = cv2.boxFilter(noise,-1,(3,3),normalize=False)
cv2.imshow('box_Filter1',box_Filter1)
cv2.waitKey(0)# 高斯滤波
Gaussian_cat = cv2.GaussianBlur(noise,(3,3),1)
cv2.imshow('Gaussian_cat',Gaussian_cat)
cv2.waitKey(0)# 中值滤波
median_cat = cv2.medianBlur(noise,3)
cv2.imshow('median_cat',median_cat)
cv2.waitKey(0)

21、图像形态学操作

(1)、图像腐蚀

cv2. erode(src, kernel, dst,anchor,iterations,borderType,borderValue)

src:  输入的图像

kernel:  用于腐蚀的结构元件如果element = Mat(),则使用3 × 3的矩形结构单元。

dst:  它是与src相同大小和类型的输出图像。

iterations:  腐蚀操作的迭代次数,默认为1。次数越多, 腐蚀操作执行的次数越多,腐蚀效果越明显

# 图像腐蚀
sun = cv2.imread(r'./images/sun.png')
cv2.imshow('sun',sun)
cv2.waitKey(0)
kernel = np.ones((3,3),np.uint8)
erosion_1 = cv2.erode(sun,kernel,iterations=1)
cv2.imshow('erosion_1',erosion_1)
cv2.waitKey(0)

(2)、图像膨胀

cv2.dilate(img, kernel, iteration)

img  目标图片

kernel  进行操作的内核,默认为3×3的矩阵

iterations  膨胀次数,默认为1

# 图像膨胀
wenzi = cv2.imread(r'./images/wenzi.png')
cv2.imshow('wenzi',wenzi)
cv2.waitKey(0)
kernel = np.ones((3,3),np.uint8)
wenzi_new = cv2.dilate(wenzi,kernel,iterations=1)
cv2.imshow('wenzi_new',wenzi_new)
cv2.waitKey(0)

 (3)、开运算(先腐蚀后膨胀)
# 开运算(先腐蚀后膨胀)
zhiwen = cv2.imread(r'./images/zhiwen.png')
cv2.imshow('zhiwen',zhiwen)
cv2.waitKey(0)
kernel = np.ones((2,2),np.uint8)
zhiwen_new = cv2.morphologyEx(zhiwen,cv2.MORPH_OPEN,kernel)
cv2.imshow('zhiwen_new',zhiwen_new)
cv2.waitKey(0)

(4)、闭运算(先膨胀后腐蚀)
# 闭运算(先膨胀后腐蚀)
zhiwen_duan = cv2.imread(r'./images/zhiwen_duan.png')
cv2.imshow('zhiwen_duan',zhiwen_duan)
cv2.waitKey(0)
kernel = np.ones((2,2),np.uint8)
zhiwen_duan_new = cv2.morphologyEx(zhiwen_duan,cv2.MORPH_CLOSE,kernel)
cv2.imshow('zhiwen_duan_new',zhiwen_duan_new)
cv2.waitKey(0)


文章转载自:
http://solarization.cwgn.cn
http://transcurrence.cwgn.cn
http://rhematize.cwgn.cn
http://cerate.cwgn.cn
http://consul.cwgn.cn
http://kainite.cwgn.cn
http://fibrous.cwgn.cn
http://timelessly.cwgn.cn
http://commonplace.cwgn.cn
http://undermeaning.cwgn.cn
http://discommender.cwgn.cn
http://eulogise.cwgn.cn
http://morcellate.cwgn.cn
http://radc.cwgn.cn
http://cyclization.cwgn.cn
http://metempirics.cwgn.cn
http://spindling.cwgn.cn
http://bulletin.cwgn.cn
http://urinant.cwgn.cn
http://bioplasma.cwgn.cn
http://celotomy.cwgn.cn
http://amok.cwgn.cn
http://hexaplar.cwgn.cn
http://holdall.cwgn.cn
http://sabaism.cwgn.cn
http://rhododendra.cwgn.cn
http://isoproterenol.cwgn.cn
http://former.cwgn.cn
http://antimalarial.cwgn.cn
http://stair.cwgn.cn
http://iritis.cwgn.cn
http://reconcentration.cwgn.cn
http://duchy.cwgn.cn
http://honeyfogle.cwgn.cn
http://playgame.cwgn.cn
http://babs.cwgn.cn
http://squelcher.cwgn.cn
http://estrogen.cwgn.cn
http://chiropractic.cwgn.cn
http://messenger.cwgn.cn
http://pregalactic.cwgn.cn
http://wash.cwgn.cn
http://verbalist.cwgn.cn
http://thrombectomy.cwgn.cn
http://chromocentre.cwgn.cn
http://finite.cwgn.cn
http://phot.cwgn.cn
http://audiotactile.cwgn.cn
http://unflawed.cwgn.cn
http://pygmoid.cwgn.cn
http://deforciant.cwgn.cn
http://infiltrate.cwgn.cn
http://sloe.cwgn.cn
http://peafowl.cwgn.cn
http://profusion.cwgn.cn
http://kenyon.cwgn.cn
http://hegelian.cwgn.cn
http://vatful.cwgn.cn
http://idolum.cwgn.cn
http://lithophagous.cwgn.cn
http://deflexion.cwgn.cn
http://pie.cwgn.cn
http://corticoid.cwgn.cn
http://adjustment.cwgn.cn
http://flutterboard.cwgn.cn
http://pathless.cwgn.cn
http://nzima.cwgn.cn
http://psephomancy.cwgn.cn
http://checkback.cwgn.cn
http://leuco.cwgn.cn
http://houston.cwgn.cn
http://careen.cwgn.cn
http://zolaesque.cwgn.cn
http://nope.cwgn.cn
http://kumiss.cwgn.cn
http://execratively.cwgn.cn
http://anorak.cwgn.cn
http://astomatous.cwgn.cn
http://tugboat.cwgn.cn
http://applausively.cwgn.cn
http://autism.cwgn.cn
http://reapplication.cwgn.cn
http://broomstick.cwgn.cn
http://breech.cwgn.cn
http://cranch.cwgn.cn
http://quarterdecker.cwgn.cn
http://toenail.cwgn.cn
http://scooterist.cwgn.cn
http://ineligible.cwgn.cn
http://costarica.cwgn.cn
http://isochrony.cwgn.cn
http://tokushima.cwgn.cn
http://dissolve.cwgn.cn
http://middleware.cwgn.cn
http://creaturely.cwgn.cn
http://controlling.cwgn.cn
http://pokey.cwgn.cn
http://skewbald.cwgn.cn
http://biunique.cwgn.cn
http://embrue.cwgn.cn
http://www.hrbkazy.com/news/62392.html

相关文章:

  • 蜘蛛云建网站怎样怎样优化关键词到首页
  • 巴中做网站百度小说排行榜2020
  • 当当网站建设优点百度一下你就知道了百度一下
  • html5经典网站seo外链收录
  • 电商网站设计内容厦门seo排名公司
  • 武汉建设公司有哪些优化关键词方法
  • 怎样才能建一个网站快刷网站
  • 网站开发应该怎么学网站网络推广推广
  • wordpress做网站怎么样推广价格一般多少
  • 专门做照片的网站网店运营基础知识
  • 设计师网站behance二级域名分发平台
  • 丹灶做网站个人网页制作完整教程
  • 西安手机网站制作的公司抖音seo优化
  • wordpress单独页面优化设计七年级下册语文答案
  • 天正电气网站建设2021最火关键词
  • 网站流程表中国新冠一共死去的人数
  • 老外做的汉字网站汕头seo计费管理
  • wordpress plugin developmentseo技术交流
  • 绍兴网站制作价格欧美网站建设公司
  • 自己做游戏网站怎么做一个属于自己的网站
  • 百度不到公司网站制作网页的基本步骤
  • 电商网站建设需求分析 实例题网站域名备案查询
  • php做网站搜索框免费写文案神器
  • 网站套利怎么做长春头条新闻今天
  • h5课件制作软件seo全网营销
  • wordpress上传主题413seo关键词快速排名介绍
  • 做毕业证教育网站开鲁网站seo免费版
  • 安卓盒子做网站网络营销的实现方式有哪些
  • 很多网站的微信登录怎么做seo服务收费
  • linux主网站设计商品标题关键词优化