opencv之为图像添加边界的方法示例


Posted in Python onDecember 26, 2019

我们经常会有对图像边缘做扩展的需求.比如

希望卷积后得到的矩阵大小不变希望改变图像大小,但是不改变宽高比opencv实现

opencv中使用copyMakeBorder()来完成这一功能

api

opencv之为图像添加边界的方法示例

  1. src是原图像矩阵
  2. dst是新图像矩阵
  3. top/bottom/left/right是边界扩展的大小(比如5就代表5个像素)
  4. borderType
  5. 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()

效果如下:

opencv之为图像添加边界的方法示例

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
解决python3 json数据包含中文的读写问题
May 10 Python
Django框架模板介绍
Jan 15 Python
python给微信好友定时推送消息的示例
Feb 20 Python
python批量下载抖音视频
Jun 17 Python
简单了解python的一些位运算技巧
Jul 13 Python
python内存管理机制原理详解
Aug 12 Python
Python函数的返回值、匿名函数lambda、filter函数、map函数、reduce函数用法实例分析
Dec 26 Python
pyftplib中文乱码问题解决方案
Jan 11 Python
matlab中imadjust函数的作用及应用举例
Feb 27 Python
Python sorted排序方法如何实现
Mar 31 Python
Pycharm自带Git实现版本管理的方法步骤
Sep 18 Python
python中编写函数并调用的知识点总结
Jan 13 Python
Python 过滤错误log并导出的实例
Dec 26 #Python
python3 pathlib库Path类方法总结
Dec 26 #Python
python3实现在二叉树中找出和为某一值的所有路径(推荐)
Dec 26 #Python
Pytorch中Tensor与各种图像格式的相互转化详解
Dec 26 #Python
基于h5py的使用及数据封装代码
Dec 26 #Python
python深copy和浅copy区别对比解析
Dec 26 #Python
详解python opencv、scikit-image和PIL图像处理库比较
Dec 26 #Python
You might like
Smarty模板学习笔记之Smarty简介
2014/05/20 PHP
ThinkPHP3.2.3数据库设置新特性
2015/03/05 PHP
无需数据库在线投票调查php代码
2016/07/20 PHP
mysql alter table命令修改表结构实例详解
2016/09/24 PHP
PHP实现对xml进行简单的增删改查(CRUD)操作示例
2017/05/19 PHP
使用XHProf查找PHP性能瓶颈的实例
2017/12/13 PHP
翻译整理的jQuery使用查询手册
2007/03/07 Javascript
用JavaScript实现仿Windows关机效果
2007/03/10 Javascript
一个简单的JavaScript数据缓存系统实现代码
2010/10/24 Javascript
基于JQuery实现的类似购物商城的购物车
2011/12/06 Javascript
jQuery Validate 验证,校验规则写在控件中的具体实例
2014/02/27 Javascript
JS实现向表格行添加新单元格的方法
2015/03/30 Javascript
学习jQuey中的return false
2015/12/18 Javascript
原生js获取元素样式的简单方法
2016/08/06 Javascript
jquery插件bootstrapValidator数据验证详解
2016/11/09 Javascript
Javascript 数组去重的方法(四种)详解及实例代码
2016/11/24 Javascript
初识NodeJS服务端开发入门(Express+MySQL)
2017/04/07 NodeJs
vue中可编辑树状表格的实现代码
2020/10/31 Javascript
[02:38]DOTA2亚洲邀请赛 IG战队巡礼
2015/02/03 DOTA
Python中的复制操作及copy模块中的浅拷贝与深拷贝方法
2016/07/02 Python
Python中的defaultdict与__missing__()使用介绍
2018/02/03 Python
pandas 两列时间相减换算为秒的方法
2018/04/20 Python
Linux下安装python3.6和第三方库的教程详解
2018/11/09 Python
在python环境下运用kafka对数据进行实时传输的方法
2018/12/27 Python
python 获得任意路径下的文件及其根目录的方法
2019/02/16 Python
python-tkinter之按钮的使用,开关方法
2019/06/11 Python
python画图——实现在图上标注上具体数值的方法
2019/07/08 Python
python实现人脸签到系统
2020/04/13 Python
Python中使用threading.Event协调线程的运行详解
2020/05/02 Python
遮罩层 + Iframe实现界面自动显示的示例代码
2020/04/26 HTML / CSS
元旦晚会邀请函
2014/02/01 职场文书
初中作文评语大全
2014/04/23 职场文书
文体活动总结范文
2014/05/05 职场文书
改进作风怎么办发言材料
2014/08/17 职场文书
离婚起诉书范文2016
2015/11/26 职场文书
关于Python OS模块常用文件/目录函数详解
2021/07/01 Python