草庐IT

python - 如何裁剪或删除图像中的白色背景

我正在尝试使用OpenCV和Python比较图像。考虑这些图像:两者都有一双相同的鞋子,设置为白色背景。唯一的区别是第一个的背景比第二个高。我想知道如何以编程方式裁剪两者的白色背景,以便我只剩下那双鞋。我必须补充一点,我无法手动裁剪背景。 最佳答案 你在评论中的要求:鞋子是白色背景的。我想彻底摆脱边界;如留下一个白色或透明背景的矩形框,具有图片中鞋子的长度和宽度。然后我裁剪目标区域的步骤:Converttogray,andthresholdMorph-optoremovenoiseFindthemax-areacontourCrop

python - 使用 Python/PIL 的多边形裁剪/剪辑

多边形点连同未切割的原始图像由客户端发送到服务器。有没有一种方法可以在Python服务器中沿这些点裁剪(裁剪)原始图像,并保存裁剪后的图像?我目前正在使用PIL,并且更喜欢PIL或PIL扩展解决方案。提前致谢 最佳答案 我找到了一个使用numpy和PIL的解决方案-所以我想分享一下:importnumpyfromPILimportImage,ImageDraw#readimageasRGBandaddalpha(transparency)im=Image.open("crop.jpg").convert("RGBA")#conver

python - 在skimage中裁剪图像?

我正在使用skimage在给定图像中裁剪一个矩形,现在我有(x1,y1,x2,y2)作为矩形坐标,然后我加载了图像image=skimage.io.imread(filename)cropped=image(x1,y1,x2,y2)但是这是裁剪图像的错误方法,我该如何在skimage中以正确的方式进行裁剪 最佳答案 这似乎是一个简单的语法错误。好吧,在Matlab中,您可以使用_'parentheses'_来提取像素或图像区域。但是在Python和numpy.ndarray中,您应该使用方括号对图像区域进行切片,此外,在这段代码中,

python - 如何在 pylab/pyplot 中裁剪极坐标图

我有一个极坐标图,其中theta从0到pi/2变化,所以整个图位于第一个四分之一,如下所示:%pylabinlineX=linspace(0,pi/2)polar(X,cos(6*X)**2)(来源:schurov.com)是否可以通过pyplot或matplotlib裁剪极坐标图,以便只显示四分之一(因此不会浪费空间)?我想要这样的图片(但缩放比例合适):(来源:schurov.com)我想通过pyplot来完成,因为我有几张这样的图像,想将它们排列成一个大图(带子图)。可能吗? 最佳答案 我建议不要使用polar绘图,而是设置坐

python - 如何在pytorch中进行渐变裁剪?

在pytorch中执行梯度裁剪的正确方法是什么?我有一个梯度爆炸问题。 最佳答案 来自here的更完整示例:optimizer.zero_grad()loss,hidden=model(data,hidden,targets)loss.backward()torch.nn.utils.clip_grad_norm_(model.parameters(),args.clip)optimizer.step() 关于python-如何在pytorch中进行渐变裁剪?,我们在StackOverf

python - 使用 PIL 裁剪图像时如何设置坐标?

我不知道如何设置坐标以在PIL的crop()中裁剪图像:fromPILimportImageimg=Image.open("Supernatural.xlsxscreenshot.png")img2=img.crop((0,0,201,335))img2.save("img2.jpg")我尝试使用gThumb获取坐标,但是如果我选择一个我想裁剪的区域,我只能找到位置194336。有人可以帮我吗?这是我的照片:我想裁剪成这样: 最佳答案 如何设置要裁剪的坐标行内:img2=img.crop((0,0,201,335))前两个数字定义了

python - 将 PNG 图像裁剪为其最小尺寸

如何使用Python截掉PNG图片的空白边框区域并将其缩小到最小尺寸?注意:边框大小不是固定值,可能因图片而异。 最佳答案 PIL的getbbox为我工作im.getbbox()=>4-tupleorNoneCalculatestheboundingboxofthenon-zeroregionsintheimage.Theboundingboxisreturnedasa4-tupledefiningtheleft,upper,right,andlowerpixelcoordinate.Iftheimageiscompletelyem

python - minAreaRect OpenCV [Python] 返回的裁剪矩形

OpenCV中的minAreaRect返回一个旋转的矩形。如何裁剪矩形内的这部分图像?boxPoints返回旋转矩形角点的坐标,因此可以通过循环遍历框内的点来访问像素,但是在Python中是否有更快的裁剪方法?编辑请参阅下面我的回答中的代码。 最佳答案 这里是执行此任务的函数:importcv2importnumpyasnpdefcrop_minAreaRect(img,rect):#rotateimgangle=rect[2]rows,cols=img.shape[0],img.shape[1]M=cv2.getRotationM

python - Opencv:从许可证中裁剪文本区域

我有一张驾驶执照的下图,我想提取有关驾驶执照、姓名、出生日期等的信息。我的想法是找到一种方法将它们逐行分组,然后裁剪出单个矩形其中包含eng和ara的名称、许可证等。但我失败得很惨。importcv2importosimportnumpyasnpscan_dir=os.path.dirname(__file__)image_dir=os.path.join(scan_dir,'../../images')classLoader(object):def__init__(self,filename,gray=True):self.filename=filenameself.gray=gra

python - 图像裁剪工具(Python)

我是一名电影摄影师,经常处理裁剪/图像大小调整。因为我拍摄胶片,所以我必须扫描我的底片并从批量扫描中裁剪出每一帧。我的扫描仪扫描四strip,每strip六张图像(每次扫描24帧/裁剪)。我的一个friend给我写了一个Python脚本,可以根据输入的坐标自动裁剪图像。该脚本运行良好,但导出图像的文件格式存在问题。从扫描中,每个帧都应该以240DPI生成一个37mb的TIFF(当我在Adob​​eLightroom中裁剪和导出时)。相反,Cropper输出13mb72DPITIFF。每当我运行Cropper时,终端(我在Mac上)都会警告我有“减压炸弹”。我的friend被难住了,建议