Portál AbcLinuxu, 13. května 2025 21:56
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:
# aptitude install python-opencv
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)
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.