图形轮廓中出错 |
答題得分者是:hagar
|
小丫123
初階會員 發表:85 回覆:62 積分:29 註冊:2004-08-31 發送簡訊給我 |
各位前辈,请你们帮我看看下面的程序该如何修改。
bmp.Canvas.Pixels[x,y]:=c*1000; //give Commponet new pixels for j:=y to bmp.Height-1 do begin for i:=x to bmp.Width -1 do begin if (BMP.Canvas.Pixels[i 1,j]:=c*1000) and (BMP.Canvas.Pixels[i 1,j-1]:=c*1000) and (BMP.Canvas.Pixels[i 1,j 1]:=c*1000) and (BMP.Canvas.Pixels[i,j-1]:=c*1000) and (BMP.Canvas.Pixels[i,j 1]:=c*1000) and (BMP.Canvas.Pixels[i-1,j-1]:=c*1000) and (BMP.Canvas.Pixels[i-1,j]:=c*1000) and (BMP.Canvas.Pixels[i 1,j 1]:=c*1000) then Operator not applicable to this Operand type begin BMP.Canvas.Pixels[i,j]:=0; end; end;在这个程序中,我将根据8域连通方法计算出每个连通物体,并给它们分别赋了新的象素值,在以上的程序的主要目的是实现将连通的物体进行轮廓提取,可是报错!大大们帮我看看啦? 研二的女生 |
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
if 的判斷式是用 = 這個符號
不是用 := 這個符號
bmp.Canvas.Pixels[x,y]:=c*1000; //give Commponet new pixels for j:=y to bmp.Height-1 do begin for i:=x to bmp.Width -1 do begin if (BMP.Canvas.Pixels[i 1,j] = c*1000) and (BMP.Canvas.Pixels[i 1,j-1] = c*1000) and (BMP.Canvas.Pixels[i 1,j 1] = c*1000) and (BMP.Canvas.Pixels[i,j-1] = c*1000) and (BMP.Canvas.Pixels[i,j 1] = c*1000) and (BMP.Canvas.Pixels[i-1,j-1] = c*1000) and (BMP.Canvas.Pixels[i-1,j] = c*1000) and (BMP.Canvas.Pixels[i 1,j 1] = c*1000) then begin BMP.Canvas.Pixels[i,j] := 0; end; end;-- 分擔可以輕省, 分享帶來喜樂! 發表人 - hagar 於 2005/04/08 17:33:03 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |