python openvc 裁剪、剪切图片 提取图片的行和列

yipeiwu_com5年前Python基础

python openvc 裁剪图片

下面是4个坐标代码:

import cv2
#裁剪图片路径input_path,四个裁剪坐标为:y1,y2,x1,x2,保存剪裁后的图片路径output_path
def cut_img(input_path,y1,y2,x1,x2,output_path):
 #读图片cv2.IMREAD_UNCHANGED:读入完整图片,包括alpha通道
  img = cv2.imread(input_path,cv2.IMREAD_UNCHANGED)
  #剪裁图片img中 y1到y2-1行,x1到x2-1列
  out_img = img[y1:y2, x1:x2]
  #保存裁剪后的图片
  cv2.imwrite(output_path, out_img)
  #显示图片
  cv2.imshow('img:', img)
  cv2.imshow('output_img:', out_img)
  #等待,以免图片窗口关闭
  cv2.waitKey(0)
if __name__ == '__main__':
  cut_img('1.jpg',50,300,100,400,'2.jpg')

下面是4个坐标裁剪照片:

在这里插入图片描述

y轴坐标裁剪代码:

import cv2
#裁剪图片路径input_path,裁剪坐标为:y1,y2,保存剪裁后的图片路径output_path
def cut_img(input_path,y1,y2,output_path):
 #读图片cv2.IMREAD_UNCHANGED:读入完整图片,包括alpha通道
  img = cv2.imread(input_path,cv2.IMREAD_UNCHANGED)
  #剪裁图片
  out_img = img[y1:y2]
  #或者下面这行也是一样
  #out_img = img[range(y1,y2+1)]
  #保存裁剪后的图片
  cv2.imwrite(output_path, out_img)
  #显示图片
  cv2.imshow('img:', img)
  cv2.imshow('output_img:', out_img)
  #等待,以免图片窗口关闭
  cv2.waitKey(0)
if __name__ == '__main__':
  cut_img('1.jpg',100,200,'2.jpg')

下面是y轴坐标裁剪照片:

[外链图片转存失败(img-W1nuTWfm-1568800972755)(C:\Users\xiahuadong\Pictures\博客\opencv高、宽、深1.jpg)]

x轴坐标裁剪代码:

import cv2
#裁剪图片路径input_path,四个裁剪坐标为:x1,x2,保存剪裁后的图片路径output_path
def cut_img(input_path,x1,x2,output_path):
 #读图片cv2.IMREAD_UNCHANGED:读入完整图片,包括alpha通道
  img = cv2.imread(input_path,cv2.IMREAD_UNCHANGED)
  #剪裁图片
  out_img = img[:,x1:x2]
  #或者下面这行也是一样
  #out_img = img[:,range(x1,x2+1)]
  #保存裁剪后的图片
  cv2.imwrite(output_path, out_img)
  #显示图片
  cv2.imshow('img:', img)
  cv2.imshow('output_img:', out_img)
  #等待,以免图片窗口关闭
  cv2.waitKey(0)
if __name__ == '__main__':
  cut_img('1.jpg',150,350,'2.jpg')

下面是x轴坐标裁剪照片:

[外链图片转存失败(img-1JZOHjNf-1568800972756)(C:\Users\xiahuadong\Pictures\博客\opencv高、宽、深2.jpg)]

提取第y行

import cv2
#裁剪图片路径input_path,裁剪坐标为:y,保存剪裁后的图片路径output_path
def cut_img(input_path,y,output_path):
 #读图片cv2.IMREAD_UNCHANGED:读入完整图片,包括alpha通道
  img = cv2.imread(input_path,cv2.IMREAD_UNCHANGED)
  #剪裁图片
  out_img = img[y:y+1]
  #保存裁剪后的图片
  cv2.imwrite(output_path, out_img)
  #显示图片
  cv2.imshow('img:', img)
  cv2.imshow('output_img:', out_img)
  #等待,以免图片窗口关闭
  cv2.waitKey(0)
if __name__ == '__main__':
  cut_img('1.jpg',100,'2.jpg')

[外链图片转存失败(img-INIxPseB-1568874694511)(C:\Users\xiahuadong\Pictures\博客\裁剪第100行.jpg)]

提取第x列

import cv2
#裁剪图片路径input_path,裁剪坐标为:x,保存剪裁后的图片路径output_path
def cut_img(input_path,x,output_path):
 #读图片cv2.IMREAD_UNCHANGED:读入完整图片,包括alpha通道
  img = cv2.imread(input_path,cv2.IMREAD_UNCHANGED)
  #剪裁图片
  out_img = img[:,x:x+1]
  #保存裁剪后的图片
  cv2.imwrite(output_path, out_img)
  #显示图片
  cv2.imshow('img:', img)
  cv2.imshow('output_img:', out_img)
  #等待,以免图片窗口关闭
  cv2.waitKey(0)
if __name__ == '__main__':
  cut_img('1.jpg',100,'2.jpg')

总结

以上所述是小编给大家介绍的python openvc 裁剪、剪切图片 提取图片的行和列,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

Python re模块介绍

Python中转义字符 正则表达式使用反斜杠” \ “来代表特殊形式或用作转义字符,这里跟Python的语法冲突,因此,Python用” \\\\ “表示正则表达式中的” \ “,因为正...

解决python3中的requests解析中文页面出现乱码问题

第一部分 关于requests库 (1) requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到。 (2) 其中的Request对象在访问...

Python实例一个类背后发生了什么

首先来看一个例子,正常情况下我们定义并且实例一个类如下 class Foo(object): def __init__(self): pass obj = Foo...

Python Grid使用和布局详解

Python Grid使用和布局详解

本文实例为大家分享了Python Grid使用和布局的具体代码,供大家参考,具体内容如下 #!/usr/bin/env python import vtk # 这个示例主要用...

python版opencv摄像头人脸实时检测方法

OpenCV版本3.3.0,注意模型文件的路径要改成自己所安装的opencv的模型文件的路径,路径不对就会报错,一般在opencv-3.3.0/data/haarcascades 路径下...