python通过opencv实现图片裁剪原理解析


Posted in Python onJanuary 19, 2020

这篇文章主要介绍了python通过opencv实现图片裁剪原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

图像裁剪的基本概念 :
图像裁剪是指将图像中我们想要的研究区以外的区域去除,经常是按照行政区划或研究区域的边界对图像进行裁剪。例如,一张500×400的图像,我们只想要中间的250×200的区域,就可以使用图像裁剪将四周的区域去除。

在实际开发工作中,我们经常需要对图像进行分幅裁剪,按照ERDAS实际图像分幅裁剪的过程,可以将图像分幅裁剪分为规则分幅裁剪和不规则分幅裁剪两种类型。

规则分幅裁剪:指裁剪图像的边界范围是一个矩形。裁剪时只需要通过左上角和右下角两点的坐标,就可以确定图像的裁剪位置。

不规则分幅裁剪:指裁剪图像的边界范围是任意多边形,裁剪时必须首先生成一个完整的闭合多边形区域。

图像裁剪的OpenCV实现

规则分幅裁剪:

python通过opencv实现图片裁剪原理解析

在OpenCV中,图像被看成矩阵数据,我们将图像视为多维list,因为规则分幅裁剪的边界范围是一个矩形,所以我们可以根据列表切片来实现图像的规则分幅裁剪。现在,我们来实现将500×400的图像中间的250×200的区域裁剪出来。

计算图如下:

import cv2
img = cv2.imread("500x400.jpg")
img1=img[100:300,125:375] #需要保留的区域--裁剪
#参数1 是高度的范围,参数2是宽度的范围

cv2.imwrite("linsi.jpg",img1)
cv2.waitKey(0)

效果图:

python通过opencv实现图片裁剪原理解析

不规则分幅裁剪

对于不规则分幅裁剪,首先得生成一个完整的闭合多边形区域。假设我们现在要将图像裁剪成一个圆形图像,那么我们就得首先生成一个圆形。OpenCV中为我们提供了专门用于画圆形图的方法circle

,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值

Python 相关文章推荐
python del()函数用法
Mar 24 Python
Django实现组合搜索的方法示例
Jan 23 Python
Python3.6实现连接mysql或mariadb的方法分析
May 18 Python
tensorflow 输出权重到csv或txt的实例
Jun 14 Python
对python 匹配字符串开头和结尾的方法详解
Oct 27 Python
python3实现多线程聊天室
Dec 12 Python
selenium+python自动化测试之环境搭建
Jan 23 Python
Pandas之Dropna滤除缺失数据的实现方法
Jun 25 Python
pymysql模块的使用(增删改查)详解
Sep 09 Python
python OpenCV GrabCut使用实例解析
Nov 11 Python
Python selenium环境搭建实现过程解析
Sep 08 Python
浅析python 字典嵌套
Sep 29 Python
Python 一行代码能实现丧心病狂的功能
Jan 18 #Python
Python语法之精妙的十个知识点(装B语法)
Jan 18 #Python
Pytorch 实现数据集自定义读取
Jan 18 #Python
使用pytorch搭建AlexNet操作(微调预训练模型及手动搭建)
Jan 18 #Python
selenium 多窗口切换的实现(windows)
Jan 18 #Python
pytorch实现建立自己的数据集(以mnist为例)
Jan 18 #Python
使用PyTorch实现MNIST手写体识别代码
Jan 18 #Python
You might like
php递归列出所有文件和目录的代码
2008/09/10 PHP
php文件怎么打开 如何执行php文件
2011/12/21 PHP
PHP版网站缓存加快打开速度的方法分享
2012/06/03 PHP
Zend Framework教程之Zend_Config_Ini用法分析
2016/03/23 PHP
php实现xml转换数组的方法示例
2017/02/03 PHP
Yii2实现中国省市区三级联动实例
2017/02/08 PHP
PHP处理bmp格式图片的方法分析
2017/07/04 PHP
CLASS_CONFUSION JS混淆 全源码
2007/12/12 Javascript
从jQuery.camelCase()学习string.replace() 函数学习
2011/09/13 Javascript
javascript中CheckBox全选终极方案
2015/05/20 Javascript
node.js+express制作网页计算器
2016/01/17 Javascript
jQuery animate和CSS3相结合实现缓动追逐效果附源码下载
2016/04/18 Javascript
分享javascript实现的冒泡排序代码并优化
2016/06/05 Javascript
Three.js学习之网格
2016/08/10 Javascript
nodejs搭建本地服务器轻松解决跨域问题
2018/03/21 NodeJs
vue插件开发之使用pdf.js实现手机端在线预览pdf文档的方法
2018/07/12 Javascript
详解webpack打包nodejs项目(前端代码)
2018/09/19 NodeJs
Nodejs中使用puppeteer控制浏览器中视频播放功能
2019/08/26 NodeJs
jQuery插件simplePagination的使用方法示例
2020/04/28 jQuery
Vue + element 实现多选框组并保存已选id集合的示例代码
2020/06/03 Javascript
Python Web框架Pylons中使用MongoDB的例子
2013/12/03 Python
Python实现的批量下载RFC文档
2015/03/10 Python
Python使用Turtle模块绘制五星红旗代码示例
2017/12/11 Python
python实现自动获取IP并发送到邮箱
2018/12/26 Python
浅谈Scrapy网络爬虫框架的工作原理和数据采集
2019/02/07 Python
django连接oracle时setting 配置方法
2019/08/29 Python
Pandas —— resample()重采样和asfreq()频度转换方式
2020/02/26 Python
Python读取文件内容为字符串的方法(多种方法详解)
2020/03/04 Python
用HTML5制作数字时钟的教程
2015/05/11 HTML / CSS
领先的钻石和订婚戒指零售商:Diamonds-USA
2016/12/11 全球购物
英语专业毕业生自荐信
2013/10/28 职场文书
总经理驾驶员岗位职责
2013/12/04 职场文书
新闻工作者先进事迹
2014/05/26 职场文书
自我检讨书范文
2015/01/28 职场文书
2020年基层司法所建设情况调研报告
2019/11/30 职场文书
python异常中else的实例用法
2021/06/15 Python