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

江苏网站开发建设设计方案怎么讲解

江苏网站开发建设,设计方案怎么讲解,网站风格有哪些类型,广告设计公司 上海膨胀操作是形态学中另外一种基本的操作。膨胀操作和腐蚀操作的作用是相反的#xff0c;膨胀操作能对图像的边界进行扩张。膨胀操作将与当前对象#xff08;前景#xff09;接触到的背景点合并到当前对象内#xff0c;从而实现将图像的边界点向外扩张。如果图像内两个对象的… 膨胀操作是形态学中另外一种基本的操作。膨胀操作和腐蚀操作的作用是相反的膨胀操作能对图像的边界进行扩张。膨胀操作将与当前对象前景接触到的背景点合并到当前对象内从而实现将图像的边界点向外扩张。如果图像内两个对象的距离较近那么在膨胀的过程中两个对象可能会连通在一起。膨胀操作对填补图像分割后图像内所存在的空白相当有帮助。 原理 二值图像的膨胀示例如图 8-8 所示。 同腐蚀过程一样在膨胀过程中也是使用一个结构元来逐个像素地扫描要被膨胀的图像并根据结构元和待膨胀图像的关系来确定膨胀结果。 例如在图 8-9 中整幅图像的背景色是黑色的前景对象是一个白色的圆形。图像左上角的深色小块表示遍历图像所使用的结构元。在膨胀过程中要将该结构元逐个像素地遍历整幅图像并根据结构元与待膨胀图像的关系来确定膨胀结果图像中与结构元中心点对应位置像素点的值。 图 8-10 中的两幅图像代表结构元与前景色的两种不同关系。根据这两种不同关系来决定 膨胀结果图像中与结构元中心像素重合的点的像素值。 如果结构元中任意一点处于前景图像中就将膨胀结果图像中对应像素点处理为前景色。如果结构元完全处于背景图像外就将膨胀结果图像中对应像素点处理为背景色。 针对图 8-10 中的图像膨胀的结果就是前景对象的白色圆直径变大。上述结构元也被称为核。 例如有待膨胀的图像 img其值为 [[0 0 0 0 0] [0 0 0 0 0] [0 1 1 1 0] [0 0 0 0 0] [0 0 0 0 0]]有一个结构元 kernel其值为 [[1] [1] [1]]如果使用结构元 kernel 对图像 img 进行膨胀则可以得到膨胀结果图像 rst [[0 0 0 0 0] [0 1 1 1 0] [0 1 1 1 0] [0 1 1 1 0] [0 0 0 0 0]]这是因为当结构元 kernel 在图像 img 内逐个像素地进行遍历时当核 kernel 的中心点 kernel[1,0]位于 img 中的 img[1,1]、img[1,2]、img[1,3]、img[2,1]、img[2,2]、img[2,3]、img[3,1]、img[3,2]或 img[3,3]处时核内像素点都存在与前景对象重合的像素点。所以在膨胀结果图像中这 9 个像素点的值被处理为 1其余像素点的值被处理为 0。 上述示例的示意图如图 8-11 所示其中 图(a)表示待膨胀的 img。 图(b)是核 kernel。 图©中的阴影部分是 kernel 在遍历 img 时kernel 中心像素点位于 img[1,1]、img[3,3] 时与前景色存在重合像素点的两种可能情况实际上共有 9 个这样的与前景对象重合的可能位置。核 kernel 的中心分别位于 img[1,1]、img[1,2]、img[1,3]、img[2,1]、img[2,2]、 img[2,3]、img[3,1]、img[3,2]或 img[3,3]时核内像素点都存在与前景图像重合的像素点。 图(d)是膨胀结果图像 rst。在 kernel 内当任意一个像素点与前景对象重合时其中心点所对应的膨胀结果图像内的像素点值的为 1当 kernel 与前景对象完全无重合时其中心点对应的膨胀结果图像内像素点的值为 0。 函数说明 在 OpenCV 内采用函数 cv2.dilate()实现对图像的膨胀操作该函数的语法结构为 dst cv2.dilate( src, kernel[, anchor[, iterations[, borderType[, borderValue]]]]) 式中 dst 代表膨胀后所输出的目标图像该图像和原始图像具有同样的类型和大小。src 代表需要进行膨胀操作的原始图像。图像的通道数可以是任意的但是要求图像的深度必须是 CV_8U、CV_16U、CV_16S、CV_32F、CV_64F 中的一种。element 代表膨胀操作所采用的结构类型。它可以自定义生成也可以通过函数cv2.getStructuringElement()生成。 参数 kernel、anchor、iterations、borderType、borderValue 与函数 cv2.erode()内相应参数的含义一致。 代码示例使用数组演示膨胀的基本原理 import cv2 import numpy as np imgnp.zeros((5,5),np.uint8) img[2:3,1:4]1 kernel np.ones((3,1),np.uint8) #对图像进行膨胀操作 dilation cv2.dilate(img,kernel) print(img\n,img) print(kernel\n,kernel) print(dilation\n,dilation)运行结果 img[[0 0 0 0 0][0 0 0 0 0][0 1 1 1 0][0 0 0 0 0][0 0 0 0 0]] kernel[[1][1][1]] dilation[[0 0 0 0 0][0 1 1 1 0][0 1 1 1 0][0 1 1 1 0][0 0 0 0 0]] 从本例中可以看到只要当核 kernel 的任意一点处于前景图像中时就将当前中心点所对应的膨胀结果图像内像素点的值置为 1。 示例2使用函数 cv2.dilate()完成图像膨胀操作。 代码如下; import cv2 import numpy as np ocv2.imread(dilation.bmp,cv2.IMREAD_UNCHANGED) kernel np.ones((9,9),np.uint8) dilation cv2.dilate(o,kernel) cv2.imshow(original,o) cv2.imshow(dilation,dilation) cv2.waitKey() cv2.destroyAllWindows()在本例中使用语句 kernelnp.ones((9,9),np.uint8)生成 9×9 的核来对原始图像进行膨胀操作。 运行结果 左图是原始图像右图是膨胀处理结果。从图中可以看到膨胀操作将原始图像“变粗”了。 示例3调节函数 cv2.dilate()的参数观察不同参数控制下的图像膨胀效果。 import cv2 import numpy as np ocv2.imread(dilation.bmp,cv2.IMREAD_UNCHANGED) kernel np.ones((5,5),np.uint8) dilation cv2.dilate(o,kernel,iterations 9) cv2.imshow(original,o) cv2.imshow(dilation, dilation) cv2.waitKey() cv2.destroyAllWindows()在本例中参数做了两个调整 核的大小变为 5×5。使用语句 iterations 9 对迭代次数进行控制让膨胀重复 9 次。 运行结果 左图是原始图像右图是膨胀处理结果。从图中 可以看到膨胀操作让原始图像实现了“生长”。在本例中由于重复了 9 次所以图像被膨胀得更严重了。 更多的操作自己多动手实验感受一下
http://www.hkea.cn/news/14377980/

