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

重庆长寿网站设计公司哪家专业德州建设网站有

重庆长寿网站设计公司哪家专业,德州建设网站有,网络推广及网站建设合作协议,阿里云 个人网站接上篇#xff1a;《Opencv》基础操作详解#xff08;2#xff09;-CSDN博客 Opencv基础操作 目录 Opencv基础操作 18、图像边界填充 19、阈值处理#xff08;图像的二值化#xff09; 20、图像平滑处理 #xff08;1#xff09;、均值滤波#xff08;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|hhhhhhhcv2.BORDER_WRAP上下左右边依次替换cdefgh|abcdefgh|abcdefg import cv2 img cv2.imread(./images/img.png) constant cv2.copyMakeBorder(img,50,50,50,50,borderTypecv2.BORDER_CONSTANT,value(229,25,80)) reflact cv2.copyMakeBorder(img,50,50,50,50,borderTypecv2.BORDER_REFLECT) reflact101 cv2.copyMakeBorder(img,50,50,50,50,borderTypecv2.BORDER_REFLECT101) replicate cv2.copyMakeBorder(img,50,50,50,50,borderTypecv2.BORDER_REPLICATE) wrap cv2.copyMakeBorder(img,50,50,50,50,borderTypecv2.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,dstcv2.threshold(src,thresh,maxval,type) retval 代表返回的阈值 dst 代表阈值分割结果图像与原始图像具有相同的大小和类型 src 代表要进行阈值分割的图像可以是多通道的8位或32位浮点型数值 thresh 代表要设定的阈值 maxval 代表type参数位THRESH_BINARY或者THRESH_BINARY_INV类型时需要设定的最大值 type 代表阈值分割的类型具体内容如下表所示:                                     选项 像素值thresh 其他情况cv2.THRESH_BINARYmaxval0cv2.THRESH_BINARY_INV0maxvalcv2.THRESH_TRUNCthresh当前灰度值  cv2.THRESH_TOZERO当前灰度值0cv2.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等在图像上滑动窗口内的所有像素值的平均值作为中心像素的新值。 dstcv2.blur(src, ksize, anchor, borderType) dst 是返回值 src 是需要处理的图像 kszie 是滤波核(卷积核)的大小 anchor是锚点默认值是-1-1一般无需更改 borderType 是边界样式一般无需更改 公式 特点 简单易实现。 对高斯噪声有较好的平滑效果。 可能会模糊图像的边缘。 2、方框滤波Box Filtering 方框滤波与均值滤波非常相似区别在于方框滤波可以选择是否对窗口内的像素值进行归一化。如果不进行归一化方框滤波实际上就是对窗口内的像素值进行求和。 dstcv2.boxFiltersrc,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),normalizeTrue) cv2.imshow(box_Filter,box_Filter) cv2.waitKey(0) box_Filter1 cv2.boxFilter(noise,-1,(3,3),normalizeFalse) 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,iterations1) 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,iterations1) 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://www.hkea.cn/news/14509134/

相关文章:

  • wordpress后台管理插件seo全称英文怎么说
  • 网站建设项目的实训报告自有服务器 建网站
  • 网站备案通过后家具网站首页设计
  • 重庆网站建设制作西安网站建设管理
  • 水果商城网站制作多少钱哪个网站做刷手最好
  • 葫芦岛公司做网站百度关键词seo排名优化
  • 网站创作思路wordpress添加文章分类二级
  • 网站建成网站网页建设一般多少钱
  • 网站建设有哪些关键细节led设计网站建设
  • 旅游公司网站 优帮云设计师自己的网站
  • 苏州营销网站建设公司哪家好怎么做建设网站首页
  • 竞彩网站建设在定点二进制运算中减法运算一般通过
  • 网站维护细则金华品牌网站建设
  • 什么网站可以接单做设计方案大型网站开发费用
  • 坪地网站建设哪家好河间网站建设制作
  • 免费做网站的app房建设计图网站
  • 鹰潭北京网站建设wordpress播放本地视频
  • 网站开发后台php技术网站建设实习生怎么样
  • 建站之星如何建网站wordpress最快仿站
  • 三网合一网站开发是什么网站建设基本流程备案
  • 网站怎么做微博认证吗wordpress自定义文章链接
  • 网站建设补助wordpress 动态特效
  • 上海网站营销seo电话河南住房和城乡建设部网站首页
  • 网站项目设计书wordpress 古典主题
  • 深圳做营销网站制作昆明网络推广公司哪家好
  • 怎么做网站描述网页托管平台排名
  • 网站建设元年网站模块有哪些
  • 宁海县城镇建设局网站电子商务网站建设实践报告摘要
  • 长安网站建设公司哪家好湘潭网站建设 要上磐石网络
  • 自己做网站项目律师行业协会网站建设