zoukankan      html  css  js  c++  java
  • 图像双三次插值中遇到的问题(镶边、错误点)

    测试图像:

    src3.bmp 0 2 tar

    src3.bmp 37.5 2 tar:会出现小点(其值为205)

    分析原因是该处点未赋值!

    可以发现若缩小循环后,所有未赋值的点都会是205。

     

    具体分析是if语句条件没判别全,导致有点没被覆盖上赋值。if=255没考虑。

                    if(middle<255)
                    pbTag[y*2*iWidth+x]=middle;
                    else if(middle>255)
                        pbTag[y*2*iWidth+x]=255;

    应改为:

    if(middle<=255)
                    pbTag[y*2*iWidth+x]=middle;
                    else if(middle>255)
                        pbTag[y*2*iWidth+x]=255;

    // if(middle>255)
    // pbTag[y*2*iWidth+x]=255;
    // else
    // pbTag[y*2*iWidth+x]=middle;

    会发现并不是全白的!隐约会看到灰色块!其值为254!

     

     对于镶边的问题也是插值后值的问题:

    某些值为负值!

    应加入判断:

                    if(middle<=255&&middle>=0)
                    pbTag[y*2*iWidth+x]=middle;
                    else if(middle>255)
                        pbTag[y*2*iWidth+x]=255;
                    else 
                        pbTag[y*2*iWidth+x]=0;

    还是能看到平坦区域的254和255差别。

  • 相关阅读:
    Python自学笔记(12day)
    Python自学笔记(11day)
    Python自学笔记(10day)
    Python自学笔记(9day)
    Python自学笔记(8day)
    form标签的使用
    form标签的使用法
    img标签的使用方法
    <a></a>标签的使用
    html的标签
  • 原文地址:https://www.cnblogs.com/wxl845235800/p/9210594.html
Copyright © 2011-2022 走看看