上次講到了用DIB方法來獲取圖像的像素。從這次開始將如果運用已經(jīng)得到的像素來處理圖像。
圖像插值放大的方法有很多,最主要的有二次線性插值和三次線性插值這兩種。這次我把自己的程序中所用的二次線性插值的算法公布給大家,希望對各位要使用VB寫類似程序的朋友有所幫助。
程序中用到的API、數(shù)據(jù)類型、全局變量的定義請參考上一篇:《 VB實現(xiàn)圖像在數(shù)據(jù)庫的存儲與顯示 》
Public Sub ZoomImage(ByVal OutPutWidth As Long, ByVal OutputHeight As Long)
Dim I As Long
Dim L As Long
Dim X As Long
Dim Y As Long
Dim Xb As Long
Dim Yb As Long
Dim Xe As Long
Dim Ye As Long
Dim M As Integer
Dim N As Integer
Dim CurR As Long
Dim CurG As Long
Dim CurB As Long
Dim NxtR As Integer
Dim NxtG As Integer
Dim NxtB As Integer
Dim DR As Single
Dim DG As Single
Dim DB As Single
Dim DRt As Single
Dim DGt As Single
Dim DBt As Single
Dim Xratio As Single
Dim Yratio As Single
Dim CurStep As Single
Dim NxtStep As Single
Dim NegN As Single
圖像插值放大的方法有很多,最主要的有二次線性插值和三次線性插值這兩種。這次我把自己的程序中所用的二次線性插值的算法公布給大家,希望對各位要使用VB寫類似程序的朋友有所幫助。
程序中用到的API、數(shù)據(jù)類型、全局變量的定義請參考上一篇:《 VB實現(xiàn)圖像在數(shù)據(jù)庫的存儲與顯示 》
Public Sub ZoomImage(ByVal OutPutWidth As Long, ByVal OutputHeight As Long)
Dim I As Long
Dim L As Long
Dim X As Long
Dim Y As Long
Dim Xb As Long
Dim Yb As Long
Dim Xe As Long
Dim Ye As Long
Dim M As Integer
Dim N As Integer
Dim CurR As Long
Dim CurG As Long
Dim CurB As Long
Dim NxtR As Integer
Dim NxtG As Integer
Dim NxtB As Integer
Dim DR As Single
Dim DG As Single
Dim DB As Single
Dim DRt As Single
Dim DGt As Single
Dim DBt As Single
Dim Xratio As Single
Dim Yratio As Single
Dim CurStep As Single
Dim NxtStep As Single
Dim NegN As Single

