AKADEMIA GÓRNICZO HUTNICZA
im. Stanisława Staszica w Krakowie
Systemy Wizyjne
Sprawozdanie z laboratorium nr 1 MatLab
Damian Bubak
grupa 23, rok III, Mechatronika (IMiR)
Data wykonania ćw: 10.03.14r.
Godzina 10:30
Wszystkie obrazy zostały pozyskane za pomocą kamery internetowej wbudowanej w laptopie.
Pierwszym krokiem było pozyskanie informacji o sprzęcie. Wykorzystując poniższe polecenia
otrzymano potrzebne informacje.
info = imaqhwinfo
Wyświetla zainstalowane w sytemie adaptery:
InstalledAdaptors: {'gentl' 'gige' 'matrox' 'winvideo'}
MATLABVersion: '8.1 (R2013a)'
ToolboxName: 'Image Acquisition Toolbox'
ToolboxVersion: '4.5 (R2013a)'
info = imaqhwinfo('winvideo')
Wyświetla informacje o wszystkich urządzeniach dostępnych przez dany adapter:
AdaptorDllName: [1x81 char]
AdaptorDllVersion: '4.5 (R2013a)'
AdaptorName: 'winvideo'
DeviceIDs: {[1] [2]}
DeviceInfo: [1x2 struct]
dev_info = imaqhwinfo('winvideo',1)
Wyświetla informacje o konkretnym urządzeniu (określonym przez drugi argument funkcji
imaqhwinfo czyli deviceID) w moim przypadku mamy 2 możliwości:
DefaultFormat: 'RGB24_320x240'
DeviceFileSupported: 0
DeviceName: 'CyberLink Webcam Splitter'
DeviceID: 1
VideoInputConstructor: 'videoinput('winvideo', 1)'
VideoDeviceConstructor: 'imaq.VideoDevice('winvideo', 1)'
SupportedFormats: {1x12 cell}
dev_info = imaqhwinfo('winvideo',2)
DefaultFormat: 'MJPG_1280x720'
DeviceFileSupported: 0
DeviceName: 'HP TrueVision HD'
DeviceID: 2
VideoInputConstructor: 'videoinput('winvideo', 2)'
VideoDeviceConstructor: 'imaq.VideoDevice('winvideo', 2)'
SupportedFormats: {1x10 cell}
dev_info.SupportedFormats
Wspierane formaty:
Columns 1 through 4
'RGB24_1280x960' 'RGB24_1600x1200' 'RGB24_160x120' 'RGB24_320x240'
Columns 5 through 8
'RGB24_640x480' 'RGB24_800x600' 'YUY2_1280x960' 'YUY2_1600x1200'
Columns 9 through 12
'YUY2_160x120' 'YUY2_320x240' 'YUY2_640x480' 'YUY2_800x600'
1. Dostępne parametry dla obiektu akwizycji:
Do wyświetlenia aktualnie ustawionych parametrów można posłużyć się funkcją:
get(vidobj)
W wyniku wywołania tej funkcji otrzymano następujący zestaw parametrów:
General Settings:
DeviceID = 1
DiskLogger = []
DiskLoggerFrameCount = 0
EventLog = [1x3 struct]
FrameGrabInterval = 1
FramesAcquired = 10
FramesAvailable = 0
FramesPerTrigger = 10
Logging = off
LoggingMode = memory
Name = RGB24_1600x1200-winvideo-1
NumberOfBands = 3
Previewing = off
ROIPosition = [0 0 1600 1200]
Running = off
Tag =
Timeout = 10
Type = videoinput
UserData = []
VideoFormat = RGB24_1600x1200
VideoResolution = [1600 1200]
Color Space Settings:
BayerSensorAlignment = grbg
ReturnedColorSpace = rgb
Trigger Settings:
InitialTriggerTime = [2014 3 15 12 29 17.9519]
TriggerCondition = none
TriggerFrameDelay = 0
TriggerRepeat = 0
TriggersExecuted = 1
TriggerSource = none
TriggerType = immediate
Acquisition Sources:
SelectedSourceName = input1
Source = [1x1 videosource]
Poniżej przedstawiono krótki opis ważniejszych parametrów:
DeviceID - Nr identyfikujący urządzenie.
FramesAvailable - Liczba buforowanych klatek dostępnych na zródło.
FramesAcquired - Całkowita liczba uzyskiwanych klatek.
FramesPerTrigger - Liczba klatek uzyskiwanych na każde wyzwolenie.
Logging - Wskazuje czy dane są rejestrowane czy nie.
LoggingMode - Określa miejsce przeznaczenia dla uzyskanych danych obrazu (np.
pamięć)
Name - Opisowa nazwa wejściowego obiektu akwizycji.
ROIPosition - Określa region okna akwizycji.
Running - Wskazuje czy wejściowy objekt wideo jest w stanie akwizycji.
SelectedSourceName - Bieżąco wybrane zródło wideo do użycia podczas akwizycji.
Source - Obiekt zródła wideo zawarty przez obiekt videoinput
Tag - Etykieta do obiektu.
Timeout - Czas oczekiwania na wyodrębnienie danych obrazu.
TimerPeriod - Przedział czasu pomiędzy wydarzeniami timera.
TriggerCondition - Stan w którym trigger jest uruchamiany.
TriggerFrameDelay - Wartość opóznienia dla rejestrowania klatek obrazu.
TriggerRepeat - Liczba dodatkowych powtórzeń wyzwalania.
TriggersExecuted - Liczba razy wykonywania wyzwalania.
TriggerType - Typ triggera (np. immediate, manual).
Type - Typ obiektu.
UserData - Dane użytkownika dla obiektu.
VideoFormat - Format wideo z urządzenia.
VideoResolution - Wektor wskazujący szerokość i wysokość obrazu przychodzącego z
sygnału wideo.
2. Parametr ReturnedColorSpace
Parametr ten pozwala wyświetlić obraz w wybranej przestrzeni kolorów. Mamy dostepne tutaj 4
wartości: rgb , grayscale , YCbCr , bayer
" RGB obraz kolorowy red, green, blue
" Grayscale obraz w skali szarości
" YCbCr przestrzeń wykorzystująca 3 składowe: iluminacji, różnicową chrominacji (Y-
B), chrominacji (Y-R)
" Bayer konwersja ze skali szarości do RGB (tylko gdy domyślne dla kamery jest
grayscale)
Przykładowe screeny z ustawieniami kolejno rgb , grayscale , YCbCr :
3. Sposoby wyzwalania kamery
Funcja triggerconfig ustala sposób wyzwalania wideo.
Rodzaje:
" Hardware (trigger jest uruchamiany po spełnieniu warunku)
" Immediate (trigger jest uruchamiany po wywołaniu funkcji start)
" manual (trigger jest uruchamiany po wywołaniu funkcji trigger)
FramesPerTrigger - określa liczbę klatek jaką należy przechwycić
TriggerRepeat - włączenie triggera po spełnieniu warunku określoną ilość razy Gdy
TriggerRepeat jest ustawiony na Inf następuje akwizycja ciągła.
4. Metody przetwarzania pozyskiwanych obrazów:
Róznica bezwzględna obrazów - imabsdiff(data(:,:,:,1),data(:,:,:,2))
Liniowa kombinacja obrazów - imlincomb(1,data(:,:,:,1),-1, data(:,:,:,2),120 )
Poniżej zamieszczam screeny z testów obydwu funkcji:
imlincomb
imabsdiff
5. Wykorzystywane formaty video:
Tak jak napisano wyżej wykorzystywane formaty to:
Columns 1 through 4
'RGB24_1280x960' 'RGB24_1600x1200' 'RGB24_160x120' 'RGB24_320x240'
Columns 5 through 8
'RGB24_640x480' 'RGB24_800x600' 'YUY2_1280x960' 'YUY2_1600x1200'
Columns 9 through 12
'YUY2_160x120' 'YUY2_320x240' 'YUY2_640x480' 'YUY2_800x600'
RGB24 - 3 kolory czerwony, zielony, niebieski zapisane w formacie 24 bitowym.
YUY2 - format w którym kazde 2 piksele są definiowane w makropiksel. Format ten zachowuje
pełne informacje o jasności punktów obrazu, jednak informacja o kolorze jest współdzielona
przez dwa sąsiednie punkty na obrazie wideo.
Wyszukiwarka
Podobne podstrony:
pn10 Matlab lab3 Bubakpn10 Matlab lab4 Bubakpn10 Matlab lab2 BubakLab1 RoboWorksMATLAB cw SkryptySIMULINK MATLAB to VHDL RouteIMiR NM2 Introduction to MATLABAPD lab1matlab skryptyMATLAB2statystyka w matlabielab1 wprowadzenielab1 sprawkolab1(3)Matlab KosinskaSlowniczek matlabLab1 PA podstawy PSCAD v2więcej podobnych podstron