freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

計算機(jī)圖象處理綜合訓(xùn)練-圖像幾何變換程序設(shè)計-說明書(參考版)

2025-05-26 18:19本頁面
  

【正文】 // 插值 3}}}。 // 插值 1f34 = (unsigned char) (f3 + (x i1) * (f4 f3))。f4 = *((unsigned char *)lpDIBBits + lLineBytes * (lHeight 1 32 j2) + i2)。f2 = *((unsigned char *)lpDIBBits + lLineBytes * (lHeight 1 j2) + i1)。return ((unsigned char) (f1 + (x i1) * (f2 f1)))。 // 返回插值結(jié)果}}else if (fabs(y lHeight + 1) = EXP){ // 要計算的點在圖像下邊緣上且不是最后一點,直接一次插值即可f1 = *((unsigned char *)lpDIBBits + lLineBytes * (lHeight 1 j1) + i1)。f3 = *((unsigned char *)lpDIBBits + lLineBytes * (lHeight 1 j1) + i2)。 // 要計算的點正好是圖像最右下角那一個象素,直接返回該點象素值return f1。 } // 要計算的點不在源圖范圍內(nèi),直接返回 255。 j2 = j1 + 1。 i2 = i1 + 1。EXP = (FLOAT) 。 // 定義一個值,當(dāng)象素坐標(biāo)相差小于改值時認(rèn)為坐標(biāo)相同LONG lLineBytes。 // 四個最臨近象素值unsigned char f12, f34。 LONG j1, j2。對于超出圖像范圍的象素,30 * 直接返回 255。 // 返回}/************************************************************************** 函數(shù)名稱:Interpolation()* 參數(shù): LPSTR lpDIBBits 指向源 DIB 圖像指針 * LONG lWidth 源圖像寬度(象素數(shù)) * LONG lHeight 源圖像高度(象素數(shù)) * FLOAT x 插值元素的 x 坐標(biāo) * FLOAT y 插值元素的 y 坐標(biāo) * 返回值: unsigned char 返回插值計算結(jié)果。// 利用雙線性插值算法來估算象素值*lpDst = Interpolation (lpDIBBits, lWidth, lHeight, j0, i0)。// 計算該象素在源 DIB 中的坐標(biāo)i0 = ((float) j) * fSina + ((float) i) * fCosa + f2。 j lNewWidth。 i lNewHeight。lpbmcbcHeight = (unsigned short) lNewHeight。 lpbmibiHeight = lNewHeight。lpbmc = (LPBITMAPCOREHEADER)lpNewDIB。lpNewDIBBits = ::FindDIBBits(lpNewDIB)。 } // 分配內(nèi)存失敗lpNewDIB = (char * )::GlobalLock((HGLOBAL) hDIB)。 // 兩個常數(shù),這樣不用以后每次都計算了hDIB = (HDIB) ::GlobalAlloc(GHND, lNewLineBytes * lNewHeight + *(LPDWORD)lpDIB + ::PaletteSize(lpDIB))。f1 = (float) ( * (lNewWidth 1) * fCosa * (lNewHeight 1) * fSina+ * (lWidth 1))。lNewLineBytes = WIDTHBYTES(lNewWidth * 8)。fDstY4 = fSina * fSrcX4 + fCosa * fSrcY4。fDstY3 = fSina * fSrcX3 + fCosa * fSrcY3。fDstY2 = fSina * fSrcX2 + fCosa * fSrcY2。fDstY1 = fSina * fSrcX1 + fCosa * fSrcY1。fSrcY4 = (float) ( (lHeight 1) / 2)。fSrcY3 = (float) ( (lHeight 1) / 2)。fSrcY2 = (float) ( (lHeight 1) / 2)。fSrcY1 = (float) ( (lHeight 1) / 2)。 // 計算旋轉(zhuǎn)角度的正弦fCosa = (float) cos((double)fRotateAngle)。 // 獲取圖像的高度fRotateAngle = (float) RADIAN(iRotateAngle)。 // 找到源 DIB 圖像象素起始位置lWidth = ::DIBWidth(lpDIB)。float f1,f2。 // 旋轉(zhuǎn)角度的正弦和余弦// 源圖四個角的坐標(biāo)(以圖像中心為坐標(biāo)系原點)27float fSrcX1,fSrcY1,fSrcX2,fSrcY2,fSrcX3,fSrcY3,fSrcX4,fSrcY4。 // 象素在源 DIB 中的坐標(biāo)float fRotateAngle。 // 循環(huán)變量(象素在新 DIB 中的坐標(biāo))FLOAT i0。 // 指向 BITMAPCOREINFO 結(jié)構(gòu)的指針LONG i。 // 指向旋轉(zhuǎn)圖像的指針LPBITMAPINFOHEADER lpbmi。 // 指向旋轉(zhuǎn)圖像對應(yīng)象素的指針LPSTR lpNewDIB。 // 指向源圖像的指針HDIB hDIB。 // 旋轉(zhuǎn)后圖像的寬度(lNewWidth39。 LONG lNewHeight。 LONG lHeight。函數(shù)中采用雙線性插 * 值算法進(jìn)行插值。* 說明: * 該函數(shù)用來以圖像中心為中心旋轉(zhuǎn) DIB 圖像,返回新生成 DIB 的句柄。}//對于源圖中沒有的象素,直接賦值為 255}}26return hDIB。*lpDst = *lpSrc。amp。amp。amp。j0 = (LONG) ( ((float) j) * fCosa + ((float) i) * fSina + f1 + )。 j++) // 針對圖像每列進(jìn)行操作{// 指向新 DIB 第 i 行,第 j 個象素的指針// 注意此處寬度和高度是新 DIB 的寬度和高度lpDst = (char *)lpNewDIBBits + lNewLineBytes * (lNewHeight 1 i) + j。 i++)// 針對圖像每行進(jìn)行操作{for(j = 0。}for(i = 0。//對于Windows DIB}else25{ // 對于其它格式的 DIBlpbmcbcWidth = (unsigned short) lNewWidth。if (IS_WIN30_DIB(lpNewDIB)) // 更新 DIB 中圖像的高度和寬度{lpbmibiWidth = lNewWidth。 // 找到新 DIB 象素起始位置// 獲取指針lpbmi = (LPBITMAPINFOHEADER)lpNewDIB。 // 鎖定內(nèi)存// 復(fù)制 DIB 信息頭和調(diào)色板memcpy(lpNewDIB, lpDIB, *(LPDWORD)lpDIB + ::PaletteSize(lpDIB))。 // 分配內(nèi)存,以保存新 DIBif (hDIB == NULL) // 判斷是否內(nèi)存分配失敗{ return NULL。 // 兩個常數(shù),這樣不用以后每次都計算了f2 = (float) ( * (lNewWidth 1) * fSina * (lNewHeight 1) * fCosa+ * (lHeight 1))。 // 計算新圖像每行的字節(jié)數(shù)// 計算旋轉(zhuǎn)后的圖像高度lNewHeight = (LONG) ( max( fabs(fDstY4 fDstY1), fabs(fDstY3 fDstY2) ) + )。// 計算旋轉(zhuǎn)后的圖像實際寬度lNewWidth = (LONG) ( max( fabs(fDstX4 fDstX1), fabs(fDstX3 fDstX2) ) + )。fDstX4 = fCosa * fSrcX4 + fSina * fSrcY4。fDstX3 = fCosa * fSrcX3 + fSina * fSrcY3。fDstX2 = fCosa * fSrcX2 + fSina * fSrcY2。// 計算新圖四個角的坐標(biāo)(以圖像中心為坐標(biāo)系原點)fDstX1 = fCosa * fSrcX1 + fSina * fSrcY1。fSrcX4 = (float) ( (lWidth 1) / 2)。fSrcX3 = (float) ( (lWidth 1) / 2)。fSrcX2 = (float) ( (lWidth 1) / 2)。 // 計算旋轉(zhuǎn)角度的余弦// 計算原圖的四個角的坐標(biāo)(以圖像中心為坐標(biāo)系原點)fSrcX1 = (float) ( (lWidth 1) / 2)。 // 將旋轉(zhuǎn)角度從度轉(zhuǎn)換到弧度fSina = (float
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1