各位朋友,宣传下我自己。

时间:2022-07-31 03:31:21
各位朋友,我是laviewpbt,在CSDN都混了也有6年多了,我的主要研究对象是图像处理,更仔细的说是图像编辑方面的学习。一直,我都是以Photoshop为研究和模仿对象,把写出一个自己的迷你PS作为终极目标,从一个一个小小的功能到整体功能界面的整合,一步一步,现在想来,我走的真的好幸苦,为了这个程序,曾经有多少个夜晚,多少次为查找一个小小的错误而心神不定,也放弃了很多时间去和家人朋友谈谈心,然而,因为这样一个软件涉及到了太多太多的细节,到目前为止,我依旧没有搞出一个完整和完美的程序。静心下来思考,也许是我的目标过于庞大,不切实际,也许是能力差,我觉得确实没有必要在这样下去了,但是我却不想把我积累这些宝贵的经验和调试经历埋藏在我的电脑里,因此,如果朋友们在图像编辑上遇到了和我研究对象相关的问题,我希望能给大家提供帮助,同时也希望我的帮助能获得一定的经济利益。
    
具体的来说,在这些年的学习和研究中,我对以下几个方面都有了相当透彻的认识。

一、选区
学过PS的朋友应该都知道选区是PS的精华之一,这也是大部分图像软件无法和PS相提并论的原因。在我的研究中,我对选区的实现有了非常彻底的掌握,基本上PS中的选区功能我都有实现,具体列表如下:
1) 矩形、椭圆、单行、单列、套索、多边形套索、魔术棒等选区工具的实现,包括他们的多种设置,比如抗锯齿、羽化。
2) 各种选区的并、交、差、交叉。
3) 选区的蠕动显示。很多软件都有这个功能,不过他们都有以一个致命弱点,就是选区稍微复杂些,为达到蠕动效果就会大量占用CPU,这个问题在我这里达到完美解决。
4) 全选、反向选择、色彩范围、边界、扩展、收缩、羽化、平滑、所有图层、保存和加载等PS中选择菜单的功能。像色彩范围这些在网络上基本上是找不到具有算法价值参考意义的文字的。
5) 其他一些我自己扩展的功能。

二、图层
这个怎么说呢,不可能做到和PS的图层一致,目前我能达到的水平对于一般的应用已经足够的。
1) 可添加任意多图层,只要内存够。
2) 可调整图层的位置、不透明度、支持所有PS能支持的图层混合模式。
3) 可合并图层、移动各图层在Z轴的位置,支持直接从文件添加图层等。
4) 其他功能

三、蒙版
蒙版也是PS的一大特色,其实蒙版和选区一样,就是一副和画布一样大小的灰度图。
目前我也能做到给图层添加蒙版、应用蒙版等功能。

四、图像格式加载。
目前我自己完全通过代码而不借助于其他图像处理库可解码和编码的图像有:BMP、DCM、DDS、FIT、ICO、IFF、PCD、PCX、PNM、PSD、RAS、RSB、SCT、SGI、TGA、WBM、XBM、XWD,加上GDI+可以支持的PNG、JPG、TIFF、GIF、WMF、EMF等共有23种格式了,实际上我也有直接解码PNG、JPG、GIF的代码。而GDI+对BMP格式的支持并不完美,有很多用PS保存的BMP他都打不开。
在以上诸多格式中,有些格式如DCM、FIT等属于专业性很强的图像格式,可能解码还不到位,而其他一些如TGA、PCX等支持的很完美,连一些有名的看图软件如ACDSEE不能正确解码的我这里也可以解码,而DDS格式似乎也很少有可参考的代码。

五、图像模式的转换
这个转换是指图像在1\4\8\16\24\32位之间的*变换。这个过程实际上有很多技巧,也需要很强的图像编码能力和对位图的理解。高位向低位转换时如何保证尽量不降低图像的视觉效果,也是个难点和重点。特别指出的是,PS中把图像保存为16位图像时,不会抖动,导致有些图像(比如蓝色的天空)会有明显的类似皱纹的效果。在我这里可以明显消除这个问题。

六、调整图像
不管你想不相信,目前自动色阶、自动对比度、色阶、曲线、色彩平衡、黑白、通道混合气、反向、色调分离、阀值、渐变映射、可选颜色、去色、色调均化、亮度\对比度,色相\饱和度这些调整效果我做到的和PS的效果在99%上是想同的,当然这些都是基于选区的,你认为你能写出一个完美的和PS一致的反色效果吗?呵呵。

七、一百多个常用滤镜
滤镜是部分朋友特别喜欢的东西,这一块我也是研究了比较多,在速度和效果都一直在向PS靠近。具体简单列表如下
模糊---模糊、高斯模糊、运动模糊、径像模糊、方框模糊、缩放模糊、表面模糊、远景模糊、失焦模糊。
锐化---普通锐化、进一步锐化、USM锐化
风格化----雕刻、浮雕、风、曝光过度、喷溅、轮廓
扭曲--- 水波、波浪、玻璃、极坐标、挤压、镜头形变、切变、旋转扭曲、玻璃瓦片、滑移、百叶窗、极面倒转、置换。
艺术----柔光、油画、柔和处理、幻影
像素化---碎片、马赛克、立体派
渲染---云、分层云彩、五彩缤纷、镜头光晕、超新星、多种分行图、地形
其他---高反差保留、位移、最大值、最小值、自定义。
分析—DCT变换、FCT变换、WALSH变换
还有其他一些滤镜,这里不一一列举。

