В корректировке «Кривые» настраиваются точки во всем тональном диапазоне изображения. Первоначально, тональность изображения представлена как прямая диагональная линия на графике. При коррекции изображения в режиме RGB в верхнем правом углу графика представлены света, а в нижнем левом — тени. Горизонтальная ось графика представляет входные значения (исходные значения изображения), а вертикальная ось представляет выходные значения (новые скорректированные значения). По мере того, как на линии добавляются и перемещаются направляющие точки, меняется форма кривой, отражая корректировки изображения. Более крутые части кривой представляют области высокого контраста, а плоские части кривой представляют области низкого контраста
Const n = 9; var a:array[1..n,1..n] of integer; i,j,k,max: integer;
begin Randomize; Writeln('Исходная матрица'); max:=-100; for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=Random(51)-25; Write(a[i,j]:4); if max<a[i,j] then max:=a[i,j] end; Writeln end;
for i:=2 to n-1 do { не просматривать первую и последнюю строки } for j:=1 to n do if a[i,j]=max then a[i,j]:=0;
Writeln('Результирующая матрица'); for i:=1 to n do begin for j:=1 to n do Write(a[i,j]:4); Writeln end; end.
В корректировке «Кривые» настраиваются точки во всем тональном диапазоне изображения. Первоначально, тональность изображения представлена как прямая диагональная линия на графике. При коррекции изображения в режиме RGB в верхнем правом углу графика представлены света, а в нижнем левом — тени. Горизонтальная ось графика представляет входные значения (исходные значения изображения), а вертикальная ось представляет выходные значения (новые скорректированные значения). По мере того, как на линии добавляются и перемещаются направляющие точки, меняется форма кривой, отражая корректировки изображения. Более крутые части кривой представляют области высокого контраста, а плоские части кривой представляют области низкого контраста
Вроде так
n = 9;
var
a:array[1..n,1..n] of integer;
i,j,k,max: integer;
begin
Randomize;
Writeln('Исходная матрица');
max:=-100;
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=Random(51)-25;
Write(a[i,j]:4);
if max<a[i,j] then max:=a[i,j]
end;
Writeln
end;
for i:=2 to n-1 do { не просматривать первую и последнюю строки }
for j:=1 to n do
if a[i,j]=max then a[i,j]:=0;
Writeln('Результирующая матрица');
for i:=1 to n do
begin
for j:=1 to n do Write(a[i,j]:4);
Writeln
end;
end.
Тестовое решение:
Исходная матрица
-19 -24 -24 -21 0 -12 -16 12 7
19 -2 22 12 -7 -19 25 -20 -21
18 4 -6 9 7 -9 21 1 5
25 -17 10 22 -7 -18 10 -6 -3
24 -2 2 -22 -11 -13 5 24 11
1 -7 16 24 4 -19 -6 7 21
-9 -3 -5 10 -16 25 9 -15 4
23 22 -20 14 -23 24 9 -24 8
2 14 -10 -19 -21 8 6 -6 -17
Результирующая матрица
-19 -24 -24 -21 0 -12 -16 12 7
19 -2 22 12 -7 -19 0 -20 -21
18 4 -6 9 7 -9 21 1 5
0 -17 10 22 -7 -18 10 -6 -3
24 -2 2 -22 -11 -13 5 24 11
1 -7 16 24 4 -19 -6 7 21
-9 -3 -5 10 -16 0 9 -15 4
23 22 -20 14 -23 24 9 -24 8
2 14 -10 -19 -21 8 6 -6 -17