opencv之为图像添加边界的方法示例
作者:core! 时间:2022-03-25 03:37:20
我们经常会有对图像边缘做扩展的需求.比如
希望卷积后得到的矩阵大小不变希望改变图像大小,但是不改变宽高比opencv实现
opencv中使用copyMakeBorder()来完成这一功能
api
src是原图像矩阵
dst是新图像矩阵
top/bottom/left/right是边界扩展的大小(比如5就代表5个像素)
borderType
value是扩充的像素填什么值
borderType分两种:
BORDER_CONSTANT
边缘填充用固定像素值,比如填充黑边,就用0,白边255
BORDER_REPLICATE
用原始图像相应的边缘的像素去做填充,看起来有一种把图像边缘"拉糊了"的效果
opencv示例
import sys
import cv2 as cv
def test():
src = cv.imread("/home/sc/disk/keepgoing/opencv_test/lights.jpeg")
top = int(0.05 * src.shape[0]) # shape[0] = rows
bottom = top
left = int(0.04 * src.shape[1]) # shape[1] = cols
right = left
value = [0,0,0]
borderType = cv.BORDER_CONSTANT
dst1 = cv.copyMakeBorder(src, top, bottom, left, right, borderType, None, value)
borderType = cv.BORDER_REPLICATE
dst2 = cv.copyMakeBorder(src, top, bottom, left, right, borderType, None, value)
cv.imshow("blackborder",dst1)
cv.imshow("BORDER_REPLICATE",dst2)
if 27 == cv.waitKey():
cv.destroyAllWindows()
test()
效果如下:
来源:https://www.cnblogs.com/sdu20112013/p/11643420.html
标签:opencv,图像,边界


猜你喜欢
Python中dumps与dump及loads与load的区别
2021-10-01 09:13:20
perl 文件操作总结
2023-07-07 07:17:38
详解model.train()和model.eval()两种模式的原理与用法
2021-03-20 08:46:56
Jinja2过滤器的使用、控制语句示例详解
2023-01-30 19:02:00

Python实现画图软件功能方法详解
2023-08-29 06:35:49

graphql---go http请求使用详解
2024-02-07 08:11:56
在python中读取和写入CSV文件详情
2021-01-21 22:34:51

matplotlib 三维图表绘制方法简介
2023-08-06 00:06:52

python pip安装的包目录(site-packages目录的位置)
2022-08-23 13:20:38
Python中实现单例模式的n种方式和原理
2021-01-07 20:45:58
vue实际运用之vuex持久化详解
2024-05-09 15:15:50

python实现固定尺寸图像拼接
2021-12-16 20:27:01

asp如何制作一个简单的翻页程序?
2010-06-29 21:26:00
Go Generate 代替 Makefile使用方法详解
2024-04-27 15:28:18
JavaScript 字符串连接性能优化
2024-05-11 09:35:53
PHP错误Allowed memory size of 67108864 bytes exhausted的3种解决办法
2024-03-15 18:25:42
python字典进行运算原理及实例分享
2023-02-16 14:17:14
关于python环境变量如何配置
2023-06-02 14:23:09

JS实现淘宝支付宝网站的控制台菜单效果
2023-07-22 22:26:12

Python递归实现打印多重列表代码
2023-05-28 10:38:32