python第三方库opencv就是一个专门用来操作视频和图片的软件包,而该库也提供了不少的方法来完成图片裁剪操作。下面小编会给大家分享几个比较好用的图片裁剪方法,想要学习这个知识点的小伙伴可以继续往下阅读完这篇文章哦。
一、坐标
opencv库裁剪图片甚至都不需要去调用方法,直接通过指定坐标就能够将图片指定位置裁剪出来。这是因为该库将图片读取进来之后所得到就是数组形式,而这个数组之中所有的元素数量和图片的长宽相等。只需要将指定长度和宽度位置的坐标放在图像中括号切片语法之中,然后再将其保存为图片类型即可完成截取操作,代码如下所示:
import cv2 img = cv2.imread("./data/cut/thor.jpg") cropped = img[0:128, 0:512] cv2.imwrite("./data/cut/cv_cut_thor.jpg", cropped)
二、手动裁剪
opencv甚至还可以通过selectROI()方法来将一个图像打开,然后用鼠标框出指定的范围将这个范围的图像裁剪下来。该方法使用时需要先将要裁剪的图片通过方法读取进来,然后再调用imshow()方法就可以显示图片,代码如下所示:
import cv2 img = 'D:/nd_cats.jpg' img = cv2.imread(img) cv2.imshow('original', img)
然后就是要去调用selectROI()方法了,该方法需要传入四个参数,分别为窗口名称、裁剪的图像、是否显示十字线、是否是从中心开始画框。该方法调用之后会需要使用鼠标来框中裁剪区域,然后返回的就是该区域顶点位置坐标。接着再去用切片方式来将该坐标的图像剪切下来保存即可,代码如下所示:
roi = cv2.selectROI(windowName="original", img=img, showCrosshair=True, fromCenter=False) x, y, w, h = roi crop = img[y:y+h, x:x+w] cv2.imwrite('D:/ancrop.jpg', crop) cv2.waitKey(0) cv2.destroyAllWindows()
以上就是关于“Python怎么使用opencv裁剪图片?Python第三方库opencv如何剪切图片”的全部内容了,希望对你有所帮助。