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 相关文章推荐
Python使用xlrd模块操作Excel数据导入的方法
May 26 Python
Python pickle模块用法实例分析
May 27 Python
python中私有函数调用方法解密
Apr 29 Python
python下载图片实现方法(超简单)
Jul 21 Python
python在html中插入简单的代码并加上时间戳的方法
Oct 16 Python
Python爬虫beautifulsoup4常用的解析方法总结
Feb 25 Python
使用python快速实现不同机器间文件夹共享方式
Dec 22 Python
Python通过Tesseract库实现文字识别
Mar 05 Python
python输出第n个默尼森数的实现示例
Mar 08 Python
mac 上配置Pycharm连接远程服务器并实现使用远程服务器Python解释器的方法
Mar 19 Python
Django多数据库配置及逆向生成model教程
Mar 28 Python
解决pycharm导入本地py文件时,模块下方出现红色波浪线的问题
Jun 01 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
使用PHP求两个文件的相对路径
2013/06/20 PHP
PHP以mysqli方式连接类完整代码实例
2014/07/15 PHP
php实现按天数、星期、月份查询的搜索框
2016/05/02 PHP
2017年最新PHP经典面试题目汇总(上篇)
2017/03/17 PHP
PHP调用API接口实现天气查询功能的示例
2017/09/21 PHP
jQuery获取Select选择的Text和Value(详细汇总)
2013/01/25 Javascript
Jquery 动态生成表格示例代码
2013/12/24 Javascript
js类式继承的具体实现方法
2013/12/31 Javascript
JQuery处理json与ajax返回JSON实例代码
2014/01/03 Javascript
JS实现鼠标点击展开或隐藏表格行的方法
2015/03/03 Javascript
javascript:void(0)是什么意思及href=#与href=javascriptvoid(0)的区别
2015/11/13 Javascript
jQuery获取Table某列的值(推荐)
2017/03/03 Javascript
微信小程序 侧滑删除(左滑删除)
2017/05/23 Javascript
jq.ajax+php+mysql实现关键字模糊查询(示例讲解)
2018/01/02 Javascript
世界上最短的数字判断js代码
2019/09/09 Javascript
基于JavaScript 实现拖放功能
2019/09/12 Javascript
微信小程序实现星级评价
2019/11/20 Javascript
JavaScript设计模式之观察者模式与发布订阅模式详解
2020/05/07 Javascript
Nodejs环境实现socket通信过程解析
2020/07/03 NodeJs
vue移动端弹起蒙层滑动禁止底部滑动操作
2020/07/22 Javascript
React Ant Design树形表格的复杂增删改操作
2020/11/02 Javascript
python实现从网络下载文件并获得文件大小及类型的方法
2015/04/28 Python
Python的多态性实例分析
2015/07/07 Python
Python将多个excel文件合并为一个文件
2018/01/03 Python
详解Python最长公共子串和最长公共子序列的实现
2018/07/07 Python
Python语法之精妙的十个知识点(装B语法)
2020/01/18 Python
Pytorch 使用不同版本的cuda的方法步骤
2020/04/02 Python
django 解决model中类写不到数据库中,数据库无此字段的问题
2020/05/20 Python
使用bandit对目标python代码进行安全函数扫描的案例分析
2021/01/27 Python
大学生2014全国两会学习心得体会
2014/03/10 职场文书
二年级学生评语大全
2014/04/23 职场文书
文体活动总结范文
2014/05/05 职场文书
房地产端午节活动方案
2014/08/24 职场文书
领导干部作风整顿个人剖析材料
2014/10/11 职场文书
民主评议党员个人自我评价
2015/03/03 职场文书
《唯一的听众》教学反思
2016/02/18 职场文书