2010-06-28 2 views
1

Как выполнить определение границ растрового изображения с использованием MFC? Я искал, но я нашел процессы, содержащие матрицы, которые я не мог понять.Как выполнить обнаружение границ растрового изображения с использованием MFC?

+2

Возможно, вы могли бы опубликовать, какую часть вы не понимаете, и мы могли бы помочь вам в этом? –

+0

Я не могу задавать вопросы о stackoverflow :(почему почему? Это так несправедливо –

ответ

1

Собел оператор ..... самый простой дифференцирующим: http://en.wikipedia.org/wiki/Sobel_operator

+0

Я узнал на сайте, это правильно? найти разницу для вычисления градиента A (x, y) = A (x + 1, y) - (x-1, y) затем A (x, y) = ((A (x, y) -Amin)/(Amax-Amin)) * 255 где Amin и Amax - это мин. и макс. значение в изображении –

+0

i code this, но doest не получить нужный результат. i код A (x, y) как COLORREF rgb = dc.GetPixel (x, y); BYTE A = rgb; –

+0

@Sweety Khan: ' COLORREF' содержит три части: по одному для каждого цветового компонента. Вы не можете просто преобразовать это в один байт. Попробуйте 'BYTE A = BYTE (int (GetRValue (rgb)) + int (GetGValue (rgb)) + int (GetBValue (rgb))/3) '.Это фактически очень простое преобразование оттенков серого. В результате вы можете n от красно-синего края. – MSalters

0

Вы не делаете. Ссылка на фактическую библиотеку cv, затем прочитайте на canny edge detector

+0

Я узнал из сайта. см. это правильно? найти разницу для вычисления градиента A (x, y) = A (x + 1, y) - (x-1, y) затем A (x, y) = ((A (x, y) - Amin)/(Amax-Amin)) * 255 где Amin и Amax - минимальное и максимальное значение на изображении. –

+0

i code this, но doest не получить требуемый результат. i код A (x, y) как COLORREF rgb = dc.GetPixel (x, y); BYTE A = rgb; –

Смежные вопросы