VC數字圖像處理編程講座之五

VC數字圖像處理編程講座之五

ID:37913927

大?。?5.00 KB

頁數:5頁

時間:2019-06-02

VC數字圖像處理編程講座之五_第1頁
VC數字圖像處理編程講座之五_第2頁
VC數字圖像處理編程講座之五_第3頁
VC數字圖像處理編程講座之五_第4頁
VC數字圖像處理編程講座之五_第5頁
資源描述:

《VC數字圖像處理編程講座之五》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。

1、VC數字圖像處理編程講座之五第四節(jié)BMP圖像操作的補充篇  上一講中我們介紹了圖像特效顯示操作的實現(xiàn)方法,如隨機顯示效果、馬賽克效果、拉幕顯示效果等,由于篇幅的限制,還有許多效果沒有介紹;本期講座將接著上一講的內容,繼續(xù)介紹一些圖像特效顯示效果。另外,我們前面的學習都是針對現(xiàn)成的BMP圖像,在實際工作學習中,絕大部分處理圖像過程都是在一個系統(tǒng)環(huán)境中,也就是說需要和圖像數據的獲取設備直接打交道,一般情況下,計算機圖像處理系統(tǒng)從系統(tǒng)層次上可分為高、中、低檔三個層次,目前比較普及的是低檔次的系統(tǒng),該系統(tǒng)由CCD(攝像頭)、圖像采集卡、計算

2、機三個部分組成,其結構簡單,應用方便,效果也比較不錯,得到的圖像較清晰,所以目前在工程應用中采用的比較多。這就給開發(fā)人員帶來一個現(xiàn)實的問題,如何使用圖像采集卡呢?目前雖然各種編程資源中基于VC開發(fā)經驗的文章不少,但是關于如何在VC開發(fā)平臺上使用圖像采集卡的文章的確沒發(fā)現(xiàn),筆者借這期講座的寶貴機會,補充介紹一下如何在程序中編寫自己的代碼來操作圖像采集卡,從而搭建一個完整的圖像處理系統(tǒng)。希望通過這部分內容的學習,在讀者的腦海里就可以建立一個完整的圖像操作系統(tǒng)概念;同時也能夠給目前正需要利用圖像采集卡開發(fā)自己的圖像處理系統(tǒng)的朋友有所幫助。

3、  1.抖動圖像  在上一節(jié)講座中,我們講到了如何實現(xiàn)圖象的"雕刻"和"浮雕"效果,它們的實現(xiàn)思想是通過求取"沒有處理過的相鄰兩個像素之間的差值"來實現(xiàn)的。如果沒有限制"以前沒有處理過的兩個像素之間的操作",取而代之的是"處理以前已經操作過的像素",那末就可以將一個像素的灰度值傳遞到與其相鄰的若干像素。事實上,有時后我們必須通過上述的約定才能實現(xiàn)一些效果,如圖像的抖動效果。例如,為了使圖象看起來好象從左上角向右下角掃過,以產生運動的感覺,必須要反復拷貝左上方的那些像素的灰度值,逐步把它們融合在一起,看起來好象圖像后邊有一些顏色在逐漸

4、的消失,這就是我們要講的圖象的抖動效果。下面給出了該效果的實現(xiàn)代碼:voidCDibView::OnDouDongImage()//產生"抖動"效果圖函數{ HANDLEdata1handle;//用來存放圖像數據的句柄; LPBITMAPINFOHEADERlpBi;//圖像的信息頭結構; CDibDoc*pDoc=GetDocument();//得到文擋指針; HDIBhdib;//用來存放圖像數據的句柄; unsignedchar*pData;//指向原始圖像數據的指針; unsignedchar*data;//指向處理后圖像

5、數據的指針; hdib=pDoc->m_hDIB;//拷貝存放已經讀取的圖像文件數據句柄; lpBi=(LPBITMAPINFOHEADER)GlobalLock((HGLOBAL)hdib);//獲取圖像信息頭;pData=(unsignedchar*)FindDIBBits((LPSTR)lpBi);//FindDIBBits是我定義的一個函數,根據圖像的結構得到位圖的灰度值數據;pDoc->SetModifiedFlag(TRUE);//設置文檔修改標志為"真",為后續(xù)的修改存盤作準備;data1handle=GlobalAl

6、loc(GMEM_SHARE,WIDTHBYTES(lpBi->biWidth*8)*lpBi->biHeight); //聲明一個緩沖區(qū)用來暫存處理后的圖像數據;data=(unsignedchar*)GlobalLock((HGLOBAL)data1handle);//得到該緩沖區(qū)的指針;AfxGetApp()->BeginWaitCursor();inti,j,buf;for(i=lpBi->biHeight;i>=2;i--)//從圖像右下角開始對圖像的各個像素進行"抖動"處理;  for(j=lpBi->biWidth;j

7、>=2;j--)  {//抖動處理、從圖像的右下角開始計算圖像斜上方相鄰像素的均值;buf=(*(pData+(lpBi->biHeight-i)*WIDTHBYTES(lpBi->biWidth*8)+j)+*(pData+(lpBi->biHeight-i+1)*WIDTHBYTES(lpBi->biWidth*8)+j-1))/2;if(buf>255)buf=255;//限制像素點的灰度范圍為0-255;if(buf<0)buf=0;*(data+(lpBi->biHeight-i)*WIDTHBYTES(lpBi->biW

8、idth*8)+j)=(BYTE)buf;}for(j=0;jbiWidt

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現(xiàn)內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。