zoukankan      html  css  js  c++  java
  • python-opencv-图片的裁剪

    图像裁剪的基本概念 :

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

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

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

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

    图像裁剪的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)

    效果图:

    不规则分幅裁剪

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

  • 相关阅读:
    python 中 print函数的用法详解
    可转债操作一览
    Python基本数据类型
    python的列表
    理财的方法
    92、Multiple commands produce Info.plist 报错
    91、最新cocoaPods安装与使用
    90、引入头文件不提示
    89、instancetype和id的区别
    88、const、static、extern介绍
  • 原文地址:https://www.cnblogs.com/liming19680104/p/12205278.html
Copyright © 2011-2022 走看看