亚洲一级电影在线观看,九九精品无码专区免费,亚洲AV无码资源在线观看 ,欧美国产高清

SVGA圖像處理

時(shí)間:2024-08-30 06:45:37 計(jì)算機(jī)畢業(yè)論文 我要投稿
  • 相關(guān)推薦

SVGA圖像處理


   SVGA彩色圖形卡是一種超級(jí)VGA卡,它不僅具有640×480×16色圖像顯示模式,而且具有640×480×256色圖像顯示模式。
Microsoft C/C++7.0提供了豐富的圖形庫函數(shù),尤其是提供了對SVGA卡所能設(shè)置的高分辨率圖像模式的支持,利用豐富的圖形庫函數(shù)進(jìn)行組合,就可以完成各種需要的功能。例如圖像處理,動(dòng)畫編程,界面制作等。這一點(diǎn)對編程者來說無疑是十分方便的。
然而遺憾的是許多圖形庫函數(shù)在一些特定的顯示模式(如-VERS256COLOR(0x0101)方式(640×480×256)等256色模式)下卻無法正常工作,例如使用例程-getimage()和-putimage()時(shí)常會(huì)出現(xiàn)死機(jī)和不能正常工作(出現(xiàn)雪花或不進(jìn)行任何操作)等現(xiàn)象。用-grstatus()函數(shù)檢測調(diào)用函數(shù)的狀態(tài)時(shí),返回圖形錯(cuò)誤或警告信息,常見的有圖形錯(cuò)誤(-1)和不支持請求的視頻方式(-2)等,而這些函數(shù)在VGA下工作正常。
根據(jù)VESA圖形標(biāo)準(zhǔn),在圖像模式下,SVGA的Video buffer(視頻緩沖區(qū))是順序的鏈結(jié)構(gòu),且圖像數(shù)據(jù)是按行序順序存放的,一個(gè)像素(屏幕上的一個(gè)點(diǎn))用存儲(chǔ)器的一個(gè)字節(jié)(256色)表示。視頻存儲(chǔ)器按字節(jié)連續(xù)尋址,與主機(jī)內(nèi)存采用映射方式通訊,一次只能讀寫64KB的視頻存儲(chǔ)器,通過改變段偏移量(I/O操作)來尋址不同的段,即實(shí)現(xiàn)對全部視頻存儲(chǔ)器的操作。
同時(shí),直接訪問SVGA的寄存器進(jìn)行讀寫操作,充分利用硬件的支持可以大大加快圖形的處理速度。實(shí)踐表明,其運(yùn)行速度明顯優(yōu)于圖形庫中提供的函數(shù)(以-getimage()和-putimage()為例快30倍)。
筆者通過對視頻存儲(chǔ)器(Video buffer)的直接訪問實(shí)現(xiàn)了256色圖像顯示模式下圖像塊的讀寫功能。下面附上在VESA標(biāo)準(zhǔn)的0x0101(256)圖像顯示模式下-getimage()和-putimage()兩個(gè)函數(shù)的源程序,該源程序是用Microsoft C/C++7.0編寫的。這兩個(gè)函數(shù)在Compaq 486及兼容機(jī)上運(yùn)行通過。
-getimage()和-putimage()兩個(gè)函數(shù)的參數(shù)類型說明及意義與Microsoft C/C++7.0中相應(yīng)函數(shù)的參數(shù)類型說明及意義相同。
/* 將圖像存儲(chǔ)到緩沖區(qū)中 */
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;/* 計(jì)算偏移量 */
-FP-SEG(buf)=0xA000;
-FP-OFF(buf)=u;
-outp(0x3c4,14),
-outp(0x3C5,block^2);/* 設(shè)置頁寄存器 */
for (i=0; i<n; i++, q+=m) {/* 行循環(huán) */
-memcpy(q, buf, m);
u+=640;
if(u<65536L) buf+=640;
else {/* 當(dāng)一行不在同一段時(shí) */
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;
}
}
}
/* 在緩沖區(qū)中搜索圖像 */
void-putimage256(x,y,image,action)
short x,y,action;/* 參數(shù)action表示圖像寫方式 */
char-huge * image;
{
char-far *buf,-huge*q;
long u;
short m, n, j, i, block, mm;
-memcpy(&mm, image, 2);
if ((x+mm)>640) m=640-x;
else m=mm;
-memcpy(&n, image+2, 2);
if (y+n>480) n=480-n;/* 取圖像的高度和寬度,并進(jìn)行邊界處理 */
q=image+4;
u=x;
u+=y*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+=mm) {
if (action==-GPSET) -memcpy(buf, q, m);
else if(action==-GOR)for (j=0;j<m; j++) * (buf+j)|=(*(q+j));
else if(action==-GAND)for (j=0;j<m; j++) * (buf+j)&=(* (q+j));
else if(action==-GXOR)for (j=0;j<m; j++) * (buf+j)^=(* (q+j));
else if(action==-GPRESET)for (j=0;j<m; j++) * (buf+j)=~(* (q+j));
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) {
if (action==-GPSET) -memcpy(buf,q+640-u, (size-t)(m-640+u));
else if(action==-GOR)
for(j=0;j<m-640+u;j++) *(buf+j)|=(*(q+640-u+j));
else if(action==-GAND)
for(j=0;j<m-640+u;j++) * (buf+j)&=(*(q+640-u+j));
else if (action==-GXOR)
for(j=0;j<m-640+u;j++) * (buf+j)^=(*(q+640-u+j));
else if(action==-GPRESET)
for(j=0;j<m-640+u;j++) * (buf+j)=~(* (q+640-u+j));
}
-FP-OFF(buf)=u;
}
}


作者:暢哲峰 

【SVGA圖像處理】相關(guān)文章:

醫(yī)學(xué)圖像領(lǐng)域中數(shù)字圖像處理的應(yīng)用論文08-25

圖像處理中的模糊算法及實(shí)現(xiàn)06-30

圖像處理中分辨率的選取08-05

基于數(shù)據(jù)庫的JPG圖像處理08-17

基于圖像處理的數(shù)字測色系統(tǒng)07-05

淺談CAD和Photoshop聯(lián)合處理圖像09-04

數(shù)字圖像處理開題報(bào)告范文10-10

計(jì)算機(jī)圖像處理與分析淺析09-06

CAD和Photoshop聯(lián)合處理圖像的探索04-19

基于PCI圖像卡的圖像實(shí)時(shí)處理系統(tǒng)開發(fā)07-24

主站蜘蛛池模板: 久久青青草原亚洲av无码| 日韩午夜福利无码专区a| 亚洲第一尤物视频在线观看导航| 久久久久无码国产精品不卡| 亚洲十八禁| 久久九九精品99国产精品| 高级黄区18勿进视频免费| 国产又爽又粗又猛的视频| 熟妇人妻久久中文字幕| 启东市| 亚洲日韩av无码中文字幕美国| 人妻丰满熟妇av无码在线电影| 成人无码看片在线观看免费| 在线日韩日本国产亚洲| 狠狠色丁香婷婷综合潮喷| 色欲αv一区二区三区天美传媒| 国产真实乱人视频| 伊人色综合久久天天| 欧美性黑人极品hd| 久久精品国产精品一区二区| 国产女人高潮毛片| 色噜噜av亚洲色一区二区| 日韩欧美中文字幕公布| 亚洲无av码一区二区三区| 无码人妻丰满熟妇啪啪区日韩久久| 国产97在线 | 亚洲| 国产精品爽爽v在线观看无码 | 久久久久久亚洲精品成人| 日产精品久久久久久久性色| 国产在线视频自拍| 国产精品内射久久久久欢欢| 欧美黑人激情性久久| 国产精品福利尤物youwu| 久久久日韩精品一区二区| 亚洲精品国产aⅴ成拍色拍| 亚洲欧美综合精品成人网| 伊人久久大香线蕉综合影视| 唐山市| 亚洲码欧美码一区二区三区| 久久亚洲春色中文字幕久久久| 天天综合天天综合|