扩充函数:

cv2.copyMakeBorder(img,top,bottom,left,right,mode)

填充图像边界的两种方法,也就是mode取值:

  1. BORDER_CONSTANT: 使用常数填充边界 (i.e. 黑色或者 )
  2. BORDER_REPLICATE: 复制原图中边界的行或者列。
  3. BORDER_REFLECT:复制边界区域的多行、多列像素

1.安照边界区域的像素翻折进行扩充

cv2.copyMakeBorder(img,50,50,50,50,cv2.BORDER_REPLICATE)

扩充结果:

2.常数填充

cv2.copyMakeBorder(img,50,50,50,50,cv2.BORDER_CONSTANT,value=[0,255,0])

3.根据图像的边界的像素值,向外扩充图片

在训练卷积网络时,经常需要对数据进行增强来提升模型的精度,下面使用扩充的办法可以对数据进行增强

标注的图片

下面对图片进行填充,但是注意每个文本都有标注框,扩充后需要对相应的标注框进行截断,还需要考虑角度问题,扩充后的效果如下:

cv2.copyMakeBorder(img,50,50,50,50,cv2.BORDER_REPLICATE)

假设扩充后的图片shape=(M,M,3),pt=np.array(shape=(4,2),np.uint8)

计算直线的斜率: k = (pt[1][1] - pt[0][1]) / (pt[1][0] - pt[0][0])

计算边界坐标:y = k*M + pt[1][1]-k1*pt[1][0]

通过这种方式进行扩充数据来对训练集进行数据增强,比较节省成本,尤其是文字比较少的情况下进行扩充能增加样本的复杂度

opencv边界扩充相关推荐

  1. OpenCV图像剪切的扩展和高级用法:任意裁剪,边界扩充

    OpenCV图像剪切的扩展和高级用法:任意裁剪,边界扩充 [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/details/78113325 ...

  2. OpenCV切割大图(边界扩充,全黑图剔除)

    针对分辨率万级以上的图片,无法直接打开,需切割后处理. 关键函数: 1.图片分割: Rect rect(x,y,width,height) 四个参数对应左上角x,y坐标,切割的宽和高 2.边界扩充:如 ...

  3. opencv边界识别

    opencv边界识别,输入是一个传送带上的物体,通过识别边界判断是哪个物体.方法还不是特别完善,判断物体的时候其实应该用周长和面积的比,但是已经没有问题了 #include<iostream&g ...

  4. opencv 扩大区域_python-----opencv图像边界扩充

    在对图片进行卷积处理的时候,如果卷积模版(卷积内核)过大,且不对原图的边界进行扩充,会导致处理之后得到的图片尺寸变的很小,也就是严重失真. 而扩充边界有多种方法,本文就介绍一下这些填充方法. 这是原始 ...

  5. OpenCV边界外推和边界处理

    卷积操作,滤波处理在边界时缺少相邻像素点计算出一个有效的结果,因此可以通过创建一个边框函数来给源图像周围添加虚拟像素 自定义一个边框 void copyMakeBorder( Inputarray s ...

  6. Java OpenCV copyMakeBorder边界填充

    函数说明 Core.copyMakeBorder(Mat src, Mat dst, int top, int bottom, int left, int right, int borderType, ...

  7. opencv源码解析之(6):hog源码分析

    一.网上一些参考资料     在博客目标检测学习_1(用opencv自带hog实现行人检测) 中已经使用了opencv自带的函数detectMultiScale()实现了对行人的检测,当然了,该算法采 ...

  8. 【youcans 的 OpenCV 例程200篇】114. 形态学操作之膨胀

    欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 [youcans 的 OpenCV 例程 2 ...

  9. 【youcans 的 OpenCV 例程200篇】113. 形态学操作之腐蚀

    欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 [youcans 的 OpenCV 例程 2 ...

最新文章

  1. 零基础学Java程序有什么好的建议
  2. Unicode/not set/multi-byte/部分常用函数
  3. Bit-Scalable Deep Hashing with Regularized Similarity Learning for Image Retrieval and Person Re-ide
  4. 直接用img 的src属性显示base64转码后的字符串成图片【原】
  5. redis面试精华指南pdf
  6. 软件测试人员:如何优秀的提Bug?
  7. 程序员过关斩将--少年派登录安全的奇幻遐想
  8. 自动计算高度的方法 iOS, height为0, 可以自动计算weith,
  9. monkey自动化测试移动app 操作指南——真机 安卓(Android)app测试
  10. VMware Workstation 8 技巧集
  11. disruptor小结--生产者代码
  12. EF的注解Annotation和Fluent API
  13. 057 生成器和生成器表达式
  14. 并发编程学习之阻塞队列ArrayBlockingQueue
  15. EndNote无法修改参考文献格式
  16. 聊一聊物联网嵌入式芯片的内容结构
  17. 《新唐书·李白传》原文及翻译
  18. 第1-6课:绘制箱线图、饼图和直方图
  19. 银耳椰椰——Alpha冲刺Day06
  20. xpwifi热点设置android,WinXP笔记本设置WiFi热点的方法

热门文章

  1. 日语自学资料-N5(免费下载)
  2. 升级 Mellanox ConnectX-3 EN 10/40 Gbps 网卡固件
  3. linux centos7以上的自带监控界面cockpit案例
  4. sfsfdgsdfg
  5. 第 35 届信息学奥林匹克竞赛(NOI 2018)二试赛题
  6. 方差、标准差、均方误差
  7. 如何在 Facebook 上实现高效社交营销
  8. 四分之一A4纸大小的相纸打印该怎么选择
  9. 关闭wps2019的屏保功能
  10. linux上设置别名alias(快速便捷打开文件)