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

laviewpbt 2010-10-14 09:49:38
各位朋友,我是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

...全文
375 41 打赏 收藏 转发到动态 举报
写回复
用AI写文章
41 条回复
切换为时间正序
请发表友善的回复…
发表回复
air814 2012-09-21
  • 打赏
  • 举报
回复
楼主牛X!~~
ps:楼主有木有仿照ps拾色器和颜色滑条的代码给小妹借鉴一下,感激不尽~
leezivin 2011-12-07
  • 打赏
  • 举报
回复
楼主太牛逼了
W1nds 2011-06-20
  • 打赏
  • 举报
回复
顶一个
shen_wei 2011-06-20
  • 打赏
  • 举报
回复
QQ 的提示问题真多,加不上。。

最近在做图像处理,真难~~
向立天 2010-10-21
  • 打赏
  • 举报
回复
进来支持一下
tiantangxingkong 2010-10-21
  • 打赏
  • 举报
回复
很想知道楼主的撤销重做是怎么实现的,任意操作都可以实现撤销及重做吗?

我在公司写的一个比较简单点的绘制点线圆方面的软件的这个功能是通过读写文件来做的,

楼主是怎样做的?
hzy694358 2010-10-21
  • 打赏
  • 举报
回复
楼主,我也注意你很久了,呵呵
a691662 2010-10-15
  • 打赏
  • 举报
回复
高手………………
雪影 2010-10-15
  • 打赏
  • 举报
回复
lz牛人

jackson35296 2010-10-15
  • 打赏
  • 举报
回复
楼主确实很厉害,建议到Adobe公司应聘
stjay 2010-10-15
  • 打赏
  • 举报
回复
牛人
康斯坦汀 2010-10-15
  • 打赏
  • 举报
回复
LZ很牛,能做到这些付出可想而知,
俺也想跳槽,可是想想能拿出什么东西?什么也没有,杯具阿。
hurryboylqs 2010-10-15
  • 打赏
  • 举报
回复
鹦鹉大版哪里招人,这个应该比较对口 哈哈
louisit 2010-10-15
  • 打赏
  • 举报
回复
顶 ...
他就是大胖胖 2010-10-15
  • 打赏
  • 举报
回复
..................
金金2019 2010-10-15
  • 打赏
  • 举报
回复
牛人 收藏下
realrestore 2010-10-15
  • 打赏
  • 举报
回复
顶 !
Hiiishe 2010-10-15
  • 打赏
  • 举报
回复
楼主对自己感兴趣的东西有一颗炽热的心,顶。
fishion 2010-10-15
  • 打赏
  • 举报
回复
坚持就是胜利,顶LZ
fangchao918628 2010-10-15
  • 打赏
  • 举报
回复
高手.............
加载更多回复(21)

1,649

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