zoukankan      html  css  js  c++  java
  • python-----opencv图像边界扩充

    在对图片进行卷积处理的时候,如果卷积模版(卷积内核)过大,且不对原图的边界进行扩充,会导致处理之后得到的图片尺寸变的很小,也就是严重失真。

    而扩充边界有多种方法,本文就介绍一下这些填充方法。

    1. 这是原始图像。

      怎么扩充图像的边界(python-opencv)?
       
       
    2.  根据图像的边界的像素值,向外扩充图片,每个方向扩充50个像素。

      a = cv2.copyMakeBorder(img,50,50,50,50,cv2.BORDER_REPLICATE)

      怎么扩充图像的边界(python-opencv)?
       
       
    3.  把靠近边界的50个像素翻折出去(轴对称):

      a = cv2.copyMakeBorder(img,50,50,50,50,cv2.BORDER_REFLECT)

      怎么扩充图像的边界(python-opencv)?
       
       
    4.  这是另一种折射:

      a = cv2.copyMakeBorder(img,50,50,50,50,cv2.BORDER_REFLECT_101)

      不知道有什么区别。

      怎么扩充图像的边界(python-opencv)?
       
       
    5. 常数填充:

      a = cv2.copyMakeBorder(img,50,50,50,50,cv2.BORDER_CONSTANT,value=[0,255,0])

      怎么扩充图像的边界(python-opencv)?
       
       
    6. a = cv2.copyMakeBorder(img,50,50,50,50,cv2.BORDER_WRAP)

      怎么扩充图像的边界(python-opencv)?

      假设src为以下矩阵

      

      我们首先只在一个方向上,讨论,例如 top方向:

      top =5 或者 10, bottom =0,left 0,right =0;注意我们这里故意让top的值,大于 src的rows,即行数。查看结果

      borderType = BORDER_REFLECT:反射

      

      解释:当按BORDER_REFLECT,向上给src加边界时,是按照src的反射机制来加的。
      borderType = BORDER_REPLICATE:复制

      

       

      解释:当BORDER_REPLICATE时,代表只复制边界。

      当left=5,bottom =5时,

      

      BORDER_TYPE = BORDER_REFLECT_101:

      

      解释:101,已经表明 0不参加反射机制。也即是以第一行为镜面,做反射

      示例代码:

      

    import cv2
    pic_path = r'F:	emp	emp_0807diffcoco_0717JPEGImages00000049901.jpg'
    img = cv2.imread(pic_path)
    tar_img = cv2.copyMakeBorder(img,0,50,0,50,cv2.BORDER_CONSTANT,value=[0,0,0])
    cv2.imwrite(pic_path,tar_img)

      原文链接:https://jingyan.baidu.com/article/e73e26c096074e24adb6a736.html

      原文链接:https://blog.csdn.net/zhangping1987/article/details/51141658

  • 相关阅读:
    我用到的存储过程
    yii2图片处理扩展yii2-imagine的使用
    yii2——自定义widget
    YII2之 Scenario
    PHP获取某月天数
    docker版wordpress
    RBAC中 permission , role, rule 的理解
    mysql开启远程连接
    windows系统和ubuntu虚拟机之间文件共享——samba
    php生成随机字符串
  • 原文地址:https://www.cnblogs.com/xiaodai0/p/11589881.html
Copyright © 2011-2022 走看看