Я пытаюсь удалить белый фон на моем png-изображении, который я получаю от кода, который я создал. Это изображение, которое я получаю: Сделать белый фон прозрачным png matlab
Я хочу сделать белый фон прозрачным, потому что у меня есть несколько таких изображений, которые я хочу комбинировать, используя imfuse.
Что я делаю это (моя картина называется 'A1.png'):
A1=imread('A1.png');
D=zeros(size(A1));
D(A1==255) =1;
imwrite(A1,'A11.png','alpha',D);
Однако я получаю сообщение об ошибке, как этот Ошибка при помощи writepng> parseInputs (строка 349) Значение 'alpha' недействителен. Ожидаемый ввод размером 829x600 если на самом деле размер 829x600x3.
829x600x3 uint8 - размер A1. Я понимаю, что мне нужно избавиться от вещи x3. Но я не знаю, если это когда я сохраняю рис или ранее в своем коде.
Что вы, ребята, думаете?
Оба изображения имеют разные размеры. Кроме того, соотношение сторон между двумя ящиками отличается. Вы не можете успешно совместить эти изображения так, чтобы они были полностью выровнены. Изменение размеров изображений так, чтобы они были одинаковыми размерами, не будет работать либо из-за разных пропорций. Вы [SOL] (http://www.urbandictionary.com/define.php?term=SOL) здесь ... если у вас нет самих изображений RAW. Я подозреваю, что вы использовали 'imshow' для обоих изображений, а затем сохранили фигуру в файл. Не делай этого. Сохраните ** необработанные ** изображения, затем наложите их. – rayryeng
Я не понимаю, почему у них разное соотношение сторон, потому что я использую один и тот же код для их создания, возможно, я могу отправить его вам, если вы хотите посмотреть. Что делать, если я создаю изображение с использованием патча в моем коде, я указываю длину оси, тогда они будут одинаковыми AR и размером? –
Если бы вы могли показать код тоже, это было бы здорово. Изображения разного размера, поэтому вы не можете наложить их, если хотите. – rayryeng