python去除图片四周空白区域

Python3 NumPy裁剪图片可视区域 文章目录0x01 解决思路0x02 实现(Pillow)0x03 实现(NumPy)0x04 运行效率0x05 总结 0x01 解决思路 如何裁剪一张图片的可视区域?解决这个问题的方法有很多种,本文采用的方法很简单:想象有四条线从图片四周向内推进,如果碰到不是白色的内容,那么就停止推进。最终这四条线内部的区域就是该图片的可视区域。 测试环境:Ubuntu 18.04 + Python3.6 +... 阅读详情

在用字体文件造汉字的过程中,固定了图片大小后,用不同的字体绘制,会有一个问题,图片有时候太小,不足够画一个汉字。

为不同的字体、字号去调不同的图片大小又很麻烦。

就干脆在大的空白图片画汉字,再剪裁(本来也有剪裁的需求)

逻辑是这样的:

图片也就是个三维数组,如果空白是白色的,也就是(255,255,255)

计算四个方向(上,下,左,右)第一个不是空白的下标,再切片,放到一个新的array里

def trim(img):
        img2=img.sum(axis=2)
        (row,col)=img2.shape
        tempr0=0
        tempr1=0
        tempc0=0
        tempc1=0
#765 是255+255+255,如果是黑色背景就是0+0+0,彩色的背景,将765替换成其他颜色的RGB之和,这个会有一点问题,因为三个和相同但颜色不一定同
        for r in range(0,row):
                if img2.sum(axis=1)[r]!=765*col:
                        tempr0=r
                        break

        for r in range(row-1,0,-1):
                if img2.sum(axis=1)[r]!=765*col:
                        tempr1=r
                        break

        for c in range(0,col):
                if img2.sum(axis=0)[c]!=765*row:
                        tempc0=c
                        break

        for c in range(row-1,0,-1):
                if img2.sum(axis=0)[c]!=765*row:
                        tempc1=c
                        break

        new_img=img[tempr0:tempr1+1,tempc0:tempc1+1,0:3]
        return new_img



如何使用OpenCV去除图片空白区域,仅保留文字所在的区域?附带多方案及完整源码! 🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀! 阅读详情

相关推荐

Python 如何实现图片边缘检测去掉空白区域?【图像裁剪/内容提取问题】

🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。

**My Coding Family** 1179

pyplot显示和保存没有边框的图片

为了减少图像信息的噪声或者视觉效果,需要去除图片周围的白色边框。 使用matplotlib.pyplot显示和保存没有边框的图片;但是在很多情况下不work; 使用图片的RGB值判断是否属于边框,再确定物体的位置,对阈值的更改可以去除白色、黑色、或者任何纯色的边框。 from skimage import io def corp_margin(img): img2=img.sum(axis=2) (row,col)=img2.shape row_top=0 raw_down=0 col_top=

lzs 1511

2025数学建模美赛C题完整建模思路——奥运会奖牌榜的模型

2025数学建模美赛C题完整建模思路——奥运会奖牌榜的模型

Yilu264的博客 1万+

python图像处理之scikit-image基本用法

本文介绍Python语言用于数字图像处理,那么要使用python进行各种开发和科学计算,需要对应相对的python包, python有很多的数字图像处理相关的包,像 PIL Pillow OpenCV scikit-image 等等 其中PIL和Pillow只提供最基础的数字图像处理,功能有限; opencv实际上是一个c++库,只是提供了python接口, scikit-image...

chery的博客 6万+

Altium Designer操作技巧(1)——原理图中如何批量替换元器件?

《AltiumDesigner批量替换元器件技巧分享》摘要:本文介绍了两种在AltiumDesigner中批量替换元器件的实用方法。方法一通过“查找相似对象”功能,可精准匹配并批量修改器件参数;方法二利用ActiveBOM功能,在BOM表中直观操作器件替换,推荐使用第二种方法可使BOM管理更高效。这些技巧能有效减少物料种类、降低贴装成本,特别适用于电阻电容等常用器件的批量替换。关注公众号获取更多电子设计技巧。

u012526819的博客 2582

树莓派5首次开机保姆级教程(无显示器通过VNC连接树莓派桌面)

选择 Interface Options > VNC > Yes 启用服务。2.在Windows电脑上安装VNC软件。重启树莓派:sudo reboot。3.使用VNC远程访问树莓派桌面。

qq_34184505的博客 2349

python sum([],axis=)

sum([],axis=) 将矩阵的第几个维度做和 print(sum([[0,1,2],[2,1,3]],axis=1)) print(sum([[0,1,2],[2,1,3]],axis=0)) [3 6] [2 2 5]

