Package org.aoju.bus.core.image
Class Removal
java.lang.Object
org.aoju.bus.core.image.Removal
图片背景识别处理、背景替换、背景设置为矢量图 根据一定规则算出图片背景色的RGB值,进行替换
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic booleanareColorsWithinTolerance(Color color1, Color color2, int tolerance) 判断颜色是否在容差范围内 对比两个颜色的相似度,判断这个相似度是否小于 tolerance 容差值static booleanareColorsWithinTolerance(Color color1, Color color2, Color tolerance) 判断颜色是否在容差范围内 对比两个颜色的相似度,判断这个相似度是否小于 tolerance 容差值static StringgetMainColor(BufferedImage bufferedImage) 获取图片大概的主题色 循环所有的像素点,取出出现次数最多的一个像素点的RGB值static StringgetMainColor(File input) 获取图片大概的主题色 循环所有的像素点,取出出现次数最多的一个像素点的RGB值static StringgetMainColor(String input) 获取图片大概的主题色 循环所有的像素点,取出出现次数最多的一个像素点的RGB值static Color十六进制颜色码转RGB颜色值static BufferedImageremove(BufferedImage bufferedImage, Color override, int tolerance) 背景移除 图片去底工具 将 "纯色背景的图片" 还原成 "透明背景的图片" 将纯色背景的图片转成矢量图 取图片边缘的像素点和获取到的图片主题色作为要替换的背景色 再加入一定的容差值,然后将所有像素点与该颜色进行比较 发现相同则将颜色不透明度设置为0,使颜色完全透明.static BufferedImageremove(ByteArrayOutputStream outputStream, Color override, int tolerance) 背景移除 图片去底工具 将 "纯色背景的图片" 还原成 "透明背景的图片" 将纯色背景的图片转成矢量图 取图片边缘的像素点和获取到的图片主题色作为要替换的背景色 再加入一定的容差值,然后将所有像素点与该颜色进行比较 发现相同则将颜色不透明度设置为0,使颜色完全透明.static boolean背景移除 图片去底工具 将 "纯色背景的图片" 还原成 "透明背景的图片" 将纯色背景的图片转成矢量图 取图片边缘的像素点和获取到的图片主题色作为要替换的背景色 再加入一定的容差值,然后将所有像素点与该颜色进行比较 发现相同则将颜色不透明度设置为0,使颜色完全透明.static boolean背景移除 图片去底工具 将 "纯色背景的图片" 还原成 "透明背景的图片" 将纯色背景的图片转成矢量图 取图片边缘的像素点和获取到的图片主题色作为要替换的背景色 再加入一定的容差值,然后将所有像素点与该颜色进行比较 发现相同则将颜色不透明度设置为0,使颜色完全透明.static boolean背景移除 图片去底工具 将 "纯色背景的图片" 还原成 "透明背景的图片" 将纯色背景的图片转成矢量图 取图片边缘的像素点和获取到的图片主题色作为要替换的背景色 再加入一定的容差值,然后将所有像素点与该颜色进行比较 发现相同则将颜色不透明度设置为0,使颜色完全透明.
-
Field Details
-
IMAGES_TYPE
目前暂时支持的图片类型数组 其他格式的不保证结果
-
-
Constructor Details
-
Removal
public Removal()
-
-
Method Details
-
remove
背景移除 图片去底工具 将 "纯色背景的图片" 还原成 "透明背景的图片" 将纯色背景的图片转成矢量图 取图片边缘的像素点和获取到的图片主题色作为要替换的背景色 再加入一定的容差值,然后将所有像素点与该颜色进行比较 发现相同则将颜色不透明度设置为0,使颜色完全透明.- Parameters:
inputPath- 要处理图片的路径outputPath- 输出图片的路径tolerance- 容差值[根据图片的主题色,加入容差值,值的范围在0~255之间]- Returns:
- 返回处理结果 true:图片处理完成 false:图片处理失败
-
remove
背景移除 图片去底工具 将 "纯色背景的图片" 还原成 "透明背景的图片" 将纯色背景的图片转成矢量图 取图片边缘的像素点和获取到的图片主题色作为要替换的背景色 再加入一定的容差值,然后将所有像素点与该颜色进行比较 发现相同则将颜色不透明度设置为0,使颜色完全透明.- Parameters:
input- 需要进行操作的图片output- 最后输出的文件tolerance- 容差值[根据图片的主题色,加入容差值,值的取值范围在0~255之间]- Returns:
- 返回处理结果 true:图片处理完成 false:图片处理失败
-
remove
背景移除 图片去底工具 将 "纯色背景的图片" 还原成 "透明背景的图片" 将纯色背景的图片转成矢量图 取图片边缘的像素点和获取到的图片主题色作为要替换的背景色 再加入一定的容差值,然后将所有像素点与该颜色进行比较 发现相同则将颜色不透明度设置为0,使颜色完全透明.- Parameters:
input- 需要进行操作的图片output- 最后输出的文件override- 指定替换成的背景颜色 为null时背景为透明tolerance- 容差值[根据图片的主题色,加入容差值,值的取值范围在0~255之间]- Returns:
- 返回处理结果 true:图片处理完成 false:图片处理失败
-
remove
背景移除 图片去底工具 将 "纯色背景的图片" 还原成 "透明背景的图片" 将纯色背景的图片转成矢量图 取图片边缘的像素点和获取到的图片主题色作为要替换的背景色 再加入一定的容差值,然后将所有像素点与该颜色进行比较 发现相同则将颜色不透明度设置为0,使颜色完全透明.- Parameters:
bufferedImage- 需要进行处理的图片流override- 指定替换成的背景颜色 为null时背景为透明tolerance- 容差值[根据图片的主题色,加入容差值,值的取值范围在0~255之间]- Returns:
- 返回处理好的图片流
-
remove
public static BufferedImage remove(ByteArrayOutputStream outputStream, Color override, int tolerance) 背景移除 图片去底工具 将 "纯色背景的图片" 还原成 "透明背景的图片" 将纯色背景的图片转成矢量图 取图片边缘的像素点和获取到的图片主题色作为要替换的背景色 再加入一定的容差值,然后将所有像素点与该颜色进行比较 发现相同则将颜色不透明度设置为0,使颜色完全透明.- Parameters:
outputStream- 需要进行处理的图片字节数组流override- 指定替换成的背景颜色 为null时背景为透明tolerance- 容差值[根据图片的主题色,加入容差值,值的取值范围在0~255之间]- Returns:
- 返回处理好的图片流
-
hexToRgb
-
areColorsWithinTolerance
-
areColorsWithinTolerance
-
getMainColor
-
getMainColor
-
getMainColor
获取图片大概的主题色 循环所有的像素点,取出出现次数最多的一个像素点的RGB值- Parameters:
bufferedImage- 图片流- Returns:
- 返回一个图片的大概的色值 一个16进制的颜色码
-