Практическая работа по "Программированию"
Автор: start555 • Октябрь 19, 2023 • Практическая работа • 650 Слов (3 Страниц) • 119 Просмотры
А.14 M-функция bright2 и программа построения графика кусочно-линейной функции преобразования яркости
function s=bright2(r, par)
rmin=par(1);
rmax=par(2);
smin=par(3);
smax=par(4);
bin=(r>=0 & r<rmin);
s1=smin.*bin;
bin=(r>rmax & r<=1);
s2=smin.*bin;
bin=(r>=rmin & r<=rmax);
s3=smax.*bin;
s=s1+s2+s3;
%Текст программы построения графика кусочно-линейной функции.
r=0:0.001:1;
par=[0.7 0.83 0 1];
set(0,'DefaultAxesFontSize',16,'DefaultAxesFontName','Times New Roman');
set(0,'DefaultTextFontSize',16,'DefaultTextFontName','Times New Roman');
plot(r,bright2(r, par),'LineWidth',2, 'Color', 'k'); grid on;
xlabel(' Яркость на входе, r');
ylabel('Яркость на выходе, s');
А.15 M-функция bright4 и программа построения графика кусочно-линейной функции преобразования яркости
function g=bright4(z, par)
rmin=par(1);
rmax=par(2);
smax=par(3);
m=size(z,1); % Число строк
n=size(z,2); % Число столбцов
g=zeros(m, n);
for i=1:m;
for j=1:n;
r=z(i,j);
if r>=rmin & r<=rmax;
g(i,j)=smax;
else;
g(i,j)=z(i,j);
end;
end;
end;
% Текст программы построения графика кусочно-линейной функции
r=0:0.001:1;
par=[0.7 0.83 1];
set(0,'DefaultAxesFontSize',16,'DefaultAxesFontName','Times New Roman');
set(0,'DefaultTextFontSize',16,'DefaultTextFontName','Times New Roman');
plot(r,bright4(r, par),'LineWidth',2, 'Color', 'k'); grid on;
xlabel(' Яркость на входе, r');
ylabel('Яркость на выходе, s');
А.9 M-функция intrans преобразования яркости изображения
% [http://fourier.eng.hmc.edu/e161/dipum/intrans.m]
function g=intrans(f, varargin)
% Аргумент varargin допускает переменное число входных аргументов при вызове
% функции intrans.
% INTRANS Выполняет преобразования яркости.
% G = INTRANS(f, 'neg') вычисляет негатив входного изображения f.
%
% G = INTRANS(f, 'log', C, CLASS) вычисляет C*log(1+f) и умножает результат на
% (положительную) константу C. Если последние два параметра опущены, значение C по
% умолчанию равно 1. Поскольку log используется часто для отображения спектра Фурье,
% параметр CLASS предлагает опцию уточнения (указания) класса выхода как 'uint8' или
% 'uint16'. Если параметр CLASS опущен, на выходе будет тот же класс, что и на входе.
%
% G = INTRANS (f, 'gamma', GAM) выполняет гамма-преобразование входного
% изображения с помощью параметра GAM (обязательный вход).
%
% G = INTRANS (f, 'stretch', M, E) вычисляет контраст-растяжение преобразование с
% использованием выражения 1./(1+(M./(f+eps)).^E). Параметр M должен находиться в
% диапазоне [0, 1]. По умолчанию значение для M равно mean2(im2double(f)), а значение
% по умолчанию для E равно 4.
%
% Для преобразований 'neg', 'gamma' и 'stretch' входные изображения double (двойной
...