相关文章:

  • 张家港建设银行网站网站制作计划书
  • 网站运营之怎样做好seo优化婚庆公司收费价格表
  • 海口 做网站哪个网站可以做优惠券
  • 网上商城网站开发报告高新区网站建设
  • 达州网站建设的公司典当行网站模板
  • 农业网站设计虚拟展馆官方网站建设
  • 建站后角度是不是0南宁开发公司
  • 鼠标放到一级导航时才显示网站二级导航 鼠标离开时不显示 怎么控制做网站需要服务器吗
  • 怎么样用ppt做网站音乐网站系统源码
  • 网站搬家教程怎么做souq网站
  • 太原专门做网站互联网法律服务平台
  • 乌镇网站建设标书常营网站建设公司
  • 网站更换百度点击优化
  • 贵州省城乡建设厅网站首页怎么用自己的网站做网页
  • 湖南网站开发公司做新年公告图片的网站
  • 企业做网站用dedeCMS免费吗app定制版
  • 利用vps做网站沈阳营销型网站设计教程
  • 响应式网站 分辨率桂阳网站定制
  • 阳泉住房和城乡建设部网站如何自己做直播网站
  • 本地生活网站建设客源软件哪个最好
  • 白沟网站建设wordpress分类下文章置顶
  • 保定网站制作系统网页升级访问网页导航
  • 著名网站有哪些个人做网站手机获取验证码
  • 餐饮品牌设计网站建设网站制作网页版
  • 自己做网站需不需要钱微信微网站开发报价单
  • 信息网站大全品牌建设服务合同
  • 网站开发如何洽谈客户做网站导航的
  • 房山 网站建设中信建设公司好进去吗
  • 烟台网站排名优化公司哪家好怪兽网站模板
  • 建设银行浙江网站卡密商城平台