Я не знаю способа вылечить insertText.
Если писать свою функцию insertText лень, то можно воспользоваться вариантом с экспортом.
Если экспортировать изображение, то вокруг него в файле, по крайней мере в R2013, будет белый бордюр (изображение будет окружено белой рамкой).
Возможен такой вариант.
1. Получив, размеры исходного изображения, выводим на рисунок с белым фоном только текст (функция text).
2. Экспортируем этот рисунок с текстом в файл.
3. Считываем файл, вырезаем фрагмент с рисунком, увеличиваем контрастность.
4. Накладываем изображение текста на исходное "изображение".
На скорую руку, где-то так
p = imread('d:\8Ma.jpg');
[H, W, D] = size(p);
BG = uint8(255*ones(H, W, 3));
imshow(BG);
text(10,10, '8 марта!')
print -f1 -djpeg -r0 'd:\88Ma.jpg'
pp = imread('d:\88Ma.jpg');
imshow(pp);
[ii, jj] = find(pp(:, :, 1) < 128);
d = pp(min(ii):max(ii), min(jj):max(jj), 1) < 127;
[m, n] = size(d);
for i = 1:m
for j = 1:n
if d(i, j)
p(10+i, 10+j, :) = 0;
end
end
end
imshow(p);
Вложение:
txt2img.PNG [ 86.84 Кб | Просмотров: 0 ]