- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图像处理数字水印
图像处理之简单数字水印 - 文字轧花效果
分类:?图像处理2012-03-09 23:18?1594人阅读?评论(0)?收藏?举报
图像处理filternulljcomponentinitializationimage
图像处理之文字轧花效果- 简单数字水印 @ gloomyfish
首先看一下效果,左边是一张黑白的文字图像,右边是混合之后的数字水印效果
?
实现原理
主要是利用位图块迁移算法,首先提取文字骨架,宽度为一个像素。然后将提取的骨架,按
照一定的像素值填充到目标图像中即可。关于位图块迁移算法说明请看这里:
/wiki/Bit_blit
?
程序思路:
1.??????首先创建两张白板的单色位图,读入黑白文字图片,
2.??????移动一个像素位开始读取文字图片中的像素,将每个对应像素与白板单色图片叠加,直
至黑白文字图片完全copy到单色白板中。
3.??????重复上面操作,唯一不同的,将白板像素移动一个像素为,以后开始填充
4.??????分别将两张位图块迁移图片与原黑白文字图片像素完成一个或操作,则得到左上和右下
的文字骨架。
5.??????将两个文字骨架的像素填充到目标彩色图片中,即得到轧花效果的图片
根据输入参数不同,还可得到雕刻效果图片。
?
关键代码解释:
?
实现位图块迁移算法的代码如下:
// one pixel transfer
for(int?row=1; rowheight; row++) {
????int?ta = 0, tr = 0, tg = 0, tb = 0;
????for(int?col=1; colwidth; col++) {
?????? index = row * width + col;
?????? index2 = (row-1) * width + (col-1);
?????? ta = (inPixels[isTop?index:index2] 24) 0xff;
??????? tr = (inPixels[isTop?index:index2] 16) 0xff;
??????? tg = (inPixels[isTop?index:index2] 8) 0xff;
??????? tb = inPixels[isTop?index:index2] 0xff;
??????? outPixels[isTop?index2:index] = (ta 24) | (tr 16) | (tg 8) | tb;
??? }
}
布尔变量isTop决定是否填充单色白板位移(Offset)是零还是一。
?
获取一个像素宽度骨架的方法为processonePixelWidth()主要是利用文字图片是一个二值图像,
从而remove掉多余的像素。
?
混合轧花的方法为embossImage()主要是简单的像素填充,布尔变量主要是用来控制是凹轧花
还是凸轧花效果。所有对文字图像的处理和轧花效果的处理封装在BitBltFilter一个类中.
?
程序效果如下:
?
位图块位移算法实现完全源代码如下:
[java]?view plaincopy
package?com.gloomyfish.zoom.study;??
??
import?java.awt.image.BufferedImage;??
??
import?cess.blur.study.AbstractBufferedImageOp;??
??
public?class?BitBltFilter?extends?AbstractBufferedImageOp?{??
????//?raster?operation?-?bit?block?transfer.??
????//?1975?for?the?Smalltalk-72?system,?For?the?Smalltalk-74?system??
????private?boolean?isTop?=?true;??
??
????/**?
?????*?left?-?top?skeleton?or?right?-?bottom.?
?????*??
?????*?@param?isTop?
?????*/??
????public?void?setTop(boolean?isTop)?{??
????????this.isTop?=?isTop;??
????}??
??????
????/**?
?????*?blend?the?pixels?and?get?the?final?output?image?
?????*??
?????*?@param?textImage?
?????*?@param?targetImage?
???
您可能关注的文档
- 农村实用化学第一单元化肥学习任务1化肥的基本知识MicrosoftWord文档.doc
- 关于地月科普知识集.docx
- 函数连续性的应用研究.doc
- 冷轧课程设计模板.doc
- 关于我国快递行业存在的问题探究.doc
- 分析化学期末复习资料.doc
- 分水器的介绍.doc
- 创新实践报告以卵击石.docx
- 公寓营销推广方案.doc
- 初三数学用列举法求概率综合练习题.doc
- 2023-2024学年北京市延庆区第一中高一上学期10月月考数学试卷含详解.pdf
- 湖南省常德市数学高考试卷与参考答案(2025年).pdf
- 湖南省长沙市第一中2024-2025学年高三上学期月考卷(二)英语(含答案).pdf
- 2024-2025学年四川成都新津中高一新生入学分班质量检测数学试卷含详解.pdf
- 2024-2025学年浙江省杭州市周边重点中四校联考高二上学期10月月考英语试卷含详解.pdf
- 2025高考物理核心知识点汇总.pdf
- 山东省济南市2024年中考英语模拟试卷三(含答案).pdf
- 江苏省徐州市语文小升初试卷及答案指导(2024年).pdf
- 人教版英语中考试卷与参考答案(2025年).pdf
- 《课时把关练》英语必修第二册RJUNIT2PartVWriting写作专练含答案.pdf
文档评论(0)