cnm
2015-03-31 11:55:13
原
java图片处理,将扫描件中的签名进行背景透明处理
前几天出差,会来报销发现好麻烦的;
填写报销单,找领导签字,由于是分公司,要找总公司的老大签字才行;
中午将报销单发给总公司的秘书,叫她帮忙找领导签字,得知领导在开会,估计要明天才能签字发回来;
由于报销单填写错误,又要找领导签字。。。又得要一天哪。
so,咱们是什么人呐,ps还是会一点,我就有了这个想法:
从上次秘书MMfa发回来的扫描件中,把领导签的名字,截取出来
(为了不透露个人信息,从网上搜了个签名)
,然后拼接到报销单签名处:
颜色不对啊,有么有?只要不是瞎子,一眼就看粗来这是PS的。
next:
PS抠图不专业呀,这么个签名是黑色的,背景是灰色的,抠了一上午,就是抠不出想要的效果。
怎么办呢?用程序处理一下?
[代码有三百行左右(包括多余的换行之类的),就不全贴出来了]
这是将白色变成透明的函数
public int filterRGB(int x, int y, int rgb) { DirectColorModel dcm = (DirectColorModel) ColorModel.getRGBdefault(); int red = dcm.getRed(rgb); int green = dcm.getGreen(rgb); int blue = dcm.getBlue(rgb); int alp = dcm.getAlpha(rgb); // 指定颜色替换为透明 if (red == 255 && blue == 255 && green == 255) { // 如果像素为白色,则让它透明 alpha = 0; } else { alpha = 255; } // if (alp == 0) { // // png和gif格式图片透明部分仍然透明 // alpha = 0; // } else { // alpha = 255; // } return alpha << 24 | red << 16 | green << 8 | blue; }
图片预处理:将灰色背景处理成白色,请看附件噢~~
工程的jdk_1.6
-----忘记放效果图了,在这里插一下
第二步到第三步,需要自己手动处理。签名不适合使用干扰线处理。
这部分代码还可以用于简单的验证码识别噢~
猜你喜欢
请下载代码后再发表评论
文件名:Pic.zip,文件大小:15.787K
下载
- /
- /Pic
- /Pic/.classpath
- /Pic/.project
- /Pic/.settings
- /Pic/.settings/org.eclipse.jdt.core.prefs
- /Pic/bin
- /Pic/bin/PicTouMing.class
- /Pic/bin/PicTouMings.class
- /Pic/jb.jpg
- /Pic/src
- /Pic
相关代码
最近下载
zcl02036716 LV17
2020年6月22日
15803750174 LV1
2020年5月11日
muzihang LV1
2020年4月28日
loveyay4 LV1
2020年4月10日
CLATZJ LV19
2020年3月6日
玩手机的小胖 LV3
2019年10月24日
admin6688 LV2
2019年8月30日
fferer123 LV1
2019年8月21日
抢红包 LV2
2019年6月5日
619229480 LV1
2019年4月16日
最近浏览
Dominick LV14
3月6日
ceocdo
1月23日
暂无贡献等级
DongYingdie LV2
2023年12月21日
酷鸽鸽鸽
2023年10月8日
暂无贡献等级
2036495585 LV9
2023年9月26日
wason1978
2023年8月23日
暂无贡献等级
aini2004611 LV2
2023年1月19日
myllxy
2022年6月24日
暂无贡献等级
ab949606839
2022年1月13日
暂无贡献等级
newbag LV9
2021年8月9日