Преобразовать изображение черепахи в python в 2D бинарную матрицу?

1

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

Как мне преобразовать этот вывод черепахи в двумерную двоичную матрицу из 0 и 1, которую я могу использовать для дальнейших вычислений?

  • 1
    что ты уже испробовал? Где вы застряли точно? Что не работает так, как вы ожидаете? Пожалуйста, предоставьте минимальный, полный и проверяемый пример кода stackoverflow.com/help/mcve
  • 0
    Я могу генерировать изображения в виде черепах. Я застрял в (1) преобразовании выходов черепахи в какой-то формат, такой как jpg ot bmp, (2) импортировании этих форматов файлов в виде 2-мерной двоичной матрицы. Я думаю, что мой вопрос не столько о коде, который это делает, а о том, встроенная функциональность существует и как ее использовать.
Показать ещё 6 комментариев
Теги:
turtle-graphics

1 ответ

0

Это не все, что вы хотите, но это должно дать вам хорошее начало.

Сценарий ниже создает небольшое приложение tkinter с двумя кнопками, Draw и Save. Первый использует графику черепахи, чтобы нарисовать простую графику. Другие кнопки сохраняют то, что в данный момент находится на экране, в файл изображения в цветном формате .png.

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

Вот скриншот этого после нажатия кнопки Draw:

Изображение 174551

И вот mousescreen.png изображения mousescreen.png созданный нажатием на кнопку Save, был нажат:

Изображение 174551

Так как это не тот формат изображения, который, как вы говорите, вы хотите, вам нужно изменить скрипт для преобразования данных изображения, которые save_file() получает из функции getter() (которую я украл из этого ответа). Вы можете сделать это, используя модуль PIL (Python Image Library). Это хорошо документировано, и вот некоторые инструкции по установке и/или вы можете скачать его с pypi.

from PIL import ImageGrab
import tkinter as tk
import turtle


width, height =500, 500
image_filename = 'mousescreen.png'

def draw_stuff():
    t = turtle.RawTurtle(canvas)
    t.pencolor('#ff0000') # Red

    # Draw stuff.
    for i in range(5):
        t.forward(200)
        t.right(144)

    t.hideturtle()  # Hide for screenshot.

def getter(widget):
    x = root.winfo_rootx() + widget.winfo_x()
    y = root.winfo_rooty() + widget.winfo_y()
    x1 = x + widget.winfo_width()
    y1 = y + widget.winfo_height()
    return ImageGrab.grab().crop((x, y, x1, y1))

def save_file():
    img = getter(canvas)
    img.save(image_filename)

root = tk.Tk()
canvas = tk.Canvas(root, width=width, height=height)
canvas.pack()

btn1 = tk.Button(root, text='Draw', command=draw_stuff)
btn1.pack(side=tk.LEFT)
btn2 = tk.Button(root, text='Save', command=save_file)
btn2.pack(side=tk.LEFT)

root.mainloop()

Счастливых праздников.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню