• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    OpenCV半小时掌握基本操作之边界填充

    【OpenCV】⚠️高手勿入! 半小时学会基本操作⚠️边界填充

    概述

    OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大. 今天小白就带大家一起携手走进 OpenCV 的世界.

    边界填充

    cv2.copyMakeBorder可以帮助我们实现边界填充.

    格式:

    cv.copyMakeBorder(img,top, bottom, left, right ,borderType)
    

    参数:

    原图:

    复制法

    复制法: 复制最边缘像素.

    例子:

    # 读取图片
    img = cv2.imread("picture2.jpg")
    
    # 填充像素
    top_size = 50
    bottom_size = 50
    left_size = 50
    right_size = 50
    
    # Replicate (复制法)
    replicate = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, borderType=cv2.BORDER_REPLICATE)
    cv2.imshow("replicate", replicate)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    

    输出结果:

    反射法

    反射法, 对图像边缘像素进行反射.

    例子:

    # 读取图片
    img = cv2.imread("picture2.jpg")
    
    # 填充像素
    top_size = 50
    bottom_size = 50
    left_size = 50
    right_size = 50
    
    # Reflect (反射法)
    reflect = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_REFLECT)
    cv2.imshow("reflect", reflect)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    

    输出结果:

    反射法 101

    反射法 101, 以边界为中心点, 对图像边缘像素进行反射.

    代码:

    # 填充像素
    top_size = 50
    bottom_size = 50
    left_size = 50
    right_size = 50
    
    # Reflect101 (反射法101)
    reflect101 = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_REFLECT_101)
    cv2.imshow("reflect101", reflect101)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    

    输出结果:

    注: BORDER_REFLECT_101BORDER_REFLECT的区别是, BORDER_REFLECT_101以边界为中心反射扩充.

    外包法

    外包法: 用相反位置对图片进行包裹.

    代码:

    # 读取图片
    img = cv2.imread("picture2.jpg")
    
    # 填充像素
    top_size = 50
    bottom_size = 50
    left_size = 50
    right_size = 50
    
    # wrap (外包方法)
    wrap = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_WRAP)
    cv2.imshow("wrap", wrap)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    

    输出结果:

    常量法

    常量法: 用常数值填充. 需要设置一个 value 值,代表填充的颜色.

    代码:

    # 读取图片
    img = cv2.imread("picture2.jpg")
    
    # 填充像素
    top_size = 50
    bottom_size = 50
    left_size = 50
    right_size = 50
    
    # constant (常量法)
    constant = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_CONSTANT, value=0)
    cv2.imshow("constant", constant)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    
    cv2.imwrite("constant.jpg", constant)
    

    调试输出:

    到此这篇关于OpenCV半小时掌握基本操作之边界填充的文章就介绍到这了,更多相关OpenCV边界填充内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • OpenCV半小时掌握基本操作之分水岭算法
    • OpenCV半小时掌握基本操作之傅里叶变换
    • OpenCV半小时掌握基本操作之图像轮廓
    • OpenCV半小时掌握基本操作之直方图
    • OpenCV半小时掌握基本操作之模板匹配
    • OpenCV半小时掌握基本操作之圆圈检测
    • OpenCV半小时掌握基本操作之对象测量
    上一篇:OpenCV半小时掌握基本操作之图像裁剪融合
    下一篇:OpenCV半小时掌握基本操作之图像基础操作
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    OpenCV半小时掌握基本操作之边界填充 OpenCV,半小时,掌握,基本操作,