求Qt高质量反走样算法思路

马丁陈 2018-01-12 02:53:22
小弟最近在写一些程序代码,其中涉及一个圆的边缘反走样问题,其中使用Qt自带的反走样效果绘制(QPainter::setRenderHint)),反走样的顶端边缘特性如下图所示:


而小弟自己写的代码使用OpenGL,然后用高斯滤波(核5*5)的结果如下图所示:


从两张图的比较来看,边缘过渡效果不像Qt自带算法的过渡平滑、方向性强,请问各位大神,qt的这种反走样的实现是具体采用哪一种反走样算法?小弟曾经尝试看qt源码,但是因为能力有限实在是看不懂painter部分的实现。求大神点拨!
...全文
931 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
糖少主 2019-01-23
  • 打赏
  • 举报
回复
Qt的反走样算法很像是Wu反走样,我最近自己实现了这个,但是觉得也不太理想

赵4老师 2018-01-16
  • 打赏
  • 举报
回复
Qt是开源的,看Qt反走样相关源代码。
赵4老师 2018-01-15
  • 打赏
  • 举报
回复
Qt底层没调用GDI+ ?
  • 打赏
  • 举报
回复
反走样处理本来就是为了视觉效果,不损失信息要保留原始图像。
马丁陈 2018-01-15
  • 打赏
  • 举报
回复 1
引用 7 楼 zhao4zhong1 的回复:
Qt底层没调用GDI+ ?
赵老师好,说实话小弟不是太看得懂qt源码,但是从网上的资料来看,qpainter及其相关类的确是对GDI的封装,但是即使知道是对GDI的封装了,那么在反走样方面有什么具体思路吗……
马丁陈 2018-01-15
  • 打赏
  • 举报
回复
引用 5 楼 bycy0801 的回复:
自己顶一下,不然沉了……
其实我就是想获得类似Qt自带效果的这种反走样= =,因为小弟从事的3d打印行业,这种反走样的效果是打印效果最好的
马丁陈 2018-01-13
  • 打赏
  • 举报
回复
自己顶一下,不然沉了……
马丁陈 2018-01-12
  • 打赏
  • 举报
回复
但是就是仍然没有获得类似qt的效果。。。
马丁陈 2018-01-12
  • 打赏
  • 举报
回复
其实小弟也知道看上去的话两侧图左边好一些,但是其实小弟翻阅过资料,高斯滤波的结果只是看上去效果很好,其实已经损失了很多信息,参见http://blog.csdn.net/shenziheng1/article/details/50838970或者以下截图


小弟还真去尝试了双边滤波,先高斯再双边滤波,结果如下
qq_41623444 2018-01-12
  • 打赏
  • 举报
回复
确实左边的还好些
  • 打赏
  • 举报
回复
没有多大差别,左侧看起来比Qt的处理还好一些。

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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