Здавалка
Главная | Обратная связь

Обробка отриманого зображення.



Для того щоб виділити фрагмент заданого розміру, потрібно за допомогою функції imcrop виконати кадрування і отримане зображення присвоїти змінній.

Синтаксис:

zone_c=imcrop(zone_c);

 

Для того, щоб накласти на отримане зображення координатну сітку, зо допомогою функції image, його потрібно відобразити у формі figure, за допомогою функції imshow. Після чого задати значення координат у сантиметрах.

 

Синтаксис:

zone_c=imcrop(zone_c);

imshow(zone_c)

x=[0 10];

y=[0 -8];

image(zone_c,'XData',x,'YData',y);

 

Рис. 5.8. Приклад накладеної координатної сітки

 

Увага: Координата у задається починаючи із знаком «–» для того, щоб координатна сітка мала правильне співставлення початків координат по осях. Для того щоб позбавитись від’ємної частини, використовуючи функцію abs, записати значення по модулю.

 

На отриманому зображенні, за допомогою функції getrect, потрібно окреслити контури клітинок калібрувальної сітки. Позиція клітинки задається двома значеннями: перша цифра вказує позицію (порядок) клітинки відносно горизонтальної осі, друга – позицію відносно вертикальної осі (рис. 5.9).

Функція rect=getrect(fig) дозволяє встановити прямокутник в поточних координатах фігури з використанням мишки. Координати прямокутника поміщаються в х і у. Використання натискання клавіш мишки і плавного її пересування призводить до створення потрібного прямокутника. Параметр rect представляється чотирьохелементним вектором у формі [xmin ymin width height].

В
А
Б

Рис. 5.9. Приклад задання клітинок А(2,2); Б(5,4); В(6,7)

 

Значення отриманого прямокутника будуть прив’язані до координатної сітки із точністю 0,00001 (базове значення точності розрахунків у Matlab). А оскільки нам потрібно отримати результат у сантиметрах, отримане значення слід округлити (скоротити) до цілої частини, за допомогою функції round.

Таким чином, загальний лістинг коду може бути представлений наступним чином:

 

Синтаксис:

A=round(abs(getrect))

A=

1 2 1 1

B=round(abs(getrect))

B=

4 4 1 1

V=round(abs(getrect))

V=

5 7 1 1

 

Для того, щоб побудувати контур (рис. 5.10.), потрібно попередньо перетворити отримані значення у координати прямокутника та скласти матрицю замкненої фігури.

 

Синтаксис:

Ax=[A(1),A(1),A(1)+A(3),A(1)+A(3),A(1)];

Ay=[A(2),A(2)-A(4),A(2)-A(4),A(2),A(2)];

plot(Ax,Ay,'blue','LineWidth',3)

grid on

xlim([0 10])

ylim([0 8])

hold all

Bx=[B(1),B(1),B(1)+B(3),B(1)+B(3),B(1)];

By=[B(2),B(2)-B(4),B(2)-B(4),B(2),B(2)];

plot(Bx,By,'blue','LineWidth',3)

Vx=[V(1),V(1),V(1)+V(3),V(1)+V(3),V(1)];

Vy=[V(2),V(2)-V(4),V(2)-V(4),V(2),V(2)];

plot(Vx,Vy,'blue','LineWidth',3)

Рис. 5.10. Окреслені контури клітинок калібрувальної сітки

Завдання

 

Відповідно до свого спискового номера, журналу академгрупи, вибрати варіант завдання з таблиці 5.3.

Для виконання даного практичного завдання, необхідно виконати захоплення зображення з використанням візуального інтерфейсу Image Acquisition Toolbox, попередньо встановивши вказану у завданні роздільну здатність. Зробити кадрування зображення до формату 10×8 клітинок. Окреслити вказані у завданні клітинки, скласти програму для переводу отриманих значень у координати прямокутника і по отриманих координатах, вивести контур фігури у новій формі (figure). Для побудованих фігур задати, вказаний у завданні, товщину лінії та колір контуру.

Зробити відповідні висновки та оформити звіт.

 

Таблиця 5.3

Параметри завдання для практичного виконання

№ п/п Роздільна здатність Позиція клітинки Колір контуру Товщина лінії
1. 320×240 А(2,5); Б(4,3); В(9,7) Синій
2. 352×288 А(3,6); Б(7,2); В(8,5) Червоний
3. 320×240 А(5,4); Б(9,4); В(3,2) Жовтий
4. 352×288 А(7,5); Б(4,2); В(2,6) Пурпурний
5. 320×240 А(2,6); Б(7,2); В(4,4) Чорний
6. 352×288 А(8,2); Б(5,7); В(3,4) Зелений
7. 320×240 А(3,2); Б(9,3); В(8,7) Голубий
8. 352×288 А(4,5); Б(3,3); В(7,7) Синій
9. 320×240 А(6,3); Б(8,8); В(5,3) Червоний
10. 352×288 А(9,8); Б(2,5); В(6,6) Жовтий
11. 320×240 А(5,2); Б(3,4); В(7,9) Пурпурний
12. 352×288 А(6,3); Б(2,7); В(5,8) Чорний
13. 320×240 А(4,5); Б(4,9); В(2,3) Зелений
14. 352×288 А(5,7); Б(2,4); В(6,2) Голубий
15. 320×240 А(6,3); Б(2,8); В(3,4) Синій
16. 352×288 А(2,8); Б(7,5); В(3,3) Червоний
17. 320×240 А(2,3); Б(9,9); В(5,8) Жовтий
18. 352×288 А(5,4); Б(4,4); В(3,7) Пурпурний
19. 320×240 А(3,6); Б(6,6); В(3,5) Чорний
20. 352×288 А(4,9); Б(5,2); В(7,2) Зелений

Контрольні питання

1. Що являє собою додаток Image Acquisition Toolbox?

2. З якими пристроями можна працювати в середовищі додатку Image Acquisition Toolbox?

3. Охарактеризуйте основні процедури захоплення зображень.

4. Назвіть, які компоненти входять до додатку Image Acquisition Toolbox?

5. Опишіть роботу з даними зображення в робочому просторі MATLAB.

6. Назвіть основні операція із захопленими даними зображення.

7. Якої основної інформації вимагає додаток Image Acquisition Toolbox для доступу до пристроїв захоплення зображень?

8. Для чого використовуються функції визначення форматів, при ініціалізації у MATLAB?

9. Назвіть основні варіанти конфігурації опцій запуску додатку Image Acquisition Toolbox

10. Які відеоформати підтримуються середовищем MATLAB?








©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.