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

yipeiwu_com7年前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实现搜索指定目录下文件及文件内搜索指定关键词的方法

本文实例讲述了python实现搜索指定目录下文件及文件内搜索指定关键词的方法。分享给大家供大家参考。具体实现方法如下: #!/usr/bin/python -O # -*- codi...

使用实现XlsxWriter创建Excel文件并编辑

使用实现XlsxWriter创建Excel文件并编辑

之前操作Excel使用过其他的方式,针对Excel的写入来说,使用过xlwt模块,也直接使用过win32com接口。如果说哪个最能够发挥Excel的威力,那么肯定是win32com接口实...

python读写配置文件操作示例

本文实例讲述了python读写配置文件操作。分享给大家供大家参考,具体如下: 在用编译型语言写程序的时候,很多时候用到配置文件,作为一个约定的规则,一般用 ini 文件作为配置文件,当然...

为python设置socket代理的方法

首先,你得下载SocksiPy这个.解压出来之后里面会有一个socks.py文件.然后你可以把这个文件复制到python安装目录里面的Lib\site-packages中.或者把这个文件...

python 直接赋值和copy的区别详解

直接赋值和copy的区别: 直接赋值:其实就是对象的引用(别名)。 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。 深拷贝(deepcopy): copy 模...