Java将图片白色部分变成透明只保留图片非白色部分主体

JAVA图片处理之黑色/白色透明化 package org.hdht.util.image; import java.awt.Graphics2D; import java.awt.Image; import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.F 阅读详情
    public static void main(String...args) {
        File file = new File("C:/Users/Administrator/Desktop/image");
        if (file.exists()) {
            File[] images = file.listFiles();//f -> f.getName().toLowerCase().indexOf(".bmp") != 0
            assert images != null;
            for (File image : images) {
                convertImage(image);
            }
        }
     //convertImage(new File("C:/Users/Administrator/Desktop/love.bmp"));
    }


    /**
     * 将图片白色部分透明化处理,只保留非白色部分
     * @param imageFile 图片文件
     */
    public static void convertImage(File imageFile) {
        if (imageFile == null || imageFile.isDirectory()) {
            return;
        }
        //获取image buffered
        BufferedImage image = null;
        try {
            image = ImageIO.read(imageFile);
        } catch (IOException e) {
            e.printStackTrace();
        }
        assert image != null;
        //获取图片高度
        int height = image.getHeight();
        //获取图片宽度
        int width = image.getWidth();
        //生成ImageIcon对象
        ImageIcon imageIcon = new ImageIcon(image);
        //载入原图片数据
        BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_4BYTE_ABGR);
        //创建画笔对象
        Graphics2D graphics2D = (Graphics2D) bufferedImage.getGraphics();
        //绘制Image图片
        graphics2D.drawImage(imageIcon.getImage(), 0, 0, null);
        //图片透明度
        int alpha = 0;
        //遍历图片y坐标
        for (int y = bufferedImage.getMinY(); y < bufferedImage.getHeight(); y++) {
            //遍历图片x坐标
            for (int x = bufferedImage.getMinX(); x < bufferedImage.getWidth(); x++) {
                int rgb = bufferedImage.getRGB(x, y);
                alpha = includeColor(rgb) ? 0 : 255;
                rgb = (alpha << 24) | (rgb & 0X00FFFFFF);
                bufferedImage.setRGB(x, y, rgb);
            }
        }
        //将处理后的色块buffered对象写入缓冲区
        graphics2D.drawImage(bufferedImage, 0, 0, null);
        //创建输出路径
        File outFile = new File(imageFile.getParentFile().getPath() + "/temp/");
        //检测输出路径是否存在
        boolean exists = outFile.exists() || outFile.mkdir();
        if (exists) {
            //获取文件名不含后缀
            String fileName = imageFile.getName().substring(0, imageFile.getName().lastIndexOf("."));
            //创建输出图片文件对象
            File outImageFile = new File(outFile.getPath() + "/" + fileName + ".png");
            try {
                //输出图片
                ImageIO.write(bufferedImage, "png", outImageFile);
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
            //输出
            System.out.println(outImageFile.getPath() + " 转换完成!");
        }
    }

    /**
     * 判断当前色块是否属于设定值的范围
     * @param color 当前颜色
     * @return false|true
     */
    public static boolean includeColor(int color) {
        int red = (color & 0xFF0000) >> 16;
        int green = (color & 0x00FF00) >> 8;
        int blue = (color & 0x0000FF);
        int color_range = 215;
        return (red >= color_range && green >= color_range && blue >= color_range);
    }

效果:白色部分变透明

 

overleaf导入模板 本文介绍了如何在Overleaf平台导入Springer Nature模板。首先下载所需的模板压缩包,然后在Overleaf中选择"Upload project"上传该压缩包。上传后会显示模板文件,包括EPS格式图像文件、LaTeX源文件、BibTeX参考文献文件、PDF输出文件以及文档类文件。这些文件共同构成了完整的LaTeX模板,可用于学术论文写作和排版。 阅读详情

相关推荐

【脑电分析系列】第15篇:脑电功能连接性与脑网络分析(二):Granger因果性、图论指标与复杂网络构建

