栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python图片读写方式之OpenCV 图像边界填充

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python图片读写方式之OpenCV 图像边界填充

cv2.copyMakeBorder(src,top, bottom, left, right ,borderType,value)

参数解释:

  • src:原图像
  • top,bottem,left,right:分别表示四个方向上边界的长度
  • borderType:边界的类型
  • value:如果borderType为cv2.BORDER_CONSTANT时需要填充的常数值
borderType解释
cv2.BORDER_CONSTANT固定值填充,value为颜色值
cv2.BORDER_REFLECT边界元素的镜像,填充的边界与原图像边界对称,成镜像,fedcba
cv2.BORDER_DEFAULT边界元素的镜像,填充的边界与原图像边界(忽略第一个元素)对称,成镜像,gfedcb
cv2.BORDER_REPLICATE用原图像边界的第一个元素进行填充,aaaaa
cv2.BORDER_WRAP取上下左右相反的镜像
import cv2
import numpy as np
import matplotlib.pyplot as plt

img = cv2.imread('sugar.jpg')

## 画图
def draw_img(i,img,title):
    plt.subplot(2,3,i)
    plt.imshow(img)
    plt.axis('off')
    plt.title(title)
    
## BGR转RGB
img_rgb = cv2.cvtColor(img_rgb,cv2.COLOR_BGR2RGB)

## 边界填充
constant = cv2.copyMakeBorder(img_rgb, 100, 100, 100, 100, cv2.BORDER_CONSTANT, value=[255, 0, 0])

reflect = cv2.copyMakeBorder(img_rgb, 100, 100, 100, 100, cv2.BORDER_REFLECT)

default = cv2.copyMakeBorder(img_rgb, 100, 100, 100, 100, cv2.BORDER_DEFAULT)

replicate = cv2.copyMakeBorder(img_rgb, 100, 100, 100, 100, cv2.BORDER_REPLICATE)

wrap = cv2.copyMakeBorder(img_rgb, 100, 100, 100, 100, cv2.BORDER_WRAP)

## 画图
draw_img(1,img_rgb,'original')
draw_img(2,constant,'constant')
draw_img(3,reflect,'reflect')
draw_img(4,default,'default')
draw_img(5,replicate,'replicate')
draw_img(6,wrap,'wrap')
plt.show()

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/445404.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号