Конвертация графических файлов осциллограмм Rigol

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

Я решил поправить эту ситуацию. Поправить просто изменив размеры пикселей. Т.е. сделать из одного пикселя — четыре.
Для этого я воспользовался python и библиотекой Pillow.

Над скриптом особо не парился.

from PIL import Image
import argparse

parser = argparse.ArgumentParser()
parser.add_argument("input_file")
parser.add_argument("output_file")
args = parser.parse_args()

im = Image.open(args.input_file)
pix = im.load()
x,y = im.size

im_out = Image.new('RGB',(2*x,2*y))
pix_out = im_out.load()
for i in range(0,x):
    for j in range(0,y):
        pix_out[i*2,j*2] = pix[i,j]
        pix_out[i*2+1,j*2] = pix[i,j]
        pix_out[i*2+1,j*2+1] = pix[i,j]
        pix_out[i*2,j*2+1] = pix[i,j]

im_out.save(args.output_file)

Запускать так:

python image_converter.py c:\\image.bmp c:\\out_img.bmp

Получается вот так.

Можно также одним махом и конвертировать файл в менее прожорливый формат.

python image_converter.py c:\\image.bmp c:\\out_img.png

Файл уменьшается в разы.

img.bmp — 877 Кб
out_img.png — 5.6 Кб

 

Похожий код:

Фото аватара
Алексей Петров

Программист, разработчик с 5 летним опытом работы. Учусь на разработчика игр на Unity и разработчика VR&AR реальности (виртуальной реальности). Основные языки программирования: C#, C++.

Оцените автора
Бла, бла код
Добавить комментарий