Portál AbcLinuxu, 20. dubna 2024 04:57


Dotaz: Python - vytvareni obrazku

Gilhad avatar 27.11.2014 17:04 Gilhad | skóre: 20 | blog: gilhadoviny
Python - vytvareni obrazku
Přečteno: 249×
Odpovědět | Admin
Potreboval bych v pythonu vytvaret obrazky, idealne PNG, s tim, ze bych si vytvoril nejaky kanvas a na ten bych to jednoduse nakreslil. Vysledek pak potrebuju ulozit do souboru, nebo vratit jako image/png na dotaz z webu.

Zatim jsem nasel spoustu veci, jak to delat z jednotlivych pixelu, ale jsem presvedcen, ze uz to spousta lidi resilo a musi byt nejaka knihovna. Neumite me nekdo na nejakou nasmerovat?

Predstavoval bych si neco, co by umelo provest asi takovyto kod (nebo nejaky podobny - proste udelat obrazek, kreslit do nej cary, obdelniky vyplnene i prazdne a psat texty v ruznych velikostech, fontech a otocenich, pokud mozno jednoduse)


obr=Picture.New(640,480) # rozmery
obr.Fill(0,255,0) # zelene pozadi
obr.Line( (0,0),(640,480),(0,0,0),2) # uhlopricka, cerna, 2 pixely siroka
fnt=Font.New("Arial",bold=true,size=12)
obr.Text( (300,200), color=(255,0,0), text="Hello", direction=45, font=fnt) 
# asi uprostred, cervene Hello, sikmo, fontem Arial Bold 12

obr.rectangle( (20,30), (120,130), border_size=2, border_color=(0,0,255), filled=True, background_color=(127,127,255))
# bledemodry ctverec 100x100 s dvoupixlovym tmavomodrym okrajem

obr.rectangle( (10,20), (130,140), border_size=2, border_color=(255,0,0), filled=False)
# umisteny ve vetsim cervenem ctverci

obr.save_png("pokus.png")

image_data=obr.data_png() # to same, co je v souboru, ale v poli
return HttpResponse(image_data, mimetype="image/png") # vystup v pripade Djanga

Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Fuky avatar 27.11.2014 17:47 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: Python - vytvareni obrazku
Odpovědět | | Sbalit | Link | Blokovat | Admin
# aptitude install python-opencv

OpenCV-Python Tutorials

-- RÁMO: psí tábor , ETriatlon: Výuka plavání
Řešení 1× (Gilhad (tazatel))
Fuky avatar 27.11.2014 18:03 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: Python - vytvareni obrazku
Příloha:

Níže máš ukázku, aby jsi měl snadnější start.

#! /usr/bin/env python2.7
# -*- coding: utf-8 -*-

import cv2
import cv2.cv as cv
import numpy

compression_params = []
compression_params.append(cv.CV_IMWRITE_PNG_COMPRESSION)
compression_params.append(9)

width = 640
height = 480
channels = 3
img = numpy.zeros((height, width, channels), numpy.uint8)

# BGR
img[:] = (0, 255, 0) 

cv2.line(img, (0, 0), (width, height), (0, 0, 0), 2, 8)

cv2.putText(img, "Hello", org=(300, 200), fontFace=0, fontScale=1, color=(0, 0, 255))

cv2.rectangle(img, (20, 30), (120, 130), (255, 0, 0), cv.CV_FILLED)
cv2.rectangle(img, (10, 20), (130, 140), (0, 0, 255))

cv2.imwrite("/tmp/result.png", img, compression_params)
Gilhad avatar 27.11.2014 20:09 Gilhad | skóre: 20 | blog: gilhadoviny
Rozbalit Rozbalit vše Re: Python - vytvareni obrazku
Diky, to je presne ono :)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.