全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1350
推到 Plurk!
推到 Facebook!

有專題提供"影像處理"的API嗎?

答題得分者是:banson1716
speedboy
一般會員


發表:4
回覆:5
積分:1
註冊:2002-12-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-12-08 16:36:22 IP:61.217.xxx.xxx 未訂閱
有專題提供"影像處理"的API嗎? 有的話,可以告訴我嗎?
mickeykai
一般會員


發表:2
回覆:7
積分:11
註冊:2002-11-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-12-27 18:22:29 IP:61.222.xxx.xxx 未訂閱
暈倒裡面都有王安的ocx可以用不知道能不能幫上忙
banson1716
高階會員


發表:55
回覆:182
積分:167
註冊:2002-04-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-12-31 03:37:07 IP:61.223.xxx.xxx 未訂閱
delphi實現圖像灰度處理的3種方法 灰度處理的方法主要有如下3種: 1、最大值法:使R、G、B的值等於3值中最大的一個,即: R=G=B=max(R,G,B) 最大值法會使形成高亮度很高的灰度圖像 var bitmap:tbitmap; i,j:integer; a,b,c,crgb,temp:longint; res:byte; begin //最大值灰度處理方法 bitmap:=tbitmap.Create; bitmap.Width:=image1.Width 1; bitmap.Height:=image1.Height 1; for i:=0 to image1.Width 1 do begin for j:=0 to image1.Height 1 do begin crgb:=colortorgb(image1.Canvas.Pixels[i,j]); a:=crgb; b:=crgb shr 8; c:=crgb shr 8; //求出3者之間的最大值 if a>b then temp:=a else temp:=b; if c>temp then temp:=c ; res:=byte(temp); bitmap.Canvas.Pixels[i,j]:=rgb(res,res,res); end; end; image1.Canvas.Draw(0,0,bitmap); bitmap.Free; end; 2、平均值方法:使R、G、B的值求出平均值,即: R=G=B=(R G B)/3 平均值法會形成較柔和的灰度圖像。 var bitmap:tbitmap; i,j:integer; crgb:longint; rr,gg,bb:byte; res:byte; begin //圖像的平均值處理 bitmap:=tbitmap.Create; bitmap.Width:=image1.Width; bitmap.Height:=image1.Height; for i:=0 to image1.Width 1 do begin for j:=0 to image1.Height 1 do begin crgb:=colortorgb(image1.Canvas.Pixels[i,j]); rr:=byte(crgb); gg:=byte(crgb shr 8); bb:=byte(crgb shr 8); res:=(rr gg bb)div 3; bitmap.Canvas.Pixels[i,j]:=rgb(res,res,res); end; end; image1.Canvas.Draw(0,0,bitmap); bitmap.Free; end; 3、加權平均值法:根據重要性或其他指標給R、G、B賦予不同的權值,並使R、G、B它們的值加權平均,即: R=G=B=(WrR WrG WbB)/3,經實際經驗和理論推導證明,采用R=G=B=0.30*R 0.59*G 0.11*B,可以得到最合理的灰度圖像 var bitmap:tbitmap; i,j:integer; rr,gg,bb,res:byte; crgb:longint; begin //加權平均處理方法 bitmap:=tbitmap.Create; bitmap.Width:=image1.Width 1; bitmap.Height:=image1.Height 1; for i:=0 to image1.Width 1 do begin for j:=0 to image1.Height 1 do begin crgb:=colortorgb(image1.Canvas.Pixels[i,j]); rr:=byte(crgb); gg:=byte(crgb shr 8); bb:=byte(crgb shr 8); res:=(30*rr 59*gg 11*bb)div 100; bitmap.Canvas.Pixels[i,j]:=rgb(res,res,res); end; end; image1.Canvas.Draw(0,0,bitmap); bitmap.Free; end;
系統時間:2024-05-04 3:17:02
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!