OpenCV--图像边界填充
程序员文章站
2024-03-21 23:18:40
...
OpenCV–图像边界填充
语法:
cv.copyMakeBorder(img,top, bottom, left, right ,borderType)
-
img
:需要填充的图像; -
top
:图像上边界需要填充的像素点; -
bottom
:图像下边界需要填充的像素点; -
left
:图像左边界需要填充的像素点; -
right
:图像右边界需要填充的像素点; -
borderType
:图像填充的方法。-
BORDER_REPLICATE
:复制法,也就是复制最边缘像素。 -
BORDER_REFLECT
:反射法,对感兴趣的图像中的像素在两边进行复制例如:fedcba|abcdefgh|hgfedcb -
BORDER_REFLECT_101
:反射法,也就是以最边缘像素为轴,对称,gfedcb|abcdefgh|gfedcba -
BORDER_WRAP
:外包装法abcdefgh|abcdefgh|abcdefg -
BORDER_CONSTANT
:常量法,常数值填充,需要在设置一个value值,已显示填充的颜色。
-
代码示例:
#边界填充
#cv.copyMakeBorder(img,top, bottom, left, right ,borderType)
top_size, bottom_size, left_size, right_size = (50, 50, 50, 50)
replicate = cv.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, cv.BORDER_REPLICATE)
reflect = cv.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, cv.BORDER_REFLECT)
reflect_101 = cv.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, cv.BORDER_REFLECT_101)
wrap = cv.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, cv.BORDER_WRAP)
constant = cv.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, cv.BORDER_CONSTANT)
#绘制子图
#plt.subplot(2, 3, 5) 和 plt.subplot(235) 是效果是一样的
plt.subplot(231), plt.imshow(img, 'gray'), plt.title('ORIGINAL')
plt.subplot(232), plt.imshow(replicate, 'gray'), plt.title("REPLICATE")
plt.subplot(233), plt.imshow(reflect, 'gray'), plt.title('REFLECT')
plt.subplot(234), plt.imshow(reflect_101, 'gray'), plt.title("REFLECT_101")
plt.subplot(235), plt.imshow(wrap, 'gray'), plt.title('WRAP')
plt.subplot(236), plt.imshow(constant, 'gray'), plt.title("CONSTANT")
plt.show()
上一篇: Git学习小结
下一篇: MySQL数据库学习笔记(3)
推荐阅读
-
OpenCV--图像边界填充
-
CorelDRAW X8对图像进行编辑填充多种方法
-
纯C++超分辨率重建SRCNN --改编--(五)卷积边界填充
-
HTML5 Canvas渐进填充与透明实现图像的Mask效果
-
HTML5 Canvas渐进填充与透明实现图像的Mask效果
-
AI给图像填充彩色渐变方法
-
CAD没有边界的图形怎么填充图案?
-
canvas实现图像布局填充功能
-
荐 【图像处理】——实现二值图像的轮廓边界跟踪以及轮廓面积周长的求解(connectedComponentsWithStats()函数和connectedComponents()函数)
-
Matlab图像剪切,超出图像区域指定颜色填充