python 图像cropping padding

最近使用好几个算法都碰到了关于图像size的报错:

RuntimeError: The size of tensor a (588) must match the size of tensor b (587) at non-singleton dimension 2

这个是由于在卷积过程中,当stride为2时,有个向下取整的过程,所以如果图像的size是奇数的话就会导致前后的size不同。所以如果有N层卷积层,那么要保证图像的size是2^N的整数倍。
这个时候就需要resize了。
这里使用的是skimage和cv2。PIL读取的图像格式不同,所以这里没有使用。如果使用的是PIL的话,使用torchvision.transforms模块也是很便捷的(torchvision.transforms.CenterCrop(Size)等)。
以4层卷积层为例,则图像需要为16的倍数。

import cv2
import numpy as np
from skimage.io import imread, imsave

Cropping:

input_image = imread(input_dir)
size=input_image.shape
h=size[0]
w=size[1]
new_w=int(w/16)*16
new_h=int(h/16)*16
i=h-new_h
j=w-new_w
cropImg = input_image[int(i/2):int(h-i/2), int(j/2):int(w-j/2)]#CenterCrop

Padding:

padImg = cv2.copyMakeBorder(input_image, top, bottom, left, right, cv2.BORDER_CONSTANT, value = 0)#上下左右要填补的像素数量,数值为0(黑边)

python 图像cropping padding(skimage cv2)相关推荐

  1. python 图像无缝拼接,OpenCV Python 系列教程3 - Core 组件

    基本知识 灰度图像的存储方式: image 多通道图像存储方式 image OpenCV 中的通道存储为 BGR 像素值的存储方式 RGB 模式,显示设备采用这种模式 HSV.HLS 将颜色分解成色调 ...

  2. 【Tool】Augmentor和imgaug——python图像数据增强库

    Augmentor和imgaug--python图像数据增强库 Tags: ComputerVision Python 介绍两个图像增强库:Augmentor和imgaug,Augmentor使用比较 ...

  3. python图像增强_【Tool】Augmentor和imgaug——python图像数据增强库

    Augmentor和imgaug--python图像数据增强库 Tags: ComputerVision Python 介绍两个图像增强库:Augmentor和imgaug,Augmentor使用比较 ...

  4. Python图像去雾

    ** Python图像去雾 ** 引言: 在过去的几十年中,单图像去雾作为基本的低级视觉任务已引起了计算机视觉社区和人工智能公司的越来越多的关注.其中最为典型的便是北大&北航提出FFA-Net ...

  5. python 连通区域_python skimage 连通性区域检测方法

    python skimage 连通性区域检测方法 涉及到的函数为 import matplotlib.pyplot as plt from skimage import measure, color ...

  6. python怎么计算图像梯度_opencv python图像梯度实例详解

    这篇文章主要介绍了opencv python图像梯度实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一阶导数与Soble算子 二阶导数与拉普 ...

  7. 【OpenCV 例程200篇】30. 图像的缩放(cv2.resize)

    [OpenCV 例程200篇]30. 图像的缩放(cv2.resize) 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新 ...

  8. 【OpenCV 例程200篇】29. 图像的翻转(cv2.flip)

    [OpenCV 例程200篇]29. 图像的翻转(cv2.flip) 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 ...

  9. 【OpenCV 例程200篇】09. 图像的裁剪(cv2.selectROI)

    [OpenCV 例程200篇]09. 图像的裁剪(cv2.selectROI) 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持 ...

最新文章

  1. 未来脑机接口的电极”衣服”可能长这样,你会喜欢吗?
  2. AWS 云技术专栏系列文章
  3. Git使用汇总之暂存区工作区撤销和删除
  4. 微信小程序之wx:if视图层的条件渲染
  5. anaconda tensorflow 2.3_2020款福特撼路者将于7月17日上市 动力升级/搭载2.3T+10AT
  6. HttpClient和DefaultHttpClient
  7. 注意满足循环终止条件时counter是否仍在+1(记洛谷P1035WA的经历,Java语言描述)
  8. 使用Jenkins配置自动化构建
  9. Linux系统中的CPU利用率
  10. 关于C/C++程序的一些规范(2005-5-10)
  11. 语音专题第四讲,语音识别之解码器技术简介|大牛讲堂
  12. bootstrap基础样式学习(二)——栅格
  13. python中、既可以将数据通过print_整理了8个Python中既冷门又实用的技巧
  14. php中没有 simhei.ttf,linux虚拟主机jpgraph找不到simhei.ttf字体
  15. windows server2003/R2 安装IIS6(asp.net)
  16. 游戏编程所需要的知识
  17. 2020最新广告法_2020最新广告法全文解读
  18. 服务器地图自动刷新,怀旧服新版黑莲花全地图刷新点一览 插件数据已更新
  19. 华为手机linux终端,华为云IoT如何让“哑”终端进化为智能终端?看完这场直播你就明白了...
  20. 打开任务管理器的多种方法

热门文章

  1. Waymo发新车视频庆祝路测里程达1000万英里
  2. Waymo自动驾驶车每天行驶25000英里,但CEO却告诉我们距离成功还远
  3. unknown action type: xxx
  4. 全国计算机2014年等级考试,2014年全国计算机等级考试
  5. 化繁为简|AIRIOT智慧水务信息化建设解决方案
  6. MCGS触摸屏的使用
  7. app显示机智云服务器图片,【图片】【使用指南】机智云FAQ文档【gokit吧】_百度贴吧...
  8. HTML相关知识点总结
  9. win10系统打不开计算机管理,win10任务管理器打不开如何处理_win10任务管理器打不开的解决办法...
  10. 城市大脑英文论文在2018 IEEE CCSWD会议发表