python中如何处理图片去除大块黑色区域
发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,小编给大家分享一下python中如何处理图片去除大块黑色区域,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在使用MEGAN
千家信息网最后更新 2025年11月11日python中如何处理图片去除大块黑色区域
小编给大家分享一下python中如何处理图片去除大块黑色区域,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
在使用MEGAN软件绘制分类学树状图时,如果物种较少,生成的图片会有大片的黑色区域,很不美观。
在使用MEGAN软件绘制分类学树状图时,如果物种较少,生成的图片会有大片的黑色区域,很不美观。那怎样去除呢,请看下面脚本:
脚本运行命令:
python /share/work/wangq/script/work/png_black.py -i /share/nas1/fanyc/project/zx-20171030-47_21_ITS/2/ITS_3/4.Analysis_output/Taxa_summary/MEGAN_tree/Taxonomic_treeUsage: Options: -i分类学树状图 png图片所在目录,也是输出目录(目录最后不要带"/") 程序检索目录下所有png文件并处理,输出图片会覆盖原来的图片
脚本代码:
import numpyimport sys, os, argparse, os.path,re,mathfrom PIL import Imageimport matplotlib.pyplot as plt##############################################parser = argparse.ArgumentParser(description='This script is used to an error_bar')parser.add_argument('-i','--in_dir',help='Please input in_dir directory path',required=True)args = parser.parse_args()pathDir = os.listdir(args.in_dir)for allDir in pathDir: if (re.search(r'png$',allDir)): child = os.path.join('%s/%s' % (args.in_dir, allDir)) img = Image.open(child) # Imgur's naming scheme pix = numpy.array(img) # Convert to array black = numpy.array([0,0,0]) white = numpy.array([255,255,255]) black1 = numpy.array([0,0,0,255]) white1 = numpy.array([255,255,255,255]) #print pix print pix[1,1] pix2 = pix.copy() dim = pix.shape #print pix[1,:]==black if (dim[2] == 3): for n in xrange(dim[0]): if (pix[n,:]==black).all(): pix2[n,:,numpy.newaxis] = white continue if ((pix[n,:]==black).sum()>=2.7*dim[1]): x = 0 for m in xrange(dim[1]): if (pix[n,m,:]==black).all(): x = x+1 if (x >= dim[1]*0.9): pix2[n,:,numpy.newaxis] = white # for n in xrange(dim[1]): # if (pix[:,n]==black).all(): # pix2[:,n,numpy.newaxis] = white if (dim[2] == 4): for n in xrange(dim[0]): if (pix[n,:]==black1).all(): pix2[n,:,numpy.newaxis] = white1 continue if ((pix[n,:]==black1).sum()>=3.7*dim[1]): x = 0 for m in xrange(dim[1]): if (pix[n,m,:]==black1).all(): x = x+1 if (x >= dim[1]*0.9): pix2[n,:,numpy.newaxis] = white1 # for n in xrange(dim[1]): # if (pix[:,n]==black1).all(): # pix2[:,n,numpy.newaxis] = white1 fig = plt.figure() ax = fig.add_axes([0.0, 0.0, 1.0, 1.0], frameon=False, aspect=1) ax.imshow(pix2) ax.set_xticks([]) ax.set_yticks([]) plt.savefig(child,dpi=600) plt.close()#.all() .all()以上是"python中如何处理图片去除大块黑色区域"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
图片
区域
黑色
目录
分类学
篇文章
脚本
分类
大块
美观
内容
大片
物种
软件
生成
输出
不怎么
代码
命令
大部分
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
辽宁省网络安全知识竞赛系统
海南省网络安全部门提示
佛山拼团软件开发定制
软件开发计算机设备清单
华为数据库功能浅层分析
贝尔软件开发面试笔试
网络链接服务器查询
最超前的网络技术论坛
汤森路透数据库价格
数据库管理员面试技巧
美国访问日本服务器
上海参考网络技术服务答疑解惑
中山企业网络安全产品
江川网警网络安全法
mac系统数据库没设密码
唯亭软件开发
韩语软件开发招聘
苏州稻草人网络技术
代理服务器例外设置
建模软件开发解决方案
web软件开发流程
佛山拼团软件开发定制
软件开发计算机设备清单
双路服务器多少钱一个
数据库管理员面试技巧
rpgmz怎么做数据库
锐捷云主机数据库
测绘地理信息数据库入库设计书
联想服务器怎么设定硬盘启动
数据库归档文件产生