我是小菜鸟,老师说这个程序只是把灰度值读了,而没有显示???
delphi吧
全部回复
仅看楼主
level 6
procedure TForm1.N8Click(Sender: TObject); //中值滤波
var
RvalueArray, GvalueArray, BvalueArray: array[0..8] of integer;
bmp1, bmp2: Tbitmap;
p1, p2, p3, p4: pbytearray;
i, j: integer;
begin
self.DoubleBuffered := true;
bmp1 := Tbitmap.Create;
bmp2 := Tbitmap.Create;
bmp1.Assign(image1.Picture.Bitmap);
bmp1.PixelFormat := pf24bit;
bmp1.Width := image1.Picture.Graphic.Width;
bmp1.Height := image1.Picture.Graphic.Height;
bmp2.Assign(image1.Picture.Bitmap);
bmp2.PixelFormat := pf24bit;
for j := 1 to bmp1.Height - 2 do
begin
p1 := bmp1.ScanLine[j];
p2 := bmp2.ScanLine[j - 1];
p3 := bmp2.ScanLine[j];
p4 := bmp2.ScanLine[j + 1];
for i := 1 to bmp1.Width - 2 do
begin
RvalueArray[0] := p2[3 * (i - 1) + 2];
RvalueArray[1] := p2[3 * i + 2];
RvalueArray[2] := p2[3 * (i + 1) + 2];
RvalueArray[3] := p3[3 * (i - 1) + 2];
RvalueArray[4] := p3[3 * i + 2];
RvalueArray[5] := p3[3 * (i + 1) + 2];
RvalueArray[6] := p4[3 * (i - 1) + 2];
RvalueArray[7] := p4[3 * i + 2];
RvalueArray[8] := p4[3 * (i + 1) + 2];
SelectionSort(RvalueArray);
p1[3 * i + 2] := RvalueArray[4];
GvalueArray[0] := p2[3 * (i - 1) + 1];
GvalueArray[1] := p2[3 * i + 1];
GvalueArray[2] := p2[3 * (i + 1) + 1];
GvalueArray[3] := p3[3 * (i - 1) + 1];
GvalueArray[4] := p3[3 * i + 1];
GvalueArray[5] := p3[3 * (i + 1) + 1];
GvalueArray[6] := p4[3 * (i - 1) + 1];
GvalueArray[7] := p4[3 * i + 1];
GvalueArray[8] := p4[3 * (i + 1) + 1];
SelectionSort(RvalueArray);
p1[3 * i + 1] := RvalueArray[4];
BvalueArray[0] := p2[3 * (i - 1)];
BvalueArray[1] := p2[3 * i];
BvalueArray[2] := p2[3 * (i + 1)];
BvalueArray[3] := p3[3 * (i - 1)];
BvalueArray[4] := p3[3 * i];
BvalueArray[5] := p3[3 * (i + 1)];
BvalueArray[6] := p4[3 * (i - 1)];
BvalueArray[7] := p4[3 * i];
BvalueArray[8] := p4[3 * (i + 1)];
SelectionSort(RvalueArray);
p1[3 * i] := RvalueArray[4];
end;
end;
Image1.Picture.Bitmap.Assign(Bmp1);
Bmp1.Free;
bmp2.Free;
end;
望各位大神多多指点迷津
2014年04月25日 06点04分 1
level 6
看不懂
-_-||
不过3*i是固定值,只要算加减法就可以了。
2014年04月25日 07点04分 2
中值滤波,老师说我这只是把灰度值读了一遍,没有把图片处理,
2014年04月25日 07点04分
回复 DesertBus :大神耶, 真不知道耶,倒数第四行那个是什么意思啊,他说我没有把图片显示出来,他看的时候也只是马马虎虎的看了遍,
2014年04月25日 08点04分
1