Разделите изображение на случайные части - как пазл - PullRequest
0 голосов
/ 21 июня 2020

Входные данные: изображение
Выходные данные: Случайное деление изображения на N частей.
Выходные данные могут быть фактическими изображениями, или последовательным кодом для границ, или любым другим другой способ, который поможет различать guish разные части и использовать их позже.

Например (9 частей):
ввод:
enter image description here

Output:
введите описание изображения здесь

Ответы [ 2 ]

0 голосов
/ 21 июня 2020
import image_slicer
import random
randomNum=random.randint(2,14)
imSlic=image_slicer.slice("user/Desktop/1.jpg", randomNum) 

этот код поможет вам разрезать любое изображение на случайные части от 2 до 14 , но сначала вы должны установить эти два модуля

0 голосов
/ 21 июня 2020

Это очень широкий вопрос, но если бы мне пришлось это делать, я бы, вероятно, начал со сплайнов. Я бы взял N точек

(w/3 * (1+random()),0)
(w/3 * (1+random()),h/N)
(w/3 * (1+random()),2*h/N)
...
(w/3 * (1+random()),h)

, где N примерно равно 10, а random () возвращает число, скажем, от -0,3 до 0,3, и пропустил через них сплайн. Я повторяю это при 2 * w / 3 и получаю другую кривую. Затем я проделываю то же самое по горизонтали.

Это означает, что части будут выглядеть как изогнутые прямоугольники. Но вы можете уточнить горизонтальные линии, чтобы они, возможно, не входили в один прямой снимок, а вместо этого имели биты между левой границей и первым вертикальным сплайном, а затем другую кривую между первым и вторым вертикальным сплайном.

...