public class BackgroundRemoval extends Object
图片背景识别处理、背景替换、背景设置为矢量图
根据一定规则算出图片背景色的RGB值,进行替换
2020-05-21 16:36
Modifier and Type | Field and Description |
---|---|
static String[] |
IMAGES_TYPE
目前暂时支持的图片类型数组
其他格式的不保证结果
|
Constructor and Description |
---|
BackgroundRemoval() |
Modifier and Type | Method and Description |
---|---|
static boolean |
areColorsWithinTolerance(Color color1,
Color color2,
Color tolerance)
判断颜色是否在容差范围内
对比两个颜色的相似度,判断这个相似度是否小于 tolerance 容差值
|
static boolean |
areColorsWithinTolerance(Color color1,
Color color2,
int tolerance)
判断颜色是否在容差范围内
对比两个颜色的相似度,判断这个相似度是否小于 tolerance 容差值
|
static BufferedImage |
backgroundRemoval(BufferedImage bufferedImage,
Color override,
int tolerance)
背景移除
图片去底工具
将 "纯色背景的图片" 还原成 "透明背景的图片"
将纯色背景的图片转成矢量图
取图片边缘的像素点和获取到的图片主题色作为要替换的背景色
再加入一定的容差值,然后将所有像素点与该颜色进行比较
发现相同则将颜色不透明度设置为0,使颜色完全透明.
|
static BufferedImage |
backgroundRemoval(ByteArrayOutputStream outputStream,
Color override,
int tolerance)
背景移除
图片去底工具
将 "纯色背景的图片" 还原成 "透明背景的图片"
将纯色背景的图片转成矢量图
取图片边缘的像素点和获取到的图片主题色作为要替换的背景色
再加入一定的容差值,然后将所有像素点与该颜色进行比较
发现相同则将颜色不透明度设置为0,使颜色完全透明.
|
static boolean |
backgroundRemoval(File input,
File output,
Color override,
int tolerance)
背景移除
图片去底工具
将 "纯色背景的图片" 还原成 "透明背景的图片"
将纯色背景的图片转成矢量图
取图片边缘的像素点和获取到的图片主题色作为要替换的背景色
再加入一定的容差值,然后将所有像素点与该颜色进行比较
发现相同则将颜色不透明度设置为0,使颜色完全透明.
|
static boolean |
backgroundRemoval(File input,
File output,
int tolerance)
背景移除
图片去底工具
将 "纯色背景的图片" 还原成 "透明背景的图片"
将纯色背景的图片转成矢量图
取图片边缘的像素点和获取到的图片主题色作为要替换的背景色
再加入一定的容差值,然后将所有像素点与该颜色进行比较
发现相同则将颜色不透明度设置为0,使颜色完全透明.
|
static boolean |
backgroundRemoval(String inputPath,
String outputPath,
int tolerance)
背景移除
图片去底工具
将 "纯色背景的图片" 还原成 "透明背景的图片"
将纯色背景的图片转成矢量图
取图片边缘的像素点和获取到的图片主题色作为要替换的背景色
再加入一定的容差值,然后将所有像素点与该颜色进行比较
发现相同则将颜色不透明度设置为0,使颜色完全透明.
|
static String |
getMainColor(BufferedImage bufferedImage)
获取图片大概的主题色
循环所有的像素点,取出出现次数最多的一个像素点的RGB值
|
static String |
getMainColor(File input)
获取图片大概的主题色
循环所有的像素点,取出出现次数最多的一个像素点的RGB值
|
static String |
getMainColor(String input)
获取图片大概的主题色
循环所有的像素点,取出出现次数最多的一个像素点的RGB值
|
static Color |
hexToRgb(String hex)
十六进制颜色码转RGB颜色值
|
public static String[] IMAGES_TYPE
public static boolean backgroundRemoval(String inputPath, String outputPath, int tolerance)
inputPath
- 要处理图片的路径outputPath
- 输出图片的路径tolerance
- 容差值[根据图片的主题色,加入容差值,值的范围在0~255之间]public static boolean backgroundRemoval(File input, File output, int tolerance)
input
- 需要进行操作的图片output
- 最后输出的文件tolerance
- 容差值[根据图片的主题色,加入容差值,值的取值范围在0~255之间]public static boolean backgroundRemoval(File input, File output, Color override, int tolerance)
input
- 需要进行操作的图片output
- 最后输出的文件override
- 指定替换成的背景颜色 为null时背景为透明tolerance
- 容差值[根据图片的主题色,加入容差值,值的取值范围在0~255之间]public static BufferedImage backgroundRemoval(BufferedImage bufferedImage, Color override, int tolerance)
bufferedImage
- 需要进行处理的图片流override
- 指定替换成的背景颜色 为null时背景为透明tolerance
- 容差值[根据图片的主题色,加入容差值,值的取值范围在0~255之间]public static BufferedImage backgroundRemoval(ByteArrayOutputStream outputStream, Color override, int tolerance)
outputStream
- 需要进行处理的图片字节数组流override
- 指定替换成的背景颜色 为null时背景为透明tolerance
- 容差值[根据图片的主题色,加入容差值,值的取值范围在0~255之间]public static Color hexToRgb(String hex)
hex
- 十六进制颜色码public static boolean areColorsWithinTolerance(Color color1, Color color2, int tolerance)
color1
- 颜色1color2
- 颜色2tolerance
- 容差值public static boolean areColorsWithinTolerance(Color color1, Color color2, Color tolerance)
color1
- 颜色1color2
- 颜色2tolerance
- 容差色值public static String getMainColor(String input)
input
- 图片文件路径public static String getMainColor(File input)
input
- 图片文件public static String getMainColor(BufferedImage bufferedImage)
bufferedImage
- 图片流Copyright © 2024. All rights reserved.