Склейка фото как отдельный вид искусства (как распознать мерцающую строку)

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Размышляя над прикладной задачей «как прочитать мерцающую строку с номером электробуса» с помощью обычной камеры можно прийти к совершенно неожиданным результатам. Например, получить футуристические снимки окружающего ландшафта и вещей. Решение данной задачи с помощью python, а также несколько инопланетных изображений далее в статье.


Короткий ролик демонстрирует, как выглядит номер электробуса при съемке с помощью камеры raspberry pi:


ссылка на rutube

Заметно, что присутствует мерцание. Данный эффект не позволяет сделать качественный снимок, на котором будет присутствовать номер транспортного средства.
На снимке будет либо видна часть номера, либо он вовсе будет отсутствовать. Как повезет.

Как прочитать номер для дальнейшего распознавания?
Первое, что приходит на ум — это попытаться рассинхронизировать камеру с частотой обновления изображения на номерном знаке электробуса. Но что, если эта частота у каждого транспортного средства своя. Да и как это сделать на примере с picamera (предполагается использование одноплатника raspberry pi)?

Оказывается, есть еще один вариант решения задачи. Данный подход, как выяснилось, активно используется в астрономии при «фотографировании» звезд. Чтобы изображение звезды получилось качественнее, в некоторых случаях производится «сложение» снимков.

Продемонстрируем данный эффект на базе raspberry pi и python:

import time
import picamera
import cv2,os
import numpy as np
import glob
from datetime import datetime

frames = 3

def filenames():
    frame = 0
    while frame < frames:
        yield 'photos/image%02d.jpg' % frame
        frame += 1

with picamera.PiCamera(resolution='720p', framerate=30) as camera:
    camera.start_preview(fullscreen=False, window = (100, 20, 640, 480))
    #camera.vflip = True
    camera.rotation = 270
    # Give the camera some warm-up time
    time.sleep(2)
    start = time.time()
    camera.capture_sequence(filenames(), use_video_port=True)
    finish = time.time()
print('Captured %d frames at %.2ffps' % (
    frames,
    frames / (finish - start)))

os.chdir('photos/')

files=[]
for file in glob.glob('*.jpg'):
        #print(file)        
        files.append(file)

x=0

def glue(img1,img2):    
    return cv2.addWeighted(img1, 0.5, img2, 0.5, 0)

for f in range(len(files)-1):
    img1 = cv2.imread(files[x])
    img2 = cv2.imread(files[x+1])
    dst = glue(img1,img2)
    dst+=dst          
    x+=1

cv2.imwrite(f'{str(datetime.now()).split(" ")[1]}.png',dst)
#cv2.imshow('Blended Image',dst)  
#cv2.waitKey(0)
#cv2.destroyAllWindows()

for file in glob.glob('image*.jpg'):
        os.remove(file)       


Как несложно догадаться, основная «магия» происходит в функции glue, объединяющей снимки в нечто новое.


С помощью такого нехитрого подхода можно получать совершенно необычные снимки:


Но и в том числе решить прикладную задачу:


p.s. Возможно, классические методы cv не будут открытием для кого-то. Однако, об их (методах) существовании порой забываешь и начинаешь закапываться в дебри реализации.
Источник: https://habr.com/ru/articles/844262/


Интересные статьи

Интересные статьи

Производитель игровой периферии 8BitDo представил механическую клавиатуру в стиле IBM PC Model M. Стоимость решения составляет $100, его поставки стартуют 15 июля.
Было ли у вас такое, что одним прекрасным утром, за чашечкой кофе и любимыми печеньками вы внезапно вспоминаете, что у вас сегодня дед лайн? Далее вы легким нажатием кнопки на корпусе включаете свой р...
Аспиранты Стэнфорда разработали нейросеть Predicting Image Geolocations (или сокращенно PIGEON), которая способна определять местоположение по фотографии. Точность работы PIGEON составляет 40 км, и он...
Математический аппарат нередко формировался в процессе решения практических задач: зачатки векторной алгебры возникли при попытках «сложить» скорости и силы, понятие скорости привело ...
Современный веб практически немыслим без медиаконтента: смартфоны есть практически у каждой нашей бабушки, все сидят в соцсетях, и простои в обслуживании дорого обходятся компаниям. Вашему вн...