Я хочу наложить изображение1 на изображение2. Но image2 имеет прозрачный фон. В данном случае оно отображается как наложенное черное изображение.
public void Drawbell(Image image, string Icon, List polygonVertices, MCvScalar fillScalar)
{
Image bellIcon = new Image(Icon);
Image resizedIcon = bellIcon.Resize(100, 100, Inter.Linear);
// Calculate the centroid of the polygon
Coordinate centroid = CalculateCentroid(polygonVertices);
int rectX = centroid.X - resizedIcon.Width / 2;
int rectY = centroid.Y - resizedIcon.Height / 2;
// Center the icon at the centroid
rectX = Math.Max(0, Math.Min(rectX, image.Width - resizedIcon.Width));
rectY = Math.Max(0, Math.Min(rectY, image.Height - resizedIcon.Height));
var mask = resizedIcon.Convert().SmoothGaussian(1).ThresholdBinaryInv(new Gray(254), new Gray(255)).Erode(1);
image.ROI = new Rectangle(rectX, rectY, resizedIcon.Width, resizedIcon.Height);
image.SetValue(fillScalar, mask);
resizedIcon.SetValue(fillScalar, mask.Not());
image._Or(resizedIcon);
resizedIcon.CopyTo(image);
image.ROI = Rectangle.Empty;
}
Подробнее здесь: https://stackoverflow.com/questions/783 ... ng-emgu-cv
Как наложить изображение на прозрачный фон с помощью emgu cv? ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как сохранить постоянный красный фон в приложении Windows Forms с помощью Emgu CV
Anonymous » » в форуме C# - 0 Ответы
- 9 Просмотры
-
Последнее сообщение Anonymous
-