Я читаю книгу Яна Эрика Солема «Программирование компьютерного зрения на Python», окончательный вариант (лицензия CC) доступен здесь .
На стр. 34 результат примененияФильтры Собеля для изображения показаны, см. рис. 1.10, также показанный ниже.Когда я запускаю код в книге, изображение величины градиента, то есть панель (d), выглядит перевернутым, см. Ниже.
У меня вопрос, это только потому, что автор инвертировал изображение, илиесть какая-то другая причина?
Код Python, адаптированный из книги с дополнениями для построения графиков, приведен ниже.
Этоизображение сгенерировано с помощью кода в книге.
Python Code
from PIL import Image
from numpy import *
from pylab import *
from scipy.ndimage import filters
im = array(Image.open('empire.jpg').convert('L'))
# Sobel derivative filters
imx = zeros(im.shape)
filters.sobel(im,1,imx)
imy = zeros(im.shape)
filters.sobel(im,0,imy)
magnitude = sqrt(imx**2+imy**2)
figure(figsize=(12,4))
gray()
subplot(1,4,1)
title('Oiginal')
axis('off')
imshow(im)
subplot(1,4,2)
title('imx')
axis('off')
imshow(imx)
subplot(1,4,3)
title('imy')
axis('off')
imshow(imy)
subplot(1,4,4)
title('magnitude')
axis('off')
imshow(magnitude)
savefig('sobel.png')
show()
Изображение, использованное в примере кода