python中如何处理图片去除大块黑色区域
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,小编给大家分享一下python中如何处理图片去除大块黑色区域,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在使用MEGAN
千家信息网最后更新 2026年11月03日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安全错误
数据库的锁怎样保障安全
互联网科技公司
科技与互联网
鸠鸠互联网科技
互联网科技垄断
上海互联网科技有限公司
互联网科技大会
互联网科技宣传片
玖二柒互联网科技公司待遇
互联网为啥属于高科技
昭通互联网科技选哪家
互联网科技的全部知识
互联网数据科技专业
恒生互联网科技业指数调整周期
高科技互联网套路
深圳互联网科技的发展
江苏互联网智能科技软件
济南小医互联网科技有限公司招聘
美国五大互联网科技公司市值多少
科技和互联网行业的特点
恒生科技指数 中概互联网
中智农互联网科技
易通互联网络科技有限公司
互联网 新科技
互联网养老 桔豆科技
哈尔滨秒房互联网科技有限公司
卫星互联网科技股票
洛阳共同富裕互联网科技有限公司
互联网营销推广黑科技
科技信息时代互联网发展
广州全民伙伴互联网科技有限公司