извлекать патчи из изображений с помощью Python - PullRequest
0 голосов
/ 23 января 2019

У меня есть изображение, и я хочу извлечь 6 патчей

Я попробовал sklearn.feature_extraction.image.extract_patches_2d, но результат не тот, который мне нужен, и я не вижу никаких других параметров, например, шага.

Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 23 января 2019

Это ваш счастливый день, вы можете сделать это без написания кода, используя ImageMagick , который установлен в большинстве дистрибутивов Linux и доступен для macOS и Windows. Итак, в Терминале (Командная строка в Windows), начиная с этого изображения 2048x1536:

enter image description here

Вы можете запустить:

magick image.png -crop 512x512 slice-%02d.png

, что дает вам 12 срезов, каждый 512x512:

-rw-r--r--@ 1 mark  staff  3205 23 Jan 18:45 slice-00.png
-rw-r--r--@ 1 mark  staff  3205 23 Jan 18:45 slice-01.png
-rw-r--r--@ 1 mark  staff  3205 23 Jan 18:45 slice-02.png
-rw-r--r--@ 1 mark  staff  3205 23 Jan 18:45 slice-03.png
-rw-r--r--@ 1 mark  staff  3148 23 Jan 18:45 slice-04.png
-rw-r--r--@ 1 mark  staff  3148 23 Jan 18:45 slice-05.png
-rw-r--r--@ 1 mark  staff  3148 23 Jan 18:45 slice-06.png
-rw-r--r--@ 1 mark  staff  3148 23 Jan 18:45 slice-07.png
-rw-r--r--@ 1 mark  staff  3239 23 Jan 18:45 slice-08.png
-rw-r--r--@ 1 mark  staff  3239 23 Jan 18:45 slice-09.png
-rw-r--r--@ 1 mark  staff  3239 23 Jan 18:45 slice-10.png
-rw-r--r--@ 1 mark  staff  3239 23 Jan 18:45 slice-11.png

И если мы снова соберем их всех вместе на желтом фоне, вы получите:

magick montage -background yellow -geometry +10+10 slice* montage.png

enter image description here


Если вы используете ImageMagick v6 или старше, используйте:

convert image.png -crop 512x512 slice-%02d.png

и

montage -background yellow -geometry +10+10 slice* montage.png
0 голосов
/ 23 января 2019

Использование https://github.com/samdobson/image_slicer

Do:

import image_slicer
image_slicer.slice('image.jpg', 12)
...