圖像雙三次插值中遇到的問題(鑲邊、錯誤點)


測試圖像:

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差別。


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com