八、很完美的图像缩放、移动
如果你说这是个简单的问题,那么我感肯定你是个新手,要做到PS缩放工具的所有功能,非得有一番内功。

九、丰富的渐变效果
基本上能做到PS的线性渐变、径向渐变、对称渐变、菱形渐变等效果,也可以做出简单的渐变编辑器。

当然,还有其他很多细节的东西,比如操作界面的设计技巧,直方图的绘制技巧,计算\应用图像、全仿PS的拾色器,图像的缩放,图像的抗锯齿旋转(GDI+的旋转至少有两个边不抗锯齿哦)等等,这里就不详述了。

说了这些,我的意思无非就是让大家知道有这么个人已经做了这些事情,而这些事情也许对你一点用也没有,也有可能你也正在研究和此类似的事情。而如果您有兴趣,希望能和 你多交流交流。

另附本人的联系方式:
QQ:33184777 E-MAIL: laviewpbt@sina.com

26 个解决方案

#1


楼主强!
记号!有可能日后有相关图形方面的项目和楼主联系

#2


楼主超强。。。

#3


看 看

#4


各位朋友,宣传下我自己。

#5


各位朋友,宣传下我自己。

#6


不是一般的强

#7


执着成就卓越

#8


超强,特来膜拜下VB的老友,
以前弄过一点GDI画图,蛮有意思的,
怀念~

#9


维也纳在VB版再也不冒泡了。

#10


楼主是个强人,佩服!

#11


既然有PS,自己再更一个,意义何在?证明自己的技术牛B?

#12


看看。。。。

#13


牛A 与 牛C 之间的人

#14


牛人。。 各位朋友,宣传下我自己。

#15


各位朋友,宣传下我自己。

#16


引用 13 楼 ly_longyue 的回复:
牛A 与 牛C 之间的人

各位朋友,宣传下我自己。

#17


sff

#18


学习了

#19


楼主很牛 我也宣传一下我的网站  http://www.chengxurensheng.com 大家多捧场

#20


楼主是实在人,支持下。

#21


我一直纳闷,楼主在博客园也发了,也是"在CSDN都混了也有6年多了";


呵呵,楼主牛人,有机会认识认识。

#22


11楼说话真是尖酸刻薄,美国人已经有了GPS,你为什么非要搞北斗?

想念楼主,感谢你对我的莫大帮助,呵呵,

前段时间忙着编辑我们学校的宣传片,退群了,不知道还能否接纳我重新加入?

#23


引用 13 楼 ly_longyue 的回复:
牛A 与 牛C 之间的人

估计是.

#24


牛X!~~

#25


太强了。。。。
我关心怎么用C#快速抠图
不知道这个功能楼主实现了没有?
欢迎交流。。

#26


各位朋友,宣传下我自己。

#1


楼主强!
记号!有可能日后有相关图形方面的项目和楼主联系

#2


楼主超强。。。

#3


看 看

#4


各位朋友,宣传下我自己。

#5


各位朋友,宣传下我自己。

#6


不是一般的强

#7


执着成就卓越

#8


超强,特来膜拜下VB的老友,
以前弄过一点GDI画图,蛮有意思的,
怀念~

#9


维也纳在VB版再也不冒泡了。

#10


楼主是个强人,佩服!

#11


既然有PS,自己再更一个,意义何在?证明自己的技术牛B?

#12


看看。。。。

#13


牛A 与 牛C 之间的人

#14


牛人。。 各位朋友,宣传下我自己。

#15


各位朋友,宣传下我自己。

#16


引用 13 楼 ly_longyue 的回复:
牛A 与 牛C 之间的人

各位朋友,宣传下我自己。

#17


sff

#18


学习了

#19


楼主很牛 我也宣传一下我的网站  http://www.chengxurensheng.com 大家多捧场

#20


楼主是实在人,支持下。

#21


我一直纳闷,楼主在博客园也发了,也是"在CSDN都混了也有6年多了";


呵呵,楼主牛人,有机会认识认识。

#22


11楼说话真是尖酸刻薄,美国人已经有了GPS,你为什么非要搞北斗?

想念楼主,感谢你对我的莫大帮助,呵呵,

前段时间忙着编辑我们学校的宣传片,退群了,不知道还能否接纳我重新加入?

#23


引用 13 楼 ly_longyue 的回复:
牛A 与 牛C 之间的人

估计是.

#24


牛X!~~

#25


太强了。。。。
我关心怎么用C#快速抠图
不知道这个功能楼主实现了没有?
欢迎交流。。

#26


各位朋友,宣传下我自己。