У меня есть изображения в градациях серого ArrayList<System.Windows.Controls.Image>
, выложенные горизонтально на Canvas
. Их ImageSource
имеют тип System.Windows.Media.Imaging.BitmapImage
.Получите оттенки серого Высота изображения без учета белых пикселей
Есть ли способ измерения в пикселях высоты каждого Image
без учета белых непрозрачных пикселей За пределами цветной части?
Скажем, у меня есть Image
высоты 10
, в которой вся верхняя половина белая, а нижняя половина - черная; Мне нужно было бы получить 5
, так как это высота. Точно так же, если у Image
была верхняя третья черная, средняя третья белая и нижняя третья черная, высота была бы 10
.
Вот рисунок, который показывает желательную высоту (в синем) из 3-х изображений:
Я готов использовать другой тип для изображений, но это должно быть возможным либо получить от byte[]
, или преобразовать Image
в него.
Я прочитал документы на Image
, ImageSource
и Visual
, но я действительно не знаю, с чего начать.
Вы собираетесь хотите создать гистограмму строк изображения, а затем проанализировать гистограмму, чтобы найти границы небелых пикселов. – Abion47
@ Abion47 Если я могу получить гистограмму, я могу, возможно, просто получить и добавить RGB в каждой строке, чтобы увидеть, все ли это белое. Но как я могу получить такие данные? – Mat
Это зависит от того, какой тип объекта «Source» для ваших элементов управления Image. – Abion47