Редактировать 1: Переписанный вопрос, так что понятнее.Черно-белый (не серый) фильтр в svg, в идеале snap.svg
Это действительно раскололось.
Я хотел бы применить фильтр к изображению, чтобы значения над определенным порогом отображались как полностью белые, а все значения, которые равны или меньше порога, полностью черные.
здесь карта, представляющая значения RGB из 3х3 пикселей изображения:
|(255,255,255)|(220,220,220)|(100,100,100)|
|(254,254,254)|(12 ,12 ,12)|(38 ,38 ,38)|
|(201,201,201)|(105,105,105)|(60 ,60 ,60)|
После применения моего фильтра я хотел бы получить изображение, где все значения больше, чем 200, преобразуются в (255,255,255) и все значения равны или менее 200, преобразуются в (0,0,0), такие как:
|(255,255,255)|(255,255,255)|(0 ,0 ,0 )|
|(255,255,255)|(0 ,0 ,0 )|(0 ,0 ,0 )|
|(255,255,255)|(0 ,0 ,0 )|(0 ,0 ,0 )|
Любые идеи о том, где я должен начать? Это возможно даже в svg? Я знаю, что могу создавать матричные умножения в фильтрах в svg, но я не знаю, как подойти к этой проблеме.
спасибо!
Edit 1: Связанные вопрос я отвечал в математике обмена: https://math.stackexchange.com/questions/2087482/creating-binary-matrix-for-threshold-as-a-result-of-matrix-multiplcation
Edit 2:: Выдержки из кода Snap.svg: эта матрица преобразует цветное изображение в оттенках серого:
<feColorMatrix type="matrix" values="0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0"/>
Вместо того, чтобы получать оттенки серого, я хотел бы изменить значения здесь, чтобы получить черный и белый. И я хотел бы выбрать порог, выше которого значения возвращаются в виде белого, и ниже, возвращаются как черный
Дополнительная информация: Согласно MSDN, это то, как происходит умножение:
Resulting vector my coveted matrix original vector
| R' | | a00 a01 a02 a03 a04 | | R |
| G' | | a10 a11 a12 a13 a14 | | G |
| B' | = | a20 a21 a22 a23 a24 | * | B |
| A' | | a30 a31 a32 a33 a34 | | A |
| 1 | | 0 0 0 0 1 | | 1 |
Это в свою очередь, применяется к каждому пикселю введенного изображения.
Вы можете посмотреть на фильтры SVG. Трудно видеть, что вам нужно. Есть ли исходное изображение или svg, которые будут вытерты, или что? – Ian
Никаких конкретных svg или изображений. В основном мне нужно (чтобы создать) фильтр, который принимает изображение и вместо него возвращает монохроматическое изображение (не в оттенках серого, а в черном и белом). Все значения больше, чем x, как белые, а все значения, малые или равные x, отображаются как черные. –
Если вы знаете о встроенном svg-фильтре или таком, это было бы здорово. Если нет, мне придется понять эту проблему. http://math.stackexchange.com/questions/2087482/creating-binary-matrix-for-threshold-as-a-result-of-matrix-multiplcation –