Matlab: Primeira detecção de borda derivada, sobre gradientes

Estou escrevendo um programa que pede ao usuário para escolher entrePrewitt eSobel filtros de imagem para detectar bordas dos objetos de uma imagem. Devo usar seus modelos de filtro, não oedge função. O usuário também informa se deseja detectar bordas 'horizontais', 'verticais' ou 'diagonais'. Meu problema é mais teórico do que sobre programação.

Nas minhas anotações, tenho que calcular a magnitude do gradiente em cada pixel, geralmente é aproximado comosqrt(Gx^2 + Gy^2) OndeGx seria a derivada vertical eGy a derivada horizontal. Mas qual é o valor deGx se eu apenas calcular as arestas horizontais? E o valor deGy se eu estou apenas procurando pelas arestas verticais?

Não consigo adivinhar sozinho.

questionAnswers(1)

yourAnswerToTheQuestion