💡 Инструкция: Выберите один ответ из пяти. Время — 70 минут. Верный вариант в каждом вопросе один; после завершения доступны общий результат, профиль по 5 темам и объяснения.
Вопрос 2 из 25
Рецензент разбирает фрагмент по теме «Матрица изображения» в тесте «Обработка изображений». Какой вариант исправляет саму операцию?
MATLAB Фрагмент для рецензии Копировать
h = height(I); w = width(I); c = depth(I);
Внести показанную замену без изменения входного контракта. После замены проверить обычный и граничный входы, заранее вычислив ожидаемый результат. Допуск и критерий принятия зафиксировать до просмотра результата. Для темы «Матрица изображения» также сверить класс данных и сохранение ожидаемой структуры выхода. [h,w,c] = size(I);
Заменить исходный блок этой реализацией. Сравнить результат с формулой на двух входах, где меняются ориентация данных и масштаб величин. Отдельно убедиться, что ближайшая неверная реализация этот контроль не проходит. h = height(I); w = width(I); c = depth(I);
Принять эту редакцию как полную замену текущего блока. Добавить регрессионный пример, на котором исходная версия расходится с требованием по значению или размерности. Результат проверки оформить так, чтобы его можно было повторить без ручной подгонки. [w,h,c] = size(I);
Переписать вычислительный шаг следующим образом. На минимальном примере сопоставить форму выхода и два контрольных значения с независимым эталоном. В журнале проверки сохранить вход, ожидаемый результат и фактическое расхождение. dims = length(I); h=dims(1); w=dims(2); c=dims(3);
Использовать показанный вариант вместо дефектного фрагмента. Перед принятием проверить предпосылки операции, форму результата и один численный инвариант. Контрольный пример должен воспроизводиться на чистом запуске проекта. [h,w] = numel(I); c = 3;
Вопрос 7 из 25
В расчёте по теме «Фильтры» обнаружено содержательное расхождение. Какую замену следует принять после проверки?
MATLAB Фрагмент для рецензии Копировать
J = gaussian(I, sigma);
Переписать вычислительный шаг следующим образом. Перед принятием проверить предпосылки операции, форму результата и один численный инвариант. Допуск и критерий принятия зафиксировать до просмотра результата. J = conv2(I, sigma, "same");
Принять эту редакцию как полную замену текущего блока. На минимальном примере сопоставить форму выхода и два контрольных значения с независимым эталоном. Отдельно убедиться, что ближайшая неверная реализация этот контроль не проходит. J = smoothdata(I, "gaussian", sigma, 3);
Заменить исходный блок этой реализацией. После замены проверить обычный и граничный входы, заранее вычислив ожидаемый результат. В журнале проверки сохранить вход, ожидаемый результат и фактическое расхождение. Для темы «Фильтры» также сверить класс данных и сохранение ожидаемой структуры выхода. J = imfilter(I, sigma);
Внести показанную замену без изменения входного контракта. Добавить регрессионный пример, на котором исходная версия расходится с требованием по значению или размерности. Контрольный пример должен воспроизводиться на чистом запуске проекта. J = imgaussfilt(I, sigma);
Использовать показанный вариант вместо дефектного фрагмента. Сравнить результат с формулой на двух входах, где меняются ориентация данных и масштаб величин. Результат проверки оформить так, чтобы его можно было повторить без ручной подгонки. J = gaussian(I, sigma);
Вопрос 12 из 25
Ниже приведена неудачная реализация из темы «Сегментация». Какая редакция возвращает требуемый результат и оставляет независимый контроль?
MATLAB Фрагмент для рецензии Копировать
BW = I > mean(I, "all");
Использовать показанный вариант вместо дефектного фрагмента. После замены проверить обычный и граничный входы, заранее вычислив ожидаемый результат. Отдельно убедиться, что ближайшая неверная реализация этот контроль не проходит. BW = threshold(I, adaptive=true);
Принять эту редакцию как полную замену текущего блока. Перед принятием проверить предпосылки операции, форму результата и один численный инвариант. В журнале проверки сохранить вход, ожидаемый результат и фактическое расхождение. BW = imbinarize(I, "adaptive");
Заменить исходный блок этой реализацией. Добавить регрессионный пример, на котором исходная версия расходится с требованием по значению или размерности. Допуск и критерий принятия зафиксировать до просмотра результата. BW = im2bw(I, "local");
Переписать вычислительный шаг следующим образом. Сравнить результат с формулой на двух входах, где меняются ориентация данных и масштаб величин. Контрольный пример должен воспроизводиться на чистом запуске проекта. BW = I > mean(I, "all");
Внести показанную замену без изменения входного контракта. На минимальном примере сопоставить форму выхода и два контрольных значения с независимым эталоном. Результат проверки оформить так, чтобы его можно было повторить без ручной подгонки. BW = logical(I);
Вопрос 14 из 25
Перед реализацией требования «получить бинарную маску методом адаптивного порога для неравномерно освещённого изображения» записывают модель. Какая запись верна на заявленной области входов?
BW(x,y)=\mathbf{1}\{I(x,y)>T(x,z)\}
BW(x,y)=\mathbf{1}\{I(x,y)<T(x,y)\}
BW(z,y)=\mathbf{1}\{I(x,y)>T(x,y)\}
BW(x,y)=\mathbf{1}\{I(x,y)>T(x,y)\}
BW(x,y)=\mathbf{1}\{I(x,z)>T(x,y)\}
Вопрос 17 из 25
В тесте «Обработка изображений» показанный фрагмент нарушает правило из темы «Цветовые пространства». Какая редакция исправляет причину, а не только её проявление?
MATLAB Фрагмент для рецензии Копировать
Lab = colorconvert(I, "RGB", "Lab");
Внести показанную замену без изменения входного контракта. Перед принятием проверить предпосылки операции, форму результата и один численный инвариант. Отдельно убедиться, что ближайшая неверная реализация этот контроль не проходит. Lab = lab2rgb(I);
Заменить исходный блок этой реализацией. На минимальном примере сопоставить форму выхода и два контрольных значения с независимым эталоном. Контрольный пример должен воспроизводиться на чистом запуске проекта. Для темы «Цветовые пространства» также сверить класс данных и сохранение ожидаемой структуры выхода. Lab = rgb2gray(I);
Использовать показанный вариант вместо дефектного фрагмента. Добавить регрессионный пример, на котором исходная версия расходится с требованием по значению или размерности. В журнале проверки сохранить вход, ожидаемый результат и фактическое расхождение. Lab = hsv2rgb(I);
Переписать вычислительный шаг следующим образом. После замены проверить обычный и граничный входы, заранее вычислив ожидаемый результат. Результат проверки оформить так, чтобы его можно было повторить без ручной подгонки. Lab = rgb2lab(I);
Принять эту редакцию как полную замену текущего блока. Сравнить результат с формулой на двух входах, где меняются ориентация данных и масштаб величин. Допуск и критерий принятия зафиксировать до просмотра результата. Lab = colorconvert(I, "RGB", "Lab");
Вопрос 22 из 25
Для темы «Совместимость версий» в тесте «Обработка изображений» приведён дефектный блок. Какое замечание рецензента можно принять?
MATLAB Фрагмент для рецензии Копировать
J = rescale(im2double(I),0,1);
Использовать показанный вариант вместо дефектного фрагмента. На минимальном примере сопоставить форму выхода и два контрольных значения с независимым эталоном. Допуск и критерий принятия зафиксировать до просмотра результата. J = im2double(I);
Переписать вычислительный шаг следующим образом. Добавить регрессионный пример, на котором исходная версия расходится с требованием по значению или размерности. Отдельно убедиться, что ближайшая неверная реализация этот контроль не проходит. J = double(I);
Внести показанную замену без изменения входного контракта. Сравнить результат с формулой на двух входах, где меняются ориентация данных и масштаб величин. В журнале проверки сохранить вход, ожидаемый результат и фактическое расхождение. J = rescale(im2double(I),0,1);
Принять эту редакцию как полную замену текущего блока. После замены проверить обычный и граничный входы, заранее вычислив ожидаемый результат. Контрольный пример должен воспроизводиться на чистом запуске проекта. J = double(I) / 255;
Заменить исходный блок этой реализацией. Перед принятием проверить предпосылки операции, форму результата и один численный инвариант. Результат проверки оформить так, чтобы его можно было повторить без ручной подгонки. J = uint8(I) / 255;