精品一区二区中文在线,无遮挡h肉动漫在线观看,国产99视频精品免视看9,成全免费高清大全

SVGA圖像處理

時間:2023-05-01 07:39:51 計算機論文 我要投稿
  • 相關推薦

SVGA圖像處理

SVGA彩色圖形卡是一種超級VGA卡,它不僅具有640×480×16色圖像顯示模式,而且具有640×480×256色圖像顯示模式。

Microsoft C/C 7.0提供了豐富的圖形庫函數,尤其是提供了對SVGA卡所能設置的高分辨率圖像模式的支持,利用豐富的圖形庫函數進行組合,就可以完成各種需要的功能。例如圖像處理,動畫編程,界面制作等。這一點對編程者來說無疑是十分方便的。

然而遺憾的是許多圖形庫函數在一些特定的顯示模式(如-VERS256COLOR(0x0101)方式(640×480×256)等256色模式)下卻無法正常工作,例如使用例程-getimage()和-putimage()時常會出現死機和不能正常工作(出現雪花或不進行任何操作)等現象。用-grstatus()函數檢測調用函數的狀態時,返回圖形錯誤或警告信息,常見的有圖形錯誤(-1)和不支持請求的視頻方式(-2)等,而這些函數在VGA下工作正常。

根據VESA圖形標準,在圖像模式下,SVGA的Video buffer(視頻緩沖區)是順序的鏈結構,且圖像數據是按行序順序存放的,一個像素(屏幕上的一個點)用存儲器的一個字節(256色)表示。視頻存儲器按字節連續尋址,與主機內存采用映射方式通訊,一次只能讀寫64KB的視頻存儲器,通過改變段偏移量(I/O操作)來尋址不同的段,即實現對全部視頻存儲器的操作。

同時,直接訪問SVGA的寄存器進行讀寫操作,充分利用硬件的支持可以大大加快圖形的處理速度。實踐表明,其運行速度明顯優于圖形庫中提供的函數(以-getimage()和-putimage()為例快30倍)。

筆者通過對視頻存儲器(Video buffer)的直接訪問實現了256色圖像顯示模式下圖像塊的讀寫功能。下面附上在VESA標準的0x0101(256)圖像顯示模式下-getimage()和-putimage()兩個函數的源程序,該源程序是用Microsoft C/C 7.0編寫的。這兩個函數在Compaq 486及兼容機上運行通過。

-getimage()和-putimage()兩個函數的參數類型說明及意義與Microsoft C/C 7.0中相應函數的參數類型說明及意義相同。

/* 將圖像存儲到緩沖區中 */

void-getimage256(x1,y1,x2,y2,image)

short x1,y1,x2,y2;

char-huge *image;

{

char-far*buf,-huge *q;

long u;

short m,n,i,j,block;

m=abs(x2-x1) 1;

n=abs(y2-y1) 1;

(short)*image=m;

(short)*(image 2)=n;/* 保留圖像的高度與寬度 */

q=image 4;

u=min(x1,x2);

u =min(y1,y2) * 640L;

block=(short)(u/65536L);

u-=block*65536L;/* 計算偏移量 */

-FP-SEG(buf)=0xA000;

-FP-OFF(buf)=u;

-outp(0x3c4,14),

-outp(0x3C5,block^2);/* 設置頁寄存器 */

for (i=0; i<n; i , q =m) {/* 行循環 */

-memcpy(q, buf, m);

u =640;

if(u<65536L) buf =640;

else {/* 當一行不在同一段時 */

u-=65536L;

-FP-SEG(buf)=0xA000;

-FP-OFF(buf)=0;

block ;

-outp(0x3C4,14);

-outp(0x3C5,block^2);

if(m>640-u)-memcpy(q 640-u,buf,(size-t)(m-640 u));

-FP-OFF(buf)=u;

}

}

}

/* 在緩沖區中搜索圖像 */

void-putimage256(x,y,image,action)

short x,y,action;/* 參數action表示圖像寫方式 */

char-huge * image;

{

char-far *buf,-huge*q;

long u;

short m, n, j, i, block, mm;

-memcpy(&mm

[1] [2] 

【SVGA圖像處理】相關文章:

圖像處理技術論文03-30

《Photoshop圖像處理》教案04-25

交警手勢的圖像處理與識別04-26

VBAI圖像處理生物醫學論文04-26

基于DSP的CCD天文圖像處理系統04-29

VBAI圖像處理生物醫學論文05-02

飛機發動機損傷圖像的分割處理04-28

Matlab在遙感圖像雜散光處理中的應用04-30

基于FPGA的實時圖像處理技術研究04-28

VBAI圖像處理生物醫學論文05-03