Data update
This commit is contained in:
parent
5150844a7d
commit
4bb20c9b71
7735 changed files with 38060 additions and 199180 deletions
|
|
@ -1,17 +0,0 @@
|
|||
type Pixel_Count is mod 2**64;
|
||||
type Histogram is array (Luminance) of Pixel_Count;
|
||||
|
||||
function Get_Histogram (Picture : Grayscale_Image) return Histogram is
|
||||
Result : Histogram := (others => 0);
|
||||
begin
|
||||
for I in Picture'Range (1) loop
|
||||
for J in Picture'Range (2) loop
|
||||
declare
|
||||
Count : Pixel_Count renames Result (Picture (I, J));
|
||||
begin
|
||||
Count := Count + 1;
|
||||
end;
|
||||
end loop;
|
||||
end loop;
|
||||
return Result;
|
||||
end Get_Histogram;
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
function Median (H : Histogram) return Luminance is
|
||||
From : Luminance := Luminance'First;
|
||||
To : Luminance := Luminance'Last;
|
||||
Left : Pixel_Count := H (From);
|
||||
Right : Pixel_Count := H (To);
|
||||
begin
|
||||
while From /= To loop
|
||||
if Left < Right then
|
||||
From := From + 1;
|
||||
Left := Left + H (From);
|
||||
else
|
||||
To := To - 1;
|
||||
Right := Right + H (To);
|
||||
end if;
|
||||
end loop;
|
||||
return From;
|
||||
end Median;
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
F1, F2 : File_Type;
|
||||
begin
|
||||
Open (F1, In_File, "city.ppm");
|
||||
declare
|
||||
X : Image := Get_PPM (F1);
|
||||
Y : Grayscale_Image := Grayscale (X);
|
||||
T : Luminance := Median (Get_Histogram (Y));
|
||||
begin
|
||||
Close (F1);
|
||||
Create (F2, Out_File, "city_art.ppm");
|
||||
for I in Y'Range (1) loop
|
||||
for J in Y'Range (2) loop
|
||||
if Y (I, J) < T then
|
||||
X (I, J) := Black;
|
||||
else
|
||||
X (I, J) := White;
|
||||
end if;
|
||||
end loop;
|
||||
end loop;
|
||||
Put_PPM (F2, X);
|
||||
end;
|
||||
Close (F2);
|
||||
Loading…
Add table
Add a link
Reference in a new issue