【python批量裁剪图片】教程文章相关的互联网学习教程文章

python批量裁剪图片

"""用Pythonp批量裁剪图片""" from PIL import Imageimport matplotlib.pyplot as pltimport os # 定义待批量裁剪图像的路径地址IMAGE_INPUT_PATH = D:/2_Class# 定义裁剪后的图像存放地址IMAGE_OUTPUT_PATH = D:/2_Class[0]# 定义裁剪图片左、上、右、下的像素坐标BOX_LEFT, BOX_UP, BOX_RIGHT, BOX_DOWN = 130, 180, 600, 400 for each_image in os.listdir(IMAGE_INPUT_PATH): # 每个图像全路径 image_input_fullname = I...

使用Opencv python从Image中裁剪凹面多边形【代码】

如何从图像中裁剪凹面多边形.我的输入图像看起来像. 和闭合多边形的坐标是[10150],[150100],[300150],[350100],[310,20],[35,10].我希望使用opencv裁剪由凹多边形限定的区域.我搜索了其他类似的问题,但我找不到正确的答案.那就是我问的原因?你能帮助我吗. 任何帮助将非常感谢.!!!解决方法:Stepsfind region using the poly points create mask using the poly points do mask op to crop add white bg if needed编码:# 2018.01.1...

Python+OpenCV写的程序,用于批量裁剪图片【代码】【图】

Python+OpenCV写的程序,用于批量裁剪图片 本人在最近学习网络在线课程的过程中,为了方便课后复习,使用手机截取了大量的图片,但截取的图片文件大占内存,且有左右的黑色无信息区域。想将这些图片打印出来作为课件留存,但左右的黑色区域不仅会耗费大量打印油墨,而且打印出来不美观。我在网上找程序解决我的问题,得到的代码都不能达到简洁且高效的目的。 因此我自己写了一个Python程序使用OpenCV库的简单函数实现了对大量图片进...

使用轮廓层次结构的python opencv裁剪【代码】

