Конволюция на изображение
Приложете собствено конволюционно ядро към изображение. Въведете матрица 3x3 или 5x5 с тегла, незадължителен мащаб, с който резултатът се дели, и отместване, което се добавя след това; инструментът прилага филтъра към всеки цветови канал. Създавайте филтри за изостряне, размазване, контури, релеф и движение, изпробвайте ядра от учебник или прототипирайте идеи за обработка на изображения, без да пишете код.
Често задавани въпроси
Как да въведа ядро?
Въведете 9 числа за ядро 3x3 или 25 числа за ядро 5x5, разделени с интервали, запетаи или нови редове, подредени по редове от горния ляв ъгъл. Стойността по подразбиране 0 -1 0 / -1 5 -1 / 0 -1 0 е класическо ядро за изостряне. Всяко тегло трябва да е между -1000 и 1000.
Какво прави скалата?
Претеглената сума на всеки пиксел се дели на мащаба, преди да се добави отместването. При стойност по подразбиране 0 инструментът използва сумата на ядрото, ако е положителна, а в противен случай — 1; така се запазва общата яркост при ядра за размазване и изостряне. Можете да въведете произволен мащаб до 1000, за да нормализирате ядрото сами.
За какво служи отместването?
Отместването от -255 до 255 се добавя към всеки резултат след мащабирането. Ядрата за откриване на контури и релеф често дават стойности около нулата, затова отместване от 128 ги премества към средно сиво, където се виждат както положителните, така и отрицателните реакции. Резултатите извън диапазона от 0 до 255 се ограничават.
С кои ядра е полезно да започна?
Размазването със средна стойност използва девет единици, Гаусовото размазване — 1 2 1 / 2 4 2 / 1 2 1, детекторът на контури — -1 -1 -1 / -1 8 -1 / -1 -1 -1, а релефът — -2 -1 0 / -1 1 1 / 0 1 2. За по-силно размазване използвайте ядро 5x5 с двадесет и пет единици.
Прилага ли се филтърът към всички канали?
Ядрото се прилага отделно към всеки цветови канал, така че червеното, зеленото и синьото се филтрират по един и същ начин. Алфа каналът се отделя преди филтрирането и се възстановява след него, така че прозрачността никога не се размазва или изостря. Резултатът се запазва като PNG.
Защо резултатът ми е черен или бял?
Ако сборът на теглата на ядрото е нула и не се използва отместване, едноцветните области стават черни, защото реакцията им е нулева. Ако сборът на теглата е голямо положително число, а мащабът е твърде малък, всичко се изрязва до бяло. Използвайте автоматичния мащаб или добавете отместване от 128, за да видите пълния диапазон на реакцията.
Променя ли се размерът на изображението?
Не, изходното изображение е със същата ширина и височина като входното. Пикселите близо до ръба се филтрират с наличните съседни пиксели. Изображенията с повече от 4000 пиксела от едната страна се намаляват преди филтрирането, за да се поберат.
Кои формати мога да качвам?
Поддържат се изображения JPEG, PNG, GIF, WebP, TIFF и AVIF с размер до 5 MB, а анимираните файлове използват първия си кадър. Филтрираното изображение се изтегля като файл PNG без загуба на качество.
Защо се поддържат само ядра 3x3 и 5x5?
Тези два размера обхващат почти всички класически филтри и осигуряват бърза обработка на големи изображения. По-големите размазвания се правят по-добре със специализиран инструмент за размазване, който използва разделим Гаусов филтър. Ако ви е нужен по-широк ефект, приложете инструмента два пъти.
Кой енджин извършва конволюцията?
Инструментът използва операцията convolve от библиотеката sharp, изградена върху libvips. Изчислението е точно спрямо въведените тегла и един и същ вход винаги дава един и същ изход.