关闭

图像合成,做一个类似制作大头贴的系统

1026人阅读 评论(0) 收藏 举报

这几天在搞图像编程,发现真的还是比较的累,最主要我想还是没有入门,到现在还是对其非常的不了解,像素的搜索策略,还是没有能找到一个头绪

但是无论怎么说,还是做出一点点的东西了,呵呵~ 至少参考网上的,理解了一个简单的做法,如下:

首先两个设备DC分别装入了前景图和背景图,然后另一个DC载入一幅二值图像,作为mask图。将载入了前景图的设备环境m_dcFore的背景色设为前景图的背景色,将m_dcFore拷贝到载入了mask图的设备环境maskDc,得到一个新的mask图。新mask图就是前景图中背景色的地方转为白色,其他转为黑色的一幅图RGB(255,255,255)。在将前景图拷贝到mask图的过程中,系统首先将前景图转换为单色图。当位图在彩色与单色之间转换时,系统会使用设备的背景色,与背景色相同的地方转换为白色,其他的转换为黑色。设m_dcFore的前景色为白色,背景色为黑色,m_dcForemaskDc做‘与’运算,得到新的前景图。在做‘与’运算时,系统先将单色图转换为彩色图,并用彩色图的前景色和背景色作为转换后的颜色。所以,新的前景图的背景色转变为黑色,其他的保持不变。设背景图的前景色为黑色,背景色为白色,载入了背景图的设备环境m_dcBkmaskDc做‘与’运算,得到新的背景图。新的背景图的前景色转变为黑色,其他的保持不变。将新的背景图与新的前景图做‘或’运算,得到的新图保持了背景图的背景,更融合前景图的前景,达到了我们想要的理想效果。

但是这个做法不可避免的是,但内层区域也出现了与背景相同的颜色,那内层的某块区域也会变成透明.

如何去做呢,用像素搜索,我还是非常的不了解,想起当初的做数学建模的时候,就是因为我提出了一个很好的解决方法,好像是利用模糊数学的方法,只是我看过一些书,对这个方法有点了解,但是后来也没有深入进去的去做.有时只是想从自己有把握的方向出发去做,但是又想人总是要有突破,因循守旧只有永远的落后,所以我也不得不接收给我的挑战,一定要搞定~

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:31518次
    • 积分:491
    • 等级:
    • 排名:千里之外
    • 原创:13篇
    • 转载:18篇
    • 译文:1篇
    • 评论:2条
    最新评论