摘要: 本文深入探讨了脑电(EEG)分析中的高阶连接性方法——有效连接(Effective Connectivity),重点介绍了Granger因果性(Granger Causality, GC)的原理与应用。GC通过统计预测揭示脑区间信息流动方向,超越了传统功能连接的同步性分析。文章还结合图论指标(如度、路径长度、聚类系数和模块化)量化脑网络的拓扑结构,并通过Python代码(MNE和NetworkX库)演示了从EEG数据构建、分析复杂脑网络的完整流程。该研究为理解大脑动态互动、认知任务信息流及神经系统疾

qq_32516809的博客 1567

java调整图片透明度

全栈工程师开发手册 (作者:栾鹏) java教程全解 java调整图片透明度,底色是白色。透明度输入参数alpha取值0-255测试函数 public static void main(String[] args) { //文件与BufferedImage间的转换 BufferedImage bi=file2img("test.jpg"); //读取

1万+

Zemax显微镜设计:从物镜到目镜的完整光学系统优化

本文详细介绍了使用Zemax进行显微镜光学系统设计的完整流程,从物镜到目镜的优化技巧。通过实战案例和关键参数设置,帮助读者掌握数值孔径、视场角等核心概念,实现高分辨率显微镜设计。文章特别强调了系统级优化和公差分析的重要性,为科研和工业检测提供可靠的光学解决方案。

weixin_42549451的博客 438

java设置图片透明度

在Java中,你可以使用`BufferedImage`类来处理图片的透明度。

weixin_58494422的博客 1070

嵌入式下载故障排查:ST-LINK与GD32 Programmer典型问题解决

嵌入式固件烧录是MCU开发的关键环节,其本质依赖于调试器(如ST-LINK、GD-Link)与目标芯片间的协议通信、驱动加载及硬件接口协同。原理上,SWD/JTAG协议需在正确时序、电平与供电条件下完成设备枚举、ID读取与Flash编程;技术价值在于保障量产烧录稳定性与调试可重复性;典型应用场景涵盖STM32/GD32教学开发、工业控制板量产调试及Windows 11新系统适配。本文聚焦ST-LINK-V2在Keil MDK中的下载失败和GD32 All In One Programmer的DLL加载异常两

weixin_35006125的博客 154

全局子程序 参数调用

为什么要子程序: 为了实现程序结构化,我们尽量使用不同功能的功能块来实现一些特定的功能, 子程序接口: 使用过程的注意事项,尤其是数组使用时的注意事项 从一个主程序中可以将参数传递到局部或全局子程序和函数中。 怎样传递参数有 2 种方式: 作为 IN 参数 变量值在主程序中保持不变。 这种传递方式也称为“ 值传递 (Call by Value)”。 作为 OUT 参数 子程序读取并更改该值,然后将新值写回到主程序中。 这种传递方式也称为“Call by Reference”。 举例说明 1 DEF MY

Eric_Yang1024的博客 1095

java实现图片去除底色,图片变成透明背景

在线图片去除底色工具-透明背景图片 免费图片去底色工具:https://tools.kalvinbg.cn/image/bgRemover

Kai辉的专栏 1万+

IEC 60747-8 是由国际电工委员会(IEC)制定的标准,标题为《半导体器件 - 分立器件 - 第8部分:场效应晶体管》

IEC 60747-8 是由国际电工委员会(IEC)制定的标准,标题为《半导体器件 - 分立器件 - 第8部分:场效应晶体管》(Semiconductor devices - Discrete devices - Part 8: Field-effect transistors)。该标准详细规定了场效应晶体管(FETs)的测试方法,涵盖静态和动态特性测试,适用于多种类型的FET,包括结型场效应晶体管(JFETs)、绝缘栅场效应晶体管(MOSFETs,增强型和耗尽型)等。3. 标准其他部分(简要概述)

专注于前沿技术的探索与实践,热衷于从代码逻辑、架构设计到行业应用等多维度深挖技术本质。期待在技术之路上与你共同成长~ 576

java图像处理-(指定区域内)灰度化、透明化(alpha通道)处理

近日在一家小公司实习,老板要求我写一个图形编辑器,其中涉及到用java处理图像。一般图像处理python用的比较多,感觉网上关于java处理图像的资料不是很多(也许是因为我没有认真的去翻吧……)所以想把自己处理的一些想法记录一下。灰度化图片的rgb通道alpha通道什么的我暂时就不细讲了,网上资料很多。先说一下怎么读一个图片。private BufferedImage initBufferedIma

AlexZhang67的博客 7641

IDCNBSAIS-财务报表功能范围取值管理费用、销售费用、研发费用排除指定科目的实现

研究了很多方法,没有办法实现,只在营业费用增加一个冲抵项解决,也咨询了外部顾问说要建立自建表。限于需要马上修正后面只能用了最最low的办法处理了一下。公司遇到的一个问题,目前报表有些项目是按照功能范围取值的,发现取多了。IDCNBSAIS-财务报表功能范围取值管理费用、销售费用、研发费用排除指定科目的实现。最后结果是正确的,但是总觉得有更好的办法,不知道有没有高人可以指点一下?建立一个调整项的目录,在每个节点做了调整。除了研发费用做了冲抵在以下每个节点都做了冲抵。为财务报表定义表格结构。

nopicture的博客 1493

166、Sim2Real中的强化学习:域随机化与鲁棒策略

第二,训练时监控每个随机化维度对策略梯度的贡献,如果某个维度对loss的方差贡献极小,说明策略已经忽略它了,要么加大范围,要么删掉。第四,如果条件允许,用真实数据来校准随机化分布——采集真机上的传感器数据,拟合出参数分布,再把这个分布作为随机化的采样依据,这比拍脑袋定范围靠谱得多。动态随机化是很多人忽略的维度。域随机化的核心思想说白了就一句话:别去精确建模现实,而是把仿真环境本身变成一个随机分布的集合,让策略在“各种乱七八糟的物理参数”里都见过世面,这样到了真机上,不管现实落在哪个参数区间,策略都能兜住。

sundong_81的博客 27

Java图片背景颜色变透明

java 图片背景转透明

lsy_ch的博客 1607

机器翻译的评价标准:BLEU、ROUGE等指标说明及代码实现

机器翻译领域常用的自动评价指标主要包括BLEU、ROUGE、METEOR和COMET四大类。BLEU基于n-gram精确率和短句惩罚,ROUGE关注召回率,METEOR结合精确率和召回率并考虑同义词,COMET则利用预训练模型计算语义相似度。这些指标各有特点:BLEU适用于机器翻译,ROUGE对长句友好,METEOR更接近人工评分,COMET无需参考译文。代码实现上,sacrebleu、rouge-score等库提供了便捷的计算方式。新兴趋势包括基于BERT等模型的语义评估和大语言模型评估器,但传统指标仍占

数据知道的博客 9419

java 图片 含透明_java 将图片白色部分透明

1.[代码][Java]代码public static void main(String[] args) {try {BufferedImage image = ImageIO.read(new FileInputStream("f:\\1.jpg"));// 读取图标BufferedImage imageBiao = ImageIO.read(new FileInputStream("f:\\3...

weixin_39779528的博客 404

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

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

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

将背景为白色图片转为png格式的透明图片

在程序设计及网站搭建过程中我们经常会用到png格式的背景透明图片,在找素材过程中经常遇到心仪的图片却不是png格式的透明背景图片。本次设计就是解决将背景为白色(rgb为:r[210-255],g[210-255],b[210-255])的背景转为png格式的透明图片。 程序包含两个类:PictureProcessing和Main、 PictureProcessing类: 构造方法:public PictureProcessing(String image) 说明:image为将要处理的图片地址 方法:pub

qq_50376377的博客 4938

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

java 将图片白色部分透明

java 将图片白色部分透明 http://www.oschina.net/code/snippet_4873_3580

wjcommen的博客 1021

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

java 透明图片添加白色背景_java将白色背景图片转换成透明图片

packageevecom.image;importjava.awt.Graphics2D;importjava.awt.Image;importjava.awt.image.BufferedImage;importjava.io.ByteArrayOutputStream;importjava.io.File;importjava.io.FileInputStream;importjava.io...

weixin_35714577的博客 1622

生成离线报告-java将白色背景透明和裁减掉白色背景部分

生成离线报告的一种方式 用puppeteer(node服务)打开网页生成图片,然后将图片替换到PPT的模板中。 有一个问题是生成的图片会有很多空白部分,所以要用java将白色背景透明化, 一种方式是将图片的白色背景透明,另一种方式是将图片的白色背景部分剪裁掉。PPT模板图片事先根据固定尺寸大小建好的,如果替换的图片大小不一致就可能导致图片拉伸变形 最终采用生成离线报告的方案 创建图片目录 pup...

liufang1991的专栏 873

java 盖章透明_java实现图片上传后裁剪,把白色背景变成透明图(电子印章)

应用场景:企业在白纸上盖上印章,然后软件实现透明的电子印章,在后续业务流程中使用!A4纸-----------------------------------------处理后-------------------------------------->电子印章-------->实现共分为3步1. 图片上传后预览上传图片//POST file upload//commons-file...

weixin_34201593的博客 1212

java 为透明图片添加背景颜色

java 为透明图片添加背景颜色需求介绍解决方式 需求介绍 项目需要实现在线无纸化合同签署,调用触屏手写签名生成电子合同,在生成合同过程中需要调用OCR 技术对签署文字进行识别,在此过程中,生成的电子签图片背景必须是透明的(为了附着在合同上),但是OCR技术对透明图片上文字无法识别,因此在调用OCR前需要对图片进行处理,增加背景颜色,提高识别率。 解决方式 查阅资料发现许多同学使用 java G...

ByteMu的博客 2728

java白色背景图片透明化

java白色背景图片透明化 package evecom.image; import java.awt.Graphics2D; import java.awt.Image; import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.

qq_41028696的博客 970

java菜单栏变成白色_java将白色背景图片转换成无色

package com.cxf.dao;import java.awt.Graphics2D;import java.awt.Image;import java.awt.image.BufferedImage;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import ...

weixin_39644713的博客 342

java 文字生成透明图片_java将白色背景图片转换成透明图片

packageevecom.image;importjava.awt.Graphics2D;importjava.awt.Image;importjava.awt.image.BufferedImage;importjava.io.ByteArrayOutputStream;importjava.io.File;importjava.io.FileInputStream;importjava.io...

weixin_29801567的博客 535

java图片透明_Java实现对图片透明化处理

因需要将一张白色背景图片处理为透明色,因此上网上搜了搜处理方案,可以通过ps和其他图片软件,但是我电脑上并没有这两个软件,下载安装太耗时。从网上搜了搜发现原来可以使用 Java 代码进行处理,代码如下:import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.File;import java.io.I...

weixin_35282700的博客 1138

java 去除图片背景_java如何去除图片中的白色背景

最近在做一个需求是从数据库里面取出图片,但是图片都有一个白色的背景,于是项目组希望可以将图片的白色的背景去掉。本文为大家分享了java去除图片中的白色背景的方法,供大家参考,具体内容如下如图所示:当然在这个上面是看不出来的,其实第一张图片是有一个白色的背景的,但是第二张图片没有,相信你理解我说的,那么这个代码我应该如何实现:package com.wdg.util;import java.awt....

weixin_42318712的博客 1228

用java如何进行图片去白色_java如何去除图片中的白色背景

最近在做一个需求是从数据库里面取出图片,但是图片都有一个白色的背景,于是项目组希望可以将图片的白色的背景去掉。本文为大家分享了java去除图片中的白色背景的方法,供大家参考,具体内容如下如图所示:当然在这个上面是看不出来的,其实第一张图片是有一个白色的背景的,但是第二张图片没有,相信你理解我说的,那么这个代码我应该如何实现:package com.wdg.util;import java.awt....

weixin_33954874的博客 527
上一篇: JavaScript对象多层属性获取get和设置set方法
下一篇: Windows下端口号被占用排查方法
cg_ssh
博客等级 码龄16年 123粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值