我想从下面的图像中删除边框 到目前为止我尝试过使用OpenCV获取边缘码:def autocrop(image, threshold=0):"""Crops any edges below or equal to thresholdCrops blank image to 1x1.Returns cropped image."""if len(image.shape) == 3:flatImage = np.max(image, 2)else:flatImage = imageassert len(flatImage.shape) == 2rows = np.where(np.max(flatImage, 0) > threshold)[0]if rows.size:cols = np.where(np.max(flatImage...

Python:裁剪图片【代码】

from PIL import Imagedef clipping(img, width):'''通过获取像素点,然后将像素点等于255(透明),从而完成修剪图片的操作:param img: Image对象:param width: 要修剪的宽度:return:'''w, h = img.sizepixdata = img.load()# 修剪左边for x in range(width):for y in range(0, h):pixdata[x, y] = 255# 修剪右边for x in range(w - width, w):for y in range(0, h):pixdata[x, y] = 255# 修剪上边for x in range(0, w):for y in rang...

Python图片裁剪的两种方式——Pillow和OpenCV【图】

在这篇文章里我们聊一下Python实现图片裁剪的两种方式,一种利用了Pillow,还有一种利用了OpenCV。两种方式都需要简单的几行代码,这可能也就是现在Python那么流行的原因吧。 OpenCV对其进行裁剪 首先,我们有一张原始图片,如下图所示:然后,我们利用OpenCV对其进行裁剪,代码如下所示:import cv2 ? img = cv2.imread("./data/cut/thor.jpg") print(img.shape) # (1080, 1920, 3) cropped = img[0:128, 0:512] ?# 裁剪坐标为[y0...

python – 裁剪图像 – Image.crop函数无法正常工作【代码】

我有以下代码行进行图像裁剪im = Image.open('path/to/image.jpg')outfile = "path/to/dest_img.jpg" im.copy()im.crop((0, 0, 500, 500)) im.thumbnail(size, Image.ANTIALIAS) im.save(outfile, "JPEG")但它似乎没有裁剪图像.我有更大的图像尺寸,例如2048 x 1536 px. [编辑] 这也是解决方案,我自己无法回答这个问题,所以在这里添加答案. 实际上用新的处理程序裁剪返回图像,我意识到我犯了错误.我应该在新的处理程序中分配裁剪,如...

python – 以相同的宽高比裁剪旋转的图像【代码】

当输入图像旋转给定的度数然后裁剪以避免任何非图像区域同时保持原始图像宽高比时,如何找出最终图像的宽度和高度. 例:解决方法:>红色矩形是具有原始宽高比的原始图像.>旋转W / t矩形(由绿色和黄色三角形包围)图像宽高比与extend = True. 以下是如何获得w和h.image = Image.open(...) rotated = image.rotate(degrees, Image.BICUBIC, True)aspect_ratio = float(image.size[0]) / image.size[1] rotated_aspect_ratio = float(rot...

python – 从一个Numpy数组的图像中裁剪一个边界框【代码】

所以我有一个形状(224,244,3)的图像作为ndarray.我有一个看起来像这样的图像的边界框注释{annotations: [{class: "rect",height: 172,width: 341,x: 282,y: 165},{class: "rect",height: 172,width: 353,x: 592,y: 90}],class: "image",filename: "img_05974.jpg" }如何裁剪numpy数组,以便它给我一个像上面的边界矩形的图像?解决方法:原则上,只需将正确的部分切割出阵列即可轻松完成裁剪.例如.图像[100:200,50:100,]在y(垂直)方...

python – Django – 在model.Imagefield中裁剪并保存Imagefield【代码】

我需要从表单中剪切获救的图像并将其存储在model.ImageField中 我的models.pyclass Story(models.Model): creator = models.ForeignKey(User_info)storyid = models.AutoField(primary_key=True)text = models.TextField()title = models.CharField(max_length=255)photo = models.ImageField(upload_to='story_picture')我的views.pyfrom PIL import Image from io import BytesIO from django.core.files import Filedef post(se...

python – 如何将图像裁剪,调整大小表示为仿射变换?【代码】

我有一个图像被裁剪并调整大小到图像输入大小.据我所知,这与仿射变换相同. 我试图简化下面的代码,所以它通过使用函数来做同样的事情:(最后的例子如下面的例子).scipy.ndimage.affine_transform() 问题是我并不真正了解该函数的参数,因此我无法使用affine_transform()函数实现优雅的单行程.提供和解释代码的解决方案可能有助于我更好地理解这个affine_transform()函数.import numpy as npy import PIL.Image import scipy.misc as s...

如何使用Python在图像中裁剪矩形形状【代码】

谁能给我建议如何裁剪两个矩形框并保存?我已经尝试过这段代码了,但是效果并不好import cv2; import numpy as np;# Run the code with the image name, keep pressing space bar# Change the kernel, iterations, Contour Area, position accordingly # These values work for your present imageimg = cv2.imread("your_image.jpg", 0); h, w = img.shape[:2] kernel = np.ones((15,15),np.uint8)e = cv2.erode(img,kernel,iterat...

使用Python中的OpenCV从图像中裁剪面【代码】

我正在尝试从图像裁剪面部. 无论图像中有多少面,我都希望代码能够工作. 输入图像的示例:Image with faces 我想裁剪面部,以便我可以对它们运行面部关键点检测算法(之前制作). 最终结果将如下所示:Image after facial keypoint detection 我的代码目前是:# Load in color image for face detection image = cv2.imread('images/obamas4.jpg')# Convert the image to RGB colorspace image = cv2.cvtColor(image, cv2.COLOR_BGR2RG...

Python的PIL裁剪问题:裁剪图像的颜色搞砸了【代码】

我对PIL的裁剪功能有一个非常基本的问题:裁剪后的图像颜色完全拧紧.这是代码:>>> from PIL import Image >>> img = Image.open('football.jpg') >>> img <PIL.JpegImagePlugin.JpegImageFile instance at 0x00 >>> img.format 'JPEG' >>> img.mode 'RGB' >>> box = (120,190,400,415) >>> area = img.crop(box) >>> area <PIL.Image._ImageCrop instance at 0x00D56328> >>> area.format >>> area.mode 'RGB' >>> output = open(...

使用Numpy数组的Opencv Python裁剪图像【代码】

我正在使用OpenCV 3.1.0-dev和python 2.7. 我试图裁剪出我缝制的图像的黑色外观.困难在于图像中还有其他像素为黑色,因此cv2.findcontours返回一个非常有趣的numpy数组.第一张图片是我的,第二张图片是目标. 我想知道是否有人知道如何将多边形裁剪到包含整个图像的最小正方形中.蓝线和点是cv2.findContours找到的轮廓.是否可以在numpy数组中找到左上角最多的点,在numpy数组中找到最右下角的p0int,我可以裁剪到?如果是这样,我该怎么做...