python中如何处理图片去除大块黑色区域
发表于:2025-02-22 作者:千家信息网编辑
千家信息网最后更新 2025年02月22日,小编给大家分享一下python中如何处理图片去除大块黑色区域,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在使用MEGAN
千家信息网最后更新 2025年02月22日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安全错误
数据库的锁怎样保障安全
自动追频软件开发公司
计算机系统与网络技术上海
头歌网络安全中心
疫情期间高校网络安全排查
数据库分组加分片架构原理
服务器为什么可以存那么多信息
网络安全战略明确
手机访问服务器错误怎么回事
服务器硬盘红灯亮
疫情期间网络安全使用
电脑连接网页显示找不到服务器
家庭教育与网络安全在线观看
信息安全专业包含网络安全吗
深圳市大象互联网科技
乌海软件开发方案
php文章阅读量数据库
如何使用国际服务器域名
崇明区网络技术厂家批发价
关注网络安全的事情
网络安全工程师专业考试
网络安全ceo介绍
冰雪复古服务器视频
软件开发中如何制定清单
小朋友网络安全教育教案
顺应时代需求发展网络技术
网络安全知识全部
eda软件开发
数据库技术属于IT吗
河南云赞信息技术软件开发
金华软件开发招聘