Форум сайта python.su
Доброго времени суток.
Имеется:
import Image class PreImage(object): ''' input_image - buffer for input image width, height - sizes of input image output_color_space - buffer for image which contain some color space RGB2YCbCr() - function for convert RGB into YCbCr convert() - function for convert from one color space to another ''' def __init__(self, input_image_name): self.input_image = Image.open(input_image_name) self.width, self.height = self.input_image.size size = self.input_image.size self.output_color_space = Image.new("RGB", size) self.output_grey_scale = Image.new("RGB", size) def RGB2YCbCr(self,rgb): cbcr = [0,0,0] cbcr[0] = int(0.299*rgb[0] + 0.587*rgb[1] + 0.114*rgb[2]) # Y cbcr[1] = int((rgb[2] - cbcr[0])*0.564 + 128) # Cb cbcr[2] = int((rgb[0] - cbcr[0])*0.713 + 128) # Cr return cbcr def convert(self): cbcr = [0,0,0] for i in range(self.height): for j in range(self.width): rgb = self.input_image.getpixel((j, i)) cbcr = self.RGBYCbCr(rgb) self.output_color_space.putpixel((j, i), tuple(cbcr)) self.output_color_space.save("Result.jpg", "JPEG") a = PreImage("RGB.jpg") a.convert()
from subprocess import Popen import Image Popen(['convert', '-colorspace', 'YCbCr', '-sampling-factor', '4:2:2', 'Test.png', 'Test1.png']).wait()
Прикреплённый файлы: Test.zip (96,9 KБ)
Офлайн