Алгоритъм за очертаване

Какъв добър алгоритъм мога да използвам, за да очертая изображение? в момента преминавам пиксел по пиксел, ако е прозрачен и около него има пиксел, който не е прозрачен, той е настроен на черно.
Това работи добре за изображения с псевдоними, но не и за изображения с антиалиас. за антиалиазирани изображения просто изглежда, че изображението е заобиколено от 0,5 пиксела прозрачна линия и след това черна рамка около това. и самата черна граница не е антиалиасирана.
Какъв алгоритъм мога да използвам, за да очертая антиалиас изображение с антиалиасирана 1px линия?


person Dani    schedule 12.08.2011    source източник


Отговори (1)


Може да имате малко късмет, като използвате непрозрачността на оригиналното изображение, за да определите непрозрачността на вашия контур:

За всеки пиксел, ако пикселът е частично прозрачен, направете го черен, но използвайте същата прозрачност като оригиналното изображение. Ако пикселът е напълно прозрачен или напълно непрозрачен, оставете го както е.

person e.James    schedule 12.08.2011
comment
което ще създаде някаква черна линия от 0,5 пиксела. също няма да работи за вертикални и хоризонтални линии, които нямат прозрачност. - person Dani; 12.08.2011
comment
Вярно е. Вероятно ще трябва да разгледате някои по-сложни алгоритми за обработка на изображения, за да получите това, което искате. Знам за откриване на ръбове, но това намира всички ръбове, а не само външните. - person e.James; 12.08.2011