Найдите самый низкий белый пиксель

У меня есть этот двоичный образ.  введите описание изображения здесь

Как мне найти координату самого нижнего белого пикселя?


person Ηλεκτρολόγος Μηχανικός    schedule 20.05.2016    source источник


Ответы (1)


Если в вашей матрице у вас есть значения 0 и 1, представляющие белый и черный

вы можете найти белые пиксели с

   [row,col,v] = find(A);

Тогда самый нижний пиксель имеет координаты

x = max(row) 
y = col(find(row==max(row))) 

Если у вас более одного нижнего пикселя, возможно, вы можете просто взять координаты одного из них. Например:

mrow = max(row);

y = col(find(row==mrow(1)))%if you wanna take the lowest pixel on the left
person shamalaia    schedule 20.05.2016
comment
Спасибо за Ваш ответ. Я новичок в Matlab. Я получил эту ошибку Expression or statement is incorrect--possibly unbalanced (, {, or [. Я попытался присвоить переменным координаты x и y. Координата x работает, но координата y coorY = col(find(row==max(row))) дает мне более одного значения. - person Ηλεκτρολόγος Μηχανικός; 20.05.2016
comment
Первая ошибка синтаксическая, проверьте скобки. Обратите внимание, что я написал координаты математическим способом, который не является допустимым синтаксисом Matlab. Вторая ошибка означает, что нет ни одного нижнего белого пикселя. Я предполагаю, что вы можете просто взять только один из них. Попробую отредактировать ответ простым решением. - person shamalaia; 20.05.2016