最近在写个实验程序,小波变换是预处理模块于是乎开始想法子实现之,好不容易找到了小波变换源程序结果只支持灰度图,于是乎又开始找从彩色图转灰度图的源程序(其实自己写也不太麻烦,无非就是Gray = R * 0.299 G *0.587 B * 0.114对每个点映射下,但有现成的当然更好啦~),搞了半天除了学会用注销键让屏幕变灰,然后截取系统自动转换的灰图(把要变灰的图之前打开当作背景),再就是发现了这个东东~很多转换在平时都很常用,特别是要实现其中某块功能把它们加入当前项目的时候很有参考价值(其实就算不实现,看看具体代码还是有助于更理性的认识这些处理过程的),于是乎在这里与各位作图像处理的同学共享哈。
顺便在此向软件作者表示衷心的感谢和支持哈~唯一遗憾的是代码用java编写,还要花点时间转成C# @.@
----传说中分割线,以上内容其实可以不用看~(戒律-防御!我闪~)----
软件作者BLOG:http://www.cnblogs.com/island/archive/2007/09/23/895052.html
以下为复制:
原创图像处理软件(含源码) 如果你对源代码进行了进一步的加工和完善可以传我一份儿,如果你愿意的话~
------本人原创图像处理软件,欢迎下载使用! 感谢QuickPoint大侠的热心帮助!
可执行JAR文件 下载地址:http://www.cnblogs.com/Files/island/Touch_jar.rar(含CHM帮助文档)
可执行EXE文件下载地址:http://www.cnblogs.com/Files/island/Touch_exe.rar(含CHM帮助文档,运行仍然需要JRE的支持)
源 代 码 下载地址:http://www.cnblogs.com/Files/island/Touch源代码.rar
关于源码的几点说明:
1. 本系统的编制参考了一些范例但绝大部分都是自己写的。
2. 由于时间匆忙,所以系统结构不是很富有层次感,制作的时候重视功能的实现而不太注重可读性——注释不多。
3. 系统实现用的是一些很基础的方法,面向对象的继承、封装、多态等技术用得很少。
4. 本人既非软件学院又非图像所的,加上时间仓促,疏漏之处再所难免,所以写得不好请见谅。权作抛砖引玉吧。
5. 源码仅供学习之用,可以自由复制、传播、甚至修改,如果你可以将它改的更完善、更强大繁请你给我发一份儿,如果你愿意的话。
软件还有很多需要完善的地方,也欢迎大家提建议。图像处理算法(除系统放大、矩形剪裁调用API函数外,另外Huffman编码算法参考过一些范例)都是自己根据算法的原理写的,不保证细节上完全正确,但是处理效果还是不错地。
本软件用纯java语言编制而成,故其运行需要JRE(java运行环境,可以在这里选择Download JRE 进行下载,同时也正因为如此它可以在安装了JRE的Linux等各类操作系统上运行.
该软件支持jpg,gif、png图片格式,大致有下列功能:
1. 图像放大、缩小、复制、打印、获取当前图像任意位置颜色信息。
2. 显示图像灰度直方图。
3. 灰度统计:图像宽度、高度、最小灰度、最大灰度、灰度均值 Mean、灰度方差 Variance、标准差、偏态 Skewness、峰度系数 Kurtosis、熵 (Entropy)。
4. RGB三原色分离、RGB图转灰度图、灰度均衡、图像可调阈值二值化、图像反色。
5. 图像可调阈值边缘检测:Roberts算子;Prewitt模板;Sobel模板;Kirsch算子
6. 图像Huffman编码。
7. 调色板、屏幕捕捉、屏幕取色、屏幕上任意两点距离的测量。
8. 水平镜像、垂直镜像、顺时针转90度、逆时针转90度、矩形剪裁、水平剪除、垂直剪除。 9. 新版本改进:去掉了一些华而不实的东西,完善了不少细节,添加了帮助文档,并且打了个包,嗯,体验下就知道了……
BTW:水平剪除好比在纸上画两根水平线,剪除两线之间的部分,将剩下的部分合并到一起作为结果。垂直剪除类推。这两个功能是HyperSnap里面我最喜欢的两个功能所以就把它实现了,呵呵~
并且每种操作都配有相应的快捷键。
部分效果如下(还有部分未整理):
http://www.cnblogs.com/images/cnblogs_com/island/Beayty.swf (美女,嗯嗯~)
程序启动:
部分菜单:
快捷键一览:
由于时间关系功能性开发到此结束。不过我还是会在细节上着墨地。感谢诸位的支持,有问题可以跟我联系。