ss654271961的博客 254

OpenHarmony实战开发-如何实现文件分布式同步编辑

在分布式文件场景中,分布式设备管理包含了分布式设备搜索、分布式设备列表弹窗、远端设备拉起三部分。首先在分布式组网内搜索设备,然后把设备展示到分布式设备列表弹窗中,最后根据用户的选择拉起远端设备。两台设备组网的分布式场景是工作中常常需要的。这样的分布式场景有助于加快工作效率,减少工作中的冗余,本例将为大家介绍如何实现上述功能。​ (2)订阅分布式数据变化:通过this.distributedObject.on(‘status’, this.statusCallback)监听分布式数据对象的变更。

2401_82546228的博客 751

使用 Python 和 OpenCV 进行图像聚类

点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达importnumpyasnp importcv2 importmatplotlib.pyplotasplt image=cv2.imread('../input/hillstation/hillstation.jpg') plt.imshow(image)#originalimage <matplot...

小白学视觉 230

鸿蒙开发实战项目(四十七):图片编辑(ArkTS)

本篇Codelab主要介绍如何基于图片编解码,实现图片编辑。图片的解码。使用PixelMap进行图片编辑,如裁剪、旋转、亮度、透明度、饱和度等。图片的编码。

斌擎科技 1584

【MATLAB代码】UKF组合导航例程,15维状态量、3维观测量。附完整的代码,有中文注释、误差输出图像

摘要 本文提出了一种基于15维误差状态模型的UKF组合导航算法,实现了三维位置、速度和姿态的高精度估计。算法采用严格的误差状态模型,包含位置(3)、速度(3)、姿态(3)、陀螺偏差(3)和加速度计偏差(3)共15个状态量,通过3维GNSS位置观测进行校正。仿真结果表明,相比纯IMU积分,UKF算法能有效抑制误差积累,显著提高导航精度。文中提供了完整的MATLAB源代码,可直接运行并复现三维轨迹对比、位置/速度曲线及误差分析结果。

985工科博士毕业,专攻定位、导航和滤波等算法研究。从业10年,主要使用MATLAB 311

python实现将图片的周围空白区域去除

【代码】python实现将图片的周围空白区域去除。

llrraa2010的专栏 1777

HyperLynx(十九)DDR(二)DDR的地址仿真

(5)设置水平标尺为2ns/div,垂直标尺为500mV/div,如果有必要,可以通过多次仿真,得到一个更加理想的结果。此外,还可以看到信号在高低电平切换时,反射波形基本趋于平缓,许多大的反射切换边缘已减小,这给了我们更大的定时裕量。如果这些DIMM是缓冲过的,则4个DIMM通道是可行的,但因为这是一个无缓冲DIMM,(20)在编辑传输线对话框中,选择“Values”选项卡,改变传输线长度为3in,具体设置如图所示,单击“确定”按钮。(17)为了增加电压摆幅,选择一个比原来的47Ω小的电阻。

小幽余生不加糖 4257

python自动裁剪图片_python自动裁剪图像代码分享

本代码可以帮你自动剪切掉图片的边缘空白区域,如果你的图片有大片空白区域(只要是同一颜色形成一定的面积就认为是空白区域),下面的python代码可以帮你自动切除,如果是透明图像,会自动剪切大片的透明部分。本代码需要PIL模块pil相关介绍PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用。由于PIL仅支持到...

weixin_39815410的博客 792

26届数字IC秋招笔试面试全攻略 - CPU基础架构-数字IC设计专家

本文介绍了CPU基础架构的三大关键技术:流水线、冒险处理和指令集设计。首先解析了经典五级流水线结构(取指、译码、执行、访存、写回)及其性能指标。其次详细阐述了三种流水线冒险(数据、控制、结构)及解决方案,如数据前递、分支预测等。最后对比了RISC与CISC指令集特点,并以RISC-V为例说明指令格式设计原则。全文系统梳理了CPU核心架构知识,为数字IC设计提供重要参考。

2301_79143213的博客 931

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Python图片保存之去除空白区域

Python图片保存之去除空白区域 bbox_inches的使用 使用pyplot.savefig中bbox_inches可以去除空白区域。 实例 from matplotlib import pyplot as plt 不使用bbox_inches参数: 可以看出图片中有大片的空白区域 不使用bbox_inches参数: 成功的去除了空白区域! ...

weixin_44017370的博客 7111

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

python 使用 plt.savefig() 保存图片去除旁边的空白区域

论文绘图,不希望图片有太多的空白区域,网上搜了一些方法,下面这个方法简单有效: 只需要在plt.savefig()函数中,加入一个参数。即plt.savefig(“path”, bbox_inches=‘tight’),即可。 参考:python绘图保存的图像坐标轴显示不全以及图片周围空白较大的问题 其他方法参考: https://blog.csdn.net/qq_24185239/article/details/90679614 matplotlib 使用 plt.savef...

wzg2016的博客 1万+

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Matplotlib画图去除周边空白

Matplotlib画图去除周边空白,使图片紧凑 一般情况下,我们按照如下方式生成的图片周围会有一片空白区域,不利于应用,比如放在论文里面很不方便。 # coding=utf-8 import matplotlib.pyplot as plt import math x = range(10) y = range(10, 20) plt.plot(x, y) plt.show() 所以,在保存图片的代码中加上一个参数 # coding=utf-8 import matplotlib.pyplot a

测试开发工程师的学习经历 1万+

在 matplotlib中紧凑的显示图片--去除图片周边空白

问题:matplotlib 及其他一些画图工具,在保存plot的时候,总会出现一些问题,例如图片周边包含多余空白区域。这里主要解决这个问题.我们保存plot的图片: plt.figure(figsize=(15,8)) p = plt.subplot(111) plt.savefig('image_name')会得到下面的图像,图片周围存在一些不必要的空白区域 redundant padding.

vola的专栏 2万+

python去掉人像白边_python 使用plt画图,去除图片四周的白边方法

用matplotlib.pyplot画的图,显示和保存的图片周围都会有白边,可以去掉。为了显示的更清楚,给图片加了红色的框代码“`import matplotlib.pyplot as pltfig, ax = plt.subplots()im = im[:, :, (2, 1, 0)]ax.imshow(im, aspect='equal')plt.axis(‘off')# 去除图像周围的白边h...

weixin_39927799的博客 189

Python批量裁剪图形外围空白区域-续

一、基本描述 批量裁剪掉图片的背景区域,一般是白色背景,从而减少背景值的干扰和减少存储空间。 原文链接:Python批量裁剪图形外围空白区域 原文是通过检索所有图片的最小裁剪区域坐标值,然后再对图片进行裁剪。原文中的图都是经过标准化处理的,核心图片内容尺度都一致,所以采用该种办法,如果有很多不同大小的图片,即图片中的内容区域大小形状不一样,则一张一张的检索该图的背景区域,然后进行裁剪。即一张一张的检索裁剪区域并进行裁剪。 二、实现代码 对原文中的代码进行修改,一张一张的检索每张图的裁剪区域坐标,.

soderayer的博客 8952

如何用python实现将图片的周围空白区域去除

在网上找了一个方法,用的skimg的io,导入图片用的im = io.imread(‘xxx.jpg’),这样子导入的图片在sum阶段出现问题了,好像是维度不够,最后改用了cv2,正常运行了。 另外,那个方法是一个一个像素地计算的。由于图片太大,这样子太慢了,我用的10个像素10个像素地计算。 ps:以下方法适合用于已经二值化地图片。 import cv2 def corp_margin(img): img2=img.sum(axis=2) (row,col)=img2.shape

孰能无惑 3153

python裁剪图片边缘_用 ImageMagick 批处理裁剪扫描图片的空白边缘

@echo off & chcp 936setlocal enabledelayedexpansionset "IM=D:\桌面\ImageMagick-7.0.3-0-portable-Q16-x86"for %%N in (identify convert) do for %%a in ("%IM%\%%N.exe") do set "%%N=%%~sa"set "imgTypes=p...

weixin_39744606的博客 1308

Python批量裁剪图形外围空白区域

1.描述 图形外围空白区域比较多,需要裁剪掉,这样的图形有很多,需要批量处理 2.代码 from PIL import Image import numpy as np import os imagesDirectory = r"D:\PycharmProjects\pythonProject\indias\IndiasSample1" # tiff图片所在文件夹路径 x_top=200;x_left=200;x_right=0;x_bottom=0 #上下左右范围 for imageNa.

soderayer的博客 3126

python+opencv图片分割字符

把图片中的字符分离出一张张字符图片(缺陷:字符不能重合) # -*- coding:utf-8 -*- import numpy as np import cv2 def car(): img = cv2.imread(&quot;C:\\Users\\Administrator.000\\Desktop\\a.png&quot;) grayImage = cv2.cvtColor(img, cv2...

onj123的博客 7668
上一篇: caffe验证集测试集准确率差别很大的可能原因
下一篇: caffe数据同步
XLM11
博客等级 码龄12年 17粉丝 30原创
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值