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脚本生成Android SALT扰码的方法
Sep 18 Python
python爬虫教程之爬取百度贴吧并下载的示例
Mar 07 Python
python增加矩阵维度的实例讲解
Apr 04 Python
详解Django中间件的5种自定义方法
Jul 26 Python
Python Unittest根据不同测试环境跳过用例的方法
Dec 16 Python
浅谈python标准库--functools.partial
Mar 13 Python
Python应用领域和就业形势分析总结
May 14 Python
python集合是否可变总结
Jun 20 Python
Python中请不要再用re.compile了
Jun 30 Python
Jupyter notebook无法导入第三方模块的解决方式
Apr 15 Python
Python利用matplotlib绘制折线图的新手教程
Nov 05 Python
python 如何执行控制台命令与操作剪切板
May 20 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中运用jQuery的Ajax跨域调用实现代码
2012/02/21 PHP
YII模块实现绑定二级域名的方法
2014/07/09 PHP
php生成毫秒时间戳的实例讲解
2017/09/22 PHP
tp5框架无刷新分页实现方法分析
2019/09/26 PHP
Convert Seconds To Hours
2007/06/16 Javascript
javascript之querySelector和querySelectorAll使用说明
2011/10/09 Javascript
css值转换成数值请抛弃parseInt
2011/10/24 Javascript
jQuery建立一个按字母顺序排列的友好页面索引(兼容IE6/7/8)
2013/02/26 Javascript
jQuery文件上传插件Uploadify使用指南
2014/06/05 Javascript
JavaScript中数组的合并以及排序实现示例
2015/10/24 Javascript
JavaScript与ActionScript3两者的同性与差异性
2016/09/22 Javascript
AngularJS ng-repeat数组有重复值的解决方法
2016/10/23 Javascript
微信小程序动态添加分享数据
2017/06/14 Javascript
jQuery中each方法的使用详解
2018/03/18 jQuery
学习Vue组件实例
2018/04/28 Javascript
jQuery UI实现动画效果代码分享
2018/08/19 jQuery
vue配置接口域名方法总结
2019/05/12 Javascript
JS字符串与二进制的相互转化实例代码详解
2019/06/28 Javascript
JavaScript对象原型链原理解析
2020/01/22 Javascript
vue-cli设置css不生效的解决方法
2020/02/07 Javascript
Vue js with语句原理及用法解析
2020/09/03 Javascript
Python中getattr函数和hasattr函数作用详解
2016/06/14 Python
Python数据结构与算法之图的基本实现及迭代器实例详解
2017/12/12 Python
Python面向对象类的继承实例详解
2018/06/27 Python
Python搭建代理IP池实现接口设置与整体调度
2019/10/27 Python
python基于K-means聚类算法的图像分割
2019/10/30 Python
Python 写了个新型冠状病毒疫情传播模拟程序
2020/02/14 Python
keras 获取某层输出 获取复用层的多次输出实例
2020/05/23 Python
美国珠宝精品店:Opulent Jewelers
2019/08/20 全球购物
教师新年寄语
2014/04/03 职场文书
小学班主任培训方案
2014/06/04 职场文书
洗手间标语
2014/06/23 职场文书
指导老师鉴定意见
2015/06/05 职场文书
《1942》观后感
2015/06/08 职场文书
政协常委会议主持词
2015/07/03 职场文书
运动会广播稿50字
2015/08/19 职场文书