【opencv】边界模式 borderMode

bordermMode 边界模式有如下几种

  • cv2.BORDER_CONSTANT 添加常数值为边界值,还需要指定另外一个参数 borderValue,borderValue默认值为(0, 0, 0),当然你可以指定其他值,三个元素分别表示 BGR(不是RGB,要注意哦)
  • cv2.BORDER_REPLICATE 重复最后一个元素。例如: aaaaaa| abcdefgh|hhhhhhh
  • cv2.BORDER_REFLECT 边界元素的镜像。比如: fedcba|abcdefgh|hgfedcb
  • cv2.BORDER_REFLECT_101 / cv2.BORDER_REFLECT101 / cv2.BORDER_DEFAULT 这三个效果一样,例如: gfedcb|abcdefgh|gfedcba
  • cv2.BORDER_WRAP 重复图片: cdefgh| abcdefgh|abcdefg
  • cv.BORDER_TRANSPARENT 原图像该位置的像素值
    【opencv】边界模式 borderMode

下面,我们应用在 图像的仿射变换,指定边界模式参数,看看实际效果如何

import cv2

src_img = cv2.imread('./LenaRGB.bmp')
rows, cols = src_img.shape[:2]

m = cv2.getRotationMatrix2D((cols/2, rows/2), 45, 0.6)
dst_img = cv2.warpAffine(src_img, m, (cols, rows), borderMode=cv2.BORDER_CONSTANT, borderValue=(123, 200, 100))

cv2.imshow('src_img', src_img)
cv2.imshow('BORDER_CONSTANT', dst_img)
cv2.waitKey()
cv2.destroyAllWindows()

【opencv】边界模式 borderMode

上面我们指定了 边界方式为 cv2.BORDER_CONSTANT,填充值(borderValue)为(123, 200, 100)

下面我们依次替换 边界方式的参数值,得到如下效果:(图像标题对应其 边界模式)

【opencv】边界模式 borderMode

官方文档地址:https://docs.opencv.org/4.0.0/d2/de8/group__core__array.html#gga209f2f4869e304c82d07739337eae7c5a886a5eb6b466854d63f9e742d5c8eefe

Original: https://blog.csdn.net/weixin_37804469/article/details/126727003
Author: Enzo 想砸电脑
Title: 【opencv】边界模式 borderMode

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/701925/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球