Настоящее раскрытие испрашивает приоритет в отношении китайской патентной заявки № 201911306421.6 под названием “Image processing method, apparatus, electronic device and computer readable storage medium”, поданной в китайское Патентное ведомство 18 декабря 2019 г., которая настоящим включена сюда посредством ссылки во всей ее полноте.
Область техники, к которой относится изобретение
Изобретение относится к области обработки изображений, в частности, к способу и устройству обработки изображений, электронному устройству и машиночитаемому носителю информации.
Уровень техники
По мере развития компьютерных сетей и роста популярности смартфонов, обычные пользователи больше не могут быть удовлетворены выражением своих чувств только посредством монотонных изображений и слов. Пользователи любят видео за их разнообразное представление содержания и формы и обеспечение интуитивных ощущений и постепенно видео становятся все более популярными. Для обычных пользователей стало тенденцией создавать оригинальные видео. Однако, с другой стороны, оригинальное видео селфи выражается в неинтересной форме. В то же время мы видим, что применение специальных видеоэффектов в кино- и телевизионной деятельности все более и более расширяется и формы выражения содержания становятся все более разнообразными. Можно сказать, что специальные видеоэффекты являются поддержкой и гарантией успешной кино- и телевизионной деятельности.
Однако, на предшествующем уровне техники специальные эффекты обычно создаются посредством прямого наложения эффектов на целевой объект (такой как человеческое лицо) и место наложения блокируется специальными эффектами, так чтобы первоначальные свойства целевого объекта не могли быть реализованы, приводя к тому, что фактический результат специальных эффектов, накладываемых на объект, не может отразить первоначальные признаки объекта, не вызывая отсутствия ощущения реальности.
Раскрытие сущности изобретения
Настоящее раскрытие предназначено для введения в упрощенной форме некоторых концепций, которые будут дополнительно описаны в последующем подробном описании. Это раскрытие не предназначено для идентификации ключевых характеристик или существенных особенностей заявленного предмета изобретения и не предназначено для ограничения объема заявленного предмета изобретения.
При первом подходе вариант осуществления настоящего раскрытия представляет способ обработки изображений, содержащий этапы, на которых:
идентифицируют первый объект в первом изображении видеокадра и второй объект, расположенный в первом объекте;
в соответствии с положением первого объекта в первом изображении видеокадра, накладывают третий объект в качестве изображения переднего плана на первое изображение видеокадра, чтобы получить второе изображение видеокадра; причем третий объект накладывает первый объект на второе изображение видеокадра;
в соответствии с положением второго объекта в первом изображении видеокадра, накладывают второй объект в качестве изображения переднего плана на третий объект второго изображения видеокадра, чтобы получить третье изображение видеокадра.
При втором подходе вариант осуществления настоящего раскрытия обеспечивает устройство обработки изображений, содержащее:
модуль идентификации объекта, выполненный с возможностью идентификации первого объекта в первом изображении видеокадра и второго объекта, расположенного в первом объекте;
модуль формирования второго изображения видеокадра, выполненный в соответствии с положением первого объекта в первом изображении видеокадра с возможностью наложения третьего объекта в качестве изображения переднего плана на первое изображение видеокадра для получения второго изображения видеокадра; причем третий объект накладывает первый объект на второе изображение видеокадра;
модуль формирования третьего видеокадра, выполненный в соответствии с положением второго объекта в первом изображении видеокадра с возможностью наложения второго объекта в качестве изображения переднего плана на третий объект второго изображения видеокадра, чтобы получить третье изображение видеокадра.
При третьем подходе вариант осуществления настоящего раскрытия обеспечивает электронное устройство, содержащее по меньшей мере один процессор; и
память, соединенную с возможностью связи по меньшей мере с одним процессором; причем память хранит команды, исполняемые по меньшей мере одним процессором, при этом команды исполняются по меньшей мере одним процессором, для обеспечения выполнения, по меньшей мере одним процессором, любого из способов обработки изображений при вышеупомянутом первом подходе.
При четвертом подходе вариант осуществления настоящего раскрытия обеспечивает машиночитаемый носитель информации долговременного использования, отличающийся тем, что упомянутый машиночитаемый носитель информации долговременного использования хранит компьютерные команды, чтобы заставлять компьютер исполнять любой из способов обработки изображений при вышеупомянутом первом подходе.
При пятом подходе вариант осуществления настоящего раскрытия обеспечивает компьютерную программу, которая, когда исполняется компьютером, выполняет любой из способов обработки изображений при вышеупомянутом первом подходе.
Раскрытый вариант осуществления раскрывает способ и устройство обработки изображений, электронное устройство и машиночитаемый носитель информации. Способ обработки изображений содержит этапы, на которых идентифицируют первый объект в первом изображении видеокадра и второй объект, расположенный в первом объекте; в соответствии с положением первого объекта в первом изображении видеокадра, накладывают третий объект в качестве изображения переднего плана на первое изображение видеокадра, чтобы получить второе изображение видеокадра; причем третий объект накладывает первый объект на второе изображение видеокадра; в соответствии с положением второго объекта в первом изображении видеокадра, накладывают второй объект в качестве изображения переднего плана на третий объект второго изображения видеокадра, чтобы получить третье изображение видеокадра. С помощью описанного выше способа можно решить техническую проблему, существующую на данном уровне техники, когда специальные эффекты, накладываемые на объект, не могут отразить первоначальные признаки объекта так, чтобы не вызывать отсутствия ощущения реальности.
Приведенное выше описание относится только к сущности технической схемы настоящего раскрытия. Чтобы сделать технические средства, соответствующие настоящему раскрытию, более ясными и пригодными для реализации в соответствии с содержанием, присутствующим в описании, и сделать вышеупомянутые и другие задачи, признаки и преимущества настоящего раскрытия более очевидными, лучшие варианты осуществления будут последовательно представлены и подробно описаны в сочетании с чертежами, перечисленными ниже.
Краткое описание чертежей
Перечисленные выше и другие признаки, преимущества и подходы различных вариантов осуществления настоящего раскрытия станут более очевидны в сочетании с сопроводительными чертежами и со ссылкой на последующее подробное описание. На всех чертежах одни и те же или подобные ссылочные позиции относятся к одним и тем же или подобным элементам. Следует понимать, что чертежи являются схематичными и оригиналы и элементы не обязательно вычерчены в масштабе.
Фиг. 1 - блок-схема последовательности выполнения операций способа обработки изображений, предоставленного настоящим раскрытием;
Фиг. 2 - схема вычисления точек привязки для человеческого лица в варианте осуществления способа обработки изображений, предоставленного настоящим раскрытием;
Фиг. 3 - блок-схема последовательности выполнения операций конкретного примера, показанного на этапе S103 варианта осуществления способа обработки изображений, предоставленного настоящим раскрытием;
Фиг. 4 - блок-схема последовательности выполнения операций конкретного примера, показанного на этапе S302 в варианте осуществления способа обработки изображений, предоставленного настоящим раскрытием;
Фиг. 5 - структурная схема варианта осуществления устройства обработки изображений, представленного вариантом осуществления настоящего раскрытия;
Фиг. 6 - схематичная структурная схема электронного устройства, представляемого в соответствии с вариантом осуществления настоящего раскрытия.
Осуществление изобретения
Варианты осуществления настоящего раскрытия ниже будут описаны более подробно со ссылкой на сопроводительные чертежи. Хотя на чертежах показаны некоторые варианты осуществления настоящего раскрытия, следует понимать, что настоящее раскрытие может быть реализовано в различных формах и не должно интерпретироваться как ограничиваемое изложенными здесь вариантами осуществления. Наоборот, эти варианты осуществления предоставляются для более всестороннего и полного понимания настоящего раскрытия. Следует понимать, что чертежи и варианты осуществления настоящего раскрытия предназначены только для иллюстративных целей и не должны использоваться для ограничения объема защиты настоящего раскрытия.
Следует понимать, что этапы, описанные в вариантах осуществления способа настоящего раскрытия, могут выполняться в различном порядке и/или параллельно. Кроме того, варианты осуществления способа могут содержать дополнительные этапы и/или некоторые из показанных этапов могут быть пропущены. Объем защиты настоящего раскрытия, таким образом, не ограничивается.
Термин "содержащий", как он используется здесь, и его варианты являются открытыми, то есть, "содержащий, но не ограничивающийся только этим". Термин "основываясь на" означает "основываясь, по меньшей мере частично, на". Термин "вариант осуществления" означает "по меньшей мере один вариант осуществления"; термин "другой вариант осуществления" означает "по меньшей мере, любой другой вариант осуществления"; термин "некоторые варианты осуществления" означает "по меньшей мере, некоторые варианты осуществления". Соответствующие определения других терминов будут даны в последующем описании.
Следует заметить, что понятия "первый", "второй" и т. д., упомянутые в настоящем раскрытии, используются только для различения различных устройств, модулей или блоков и не используются для ограничения порядка или взаимозависимости функций, выполняемых этими устройствами, модулями или блоками.
Следует заметить, что модификации терминов "один" и "несколько", упомянутые в настоящем раскрытии, являются просто иллюстративными, а не ограничительными, и специалисты в данной области техники должны понимать, что их следует понимать как "один или более", если иное явно не указывается в контексте.
Названия сообщений или информации, которыми обмениваются несколько устройств в вариантах осуществления настоящего раскрытия, служат только для иллюстративных целей и не предназначены ограничивать объемы этих сообщений или информации.
На фиг. 1 представлена блок-схема последовательности выполнения варианта осуществления способа обработки изображений, предоставленного вариантами осуществления настоящего раскрытия. Способ обработки изображений, предоставленный в этом варианте осуществления, может быть реализован устройством обработки изображений, которое может быть реализовано как программное обеспечение или как сочетание программного обеспечения и аппаратных средств. Устройство обработки изображений может быть интегрировано в некоторое устройство в системе обработки изображений, такое как сервер обработки изображений или оконечное устройство обработки изображений. Как показано на фиг. 1, этот способ содержит следующие этапы.
На этапе S101 идентифицируют первый объект в первом изображении видеокадра и второй объект, расположенный в первом объекте.
На этом этапе первое изображение видеокадра получают от датчика изображения или из памяти. Датчик изображения относится к различным устройствам, которые могут собирать изображения, и типичными датчиками изображения являются видеокамеры, фотокамеры и т. д. В настоящем варианте осуществления датчик изображения может быть камерой на оконечном устройстве, такой как фронтальная камера или камера заднего вида на смартфоне, и изображения, собранные камерой, могут напрямую отображаться на экране дисплея мобильного телефона, причем здесь память является локальной памятью или сетевой памятью и изображение видеокадра получают через место хранения в локальной памяти или адрес запоминающего устройства в сетевой памяти и изображение видеокадра в памяти является предварительным файлом изображения видеокадра, который может отображаться на дисплее оконечного устройства через плеер, имеющийся на оконечном устройстве.
Первое изображение видеокадра содержит первый объект, который может быть любым объектом в первом изображении видеокадра. Для примера, первым объектом является человеческое лицо; вторым объектом является часть первого объекта, расположенная на первом объекте, например, когда первый объект является человеческим лицом, вторым объектом является признак лица, такой как глаза, рот и т. д.
В этом варианте осуществления ключевые точки объекта используются для идентификации объекта; например, объект может быть идентифицирован множеством заданных ключевых точек и если идентифицировано множество ключевых точек, то объект идентифицирован. Как вариант, идентификация первого объекта в первом изображении видеокадра и второго объекта, расположенного в первом объекте, содержит этапы, на которых: идентифицируют множество первых ключевых точек первого объекта и множество вторых ключевых точек второго объекта в первом изображении видеокадра; идентифицируют первый объект, основываясь на множестве первых ключевых точек первого объекта; идентифицируют второй объект, основываясь на множестве вторых ключевых точек второго объекта, где множество вторых ключевых точек является граничными ключевыми точками второго объекта. Граничные ключевые точки определяют контур второго объекта. Например, первым объектом является человеческое лицо и вторым объектом являются глаза или рот на человеческом лице. Множество первых ключевых точек может содержать центральную ключевую точку двух глаз на человеческом лице и ключевую точку кончика носа и когда центральная ключевая точка двух глаз и ключевая точка кончика носа идентифицированы, человеческое лицо идентифицировано; вторые ключевые точки содержат граничные ключевые точки глаз и граничные ключевые точки рта, аналогично тому, как при идентификации граничных ключевых точек глаз и граничных ключевых точек рта идентифицируются глаза и рот. Например, первые ключевые точки и вторые ключевые точки могут быть идентифицированы, используя алгоритм глубокого обучения, и сеть глубокого обучения может обучаться путем прямого использования набора изображений кадров, маркированных первой ключевой точкой и второй ключевой точкой, как описано выше, чтобы получить сетевую модель, которая может регрессировать первые ключевые точки и вторые ключевые точки, и затем первое изображение видеокадра вводится в сетевую модель и, если первое изображение видеокадра содержит первый объект и второй объект, сетевая модель будет давать на выходе положения первых ключевых точек и вторых ключевых точек, тем самым непосредственно идентифицируя первый объект и второй объект и идентифицируя положения первых ключевых точек и вторых ключевых точек. Следует понимать, что первые ключевые точки и вторые ключевые точки могут также быть идентифицированы любым другим алгоритмом идентификации ключевых точек, который здесь повторно не описывается.
На этапе S102, в соответствии с положением первого объекта в первом изображении видеокадра, накладывают третий объект в качестве изображения переднего плана на первое изображение видеокадра, чтобы получить второе изображение видеокадра; причем третий объект накладывает первый объект на второе изображение видеокадра.
Как вариант, третий объект является трехмерным виртуальным объектом и двумерная область проекции трехмерного виртуального объекта на первое изображение видеокадра больше, чем область первого объекта, то есть, третий объект может полностью перекрыть первый объект. Например, трехмерный виртуальный объект может быть сферическим виртуальным объектом, таким как трехмерный апельсин, трехмерный шар, трехмерный арбуз и так далее. Третий объект содержит точку привязки третьего объекта, которая используется для определения местоположения третьего объекта.
Следует понимать, что третий объект может быть любым объектом, не ограниченным вышеупомянутыми трехмерными виртуальными объектами, такими как двумерные виртуальные объекты и реальные объекты. Реальные объекты являются объектами, сформированными в полученных изображениях реальных объектов, такими как изображения человеческого лица и изображения внешнего вида животных, включенные на этот раз в первое изображение видеокадра, причем изображение внешнего вида животных может быть наложено на изображение человеческого лица в качестве третьего объекта.
На этом этапе, когда третий объект накладывается на первый объект, для определения местоположения наложения третьего объекта может использоваться способ поточечного выравнивания по ключевым точкам. Как пример, третий объект содержит точку привязки третьего объекта, находящуюся на нем, и ключевая точка привязки первого объекта, соответствующая точке привязки третьего объекта, задается на первом объекте, и ключевая точка привязки первого объекта может быть одной из вышеупомянутых первых ключевых точек. Когда третий объект накладывается на первое изображение видеокадра в качестве изображения переднего плана, точка привязки третьего объекта может выравниваться с ключевой точкой привязки первого объекта, так чтобы третий объект мог быть наложен на первый объект.
Иногда выравнивание, использующее одиночную ключевую точку, является неточным, поэтому, как вариант, в соответствии с положением первого объекта в первом изображении видеокадра, наложение третьего объекта в качестве изображения переднего плана на первое изображение видеокадра, чтобы получить второе изображение видеокадра, может содержать этапы, на которых: вычисляют точку привязки первого объекта в первом изображении видеокадра, основываясь на множестве первых ключевых точек первого объекта в первом изображении видеокадра; путем выравнивания точки привязки третьего объекта с точкой привязки первого объекта в первом изображении видеокадра, накладывают третий объект в качестве изображения переднего плана на первое изображение видеокадра, чтобы получить второе изображение видеокадра. В этом альтернативном варианте осуществления точка привязки первого объекта вычисляется из множества первых ключевых точек, что может быть более точным, чем определение местоположения по одиночной первой ключевой точке, так как точка привязки первого объекта содержит позиционную информацию о множестве первых ключевых точек. Например, как показано на фиг. 2, первый объект является человеческим лицом и множество первых ключевых точек являются центральными ключевыми точками 201 и 202 левого и правого глаз и ключевой точкой 203 кончика носа, и точка привязки человеческого лица может быть вычислена, исходя из центральных ключевых точек двух глаз и ключевой точки кончика носа, каждая из которых учитывается как 1/3 по весу, поэтому можно вычислить центральную точку 204 треугольника, образованного центральными ключевыми точками двух глаз и кончика носа, так что влияние искажения положения одиночной ключевой точки на положение точки привязки становится намного меньшим и точка привязки первого объекта является стабильной и точной.
После получения точки привязки первого объекта, устанавливают точку привязки третьего объекта в месте расположения точки привязки первого объекта и воспроизводят первое изображение видеокадра с третьим объектом в качестве переднего плана, чтобы получить второе изображение видеокадра.
На этапе S103, в соответствии с положением второго объекта в первом изображении видеокадра, накладывают второй объект в качестве изображения переднего плана на третий объект второго изображения видеокадра, чтобы получить третье изображение видеокадра.
На этапе S101 был идентифицирован второй объект, причем положение второго объекта в первом объекте видеокадра может быть определено положением центральной точки второго объекта или множества вторых ключевых точек. Например, при идентификации второго объекта точка привязки второго объекта может быть непосредственно идентифицирована как ключевая точка или может быть вычислена, основываясь на множестве вторых ключевых точек, вычисляя точку привязки второго объекта, значение веса может быть установлено для каждой второй ключевой точки, участвующей в вычислении, и положение точки привязки второго объекта является взвешенным средним положением множества вторых ключевых точек. После получения положения второго объекта в первом изображении видеокадра, второй объект накладывается в качестве изображения переднего плана на соответствующее положение третьего объекта во втором изображении видеокадра.
Как вариант, когда третий объект является трехмерным объектом, то поскольку трехмерный объект имеет определенную глубину (информацию в направлении оси Z), но второй объект является двумерным объектом без глубины, то когда второй объект накладывается на третий объект, будет существовать некоторое отклонение, и, таким образом, когда второй объект накладывается на третий объект, существует необходимость в некотором смещении, так чтобы результат наложения был более естественным. В этом случае, как показано на фиг. 3, этап S103 может содержать этапы, на которых:
на этапе S301 вычисляют первое расстояние между двумя ключевыми точками, заданными на первом объекте;
на этапе S302 вычисляют смещение второго объекта, основываясь на первом расстоянии;
на этапе S303, в соответствии с положением второго объекта в первом изображении видеокадра и смещением второго объекта, накладывают второй объект в качестве изображения переднего плана на третий объект во втором изображении видеокадра для получения третьего изображения видеокадра.
Две ключевые точки, заданные на первом объекте, могут быть любыми двумя ключевыми точками на первом объекте. Например, две заданные ключевые точки являются двумя ключевыми точками на первом объекте, которые с двух сторон симметричны. Например, если в вышеупомянутом варианте осуществления первым объектом является человеческое лицо, заданные две ключевые точки могут быть центральными ключевыми точками левого глаза и правого глаза. Например, вычисление смещения второго объекта, основываясь на первом расстоянии, может состоять в умножении первого расстояния на коэффициент смещения, который зависит от значения первого расстояния. Например, чем больше значение первого расстояния, тем больше коэффициент смещения, то есть, тем больше смещение второго объекта, и достигнутый эффект состоит в том, что чем ближе первый объект к объективу, тем больше будет смещен второй объект, чтобы адаптироваться к трехмерной поверхности третьего объекта.
Описанное выше вычисление смещения принадлежит к своего рода приближенному вычислению и, как вариант, смещение может быть вычислено более точно. В этом случае, как показано на фиг. 4, этап S302 может содержать этапы, на которых:
на этапе S401 получают угол отклонения и угол наклона первого объекта, где угол отклонения является углом в горизонтальной плоскости между ориентацией первого объекта в первом изображении видеокадра и направлением съемки объектива, а угол наклона является углом в вертикальной плоскости между ориентацией первого объекта в первом изображении видеокадра и направлением съемки объектива;
на этапе S402 вычисляют смещение второго объекта, основываясь на первом расстоянии, угле отклонения и угле наклона.
Конкретно, процесс вычисления на вышеупомянутом этапе S402 может быть выражен следующей формулой:
Здесь, sign - операция получения символов, dx - смещение второго объекта в направлении оси X, dy - смещение второго объекта в направлении оси Y, disteye - первое расстояние, yaw - угол отклонения первого объекта, pitch - угол наклона первого объекта, θ1 - начальный относительный угол наклона, когда второй объект обращен вперед, и θ2 - начальный относительный угол отклонения, когда второй объект обращен вперед. Здесь θ1 и θ2 - заданные угловые значения, поскольку внешняя поверхность трехмерного третьего объекта имеет определенную кривизну, при движении требуется некоторое затухание. Возьмем в качестве примера первый объект, являющийся человеческим лицом, и второй объект, являющийся глазами и ртом, тогда, так как рот расположен в нижней половине верхней и нижней областей третьего объекта, начальный относительный угол наклона рта большой, и так как рот расположен в средней части левой и правой областей третьего объекта, начальный относительный угол отклонения рта равен 0. θ1 и θ2 других вторых объектов могут быть заданы с различными значениями в соответствии с различными третьими объектами, которые здесь описываться не будут.
Как вариант, на этапе S303, в соответствии с положением второго объекта в первом изображении видеокадра и смещением второго объекта, наложение второго объекта в качестве изображения переднего плана на третий объект во втором изображении видеокадра для получения третьего изображения видеокадра дополнительно содержит этапы, на которых: выполняют смещение положения начальной точки привязки второго объекта в первом изображении видеокадра в соответствии со смещением второго объекта, чтобы получить целевую точку привязки; представляют во втором изображении видеокадра второй объект в качестве изображения переднего плана в положении целевой точки привязки для получения третьего изображения видеокадра. На вышеупомянутом этапе положение второго объекта в первом изображении видеокадра рассматривается как начальная точка привязки и начальная точка привязки содержит значение координаты оси X и значение координаты оси Y, причем значение координаты оси X и значение координаты оси Y начальной точки привязки соответственно добавляются к значениям координаты оси X и координаты оси Y смещения, чтобы получить целевую точку привязки; затем, во втором изображении видеокадра второй объект представляется как передний план в положении второй целевой точки привязки, чтобы получить третье изображение видеокадра, и второй объект накладывается на третий объект на третьем изображении видеокадра, которое действительно может отражать характеристики первого объекта, делая, таким образом, специальный эффект более реальным.
Как вариант, поскольку размеры третьего объекта и второго объекта не могут быть одинаковыми, прежде чем накладывать второй объект в качестве изображения переднего плана на третий объект второго изображения видеокадра, способ дополнительно содержит масштабирование второго объекта в соответствии с третьим объектом. В этом случае масштабный коэффициент второго объекта может быть определен в соответствии с отношением расстояния между двумя заданными ключевыми точками на третьем объекте и расстояния между двумя заданными ключевыми точками на первом объекте, так, чтобы когда третий объект больше, чем первый объект, второй объект увеличивался, а когда третий объект меньше, чем первый объект, второй объект уменьшался. Второй объект, наложенный на третий объект второго изображения видеокадра после этого этапа, является вторым объектом после масштабирования.
Дополнительно, после того, как целевой объект наложен на трехмерный виртуальный объект, поскольку может иметь место различие между цветом целевого объекта и цветом трехмерного виртуального объекта, для устранения такого различия может быть использована дальнейшая цветовая обработка, так чтобы эффект наложения второго объекта и третьего объекта был более естественным. Дополнительно, после этапа S103 способ также содержит этапы, на которых:
преобразуют цветовые пространства второго объекта и третьего объекта в третьем изображении видеокадра из цветового пространства RGB (Red, Green, Blue (красный, зеленый, синий)) в цветовое пространство HSV (Hue, Saturation, Value (оттенок, насыщенность, значение);
заменяют значение второго объекта в канале H в цветовом пространстве HSV на значение третьего объекта в канале H;
преобразуют цветовые пространства второго объекта и третьего объекта из пространства HSV в цветовое пространство RGB для получения четвертого изображения видеокадра.
Выполняя приведенные выше этапы, пространство RGB преобразуется в пространство HSV и цвет второго объекта преобразуется в цвет третьего объекта в целевом положении, в то же время сохраняя первоначальные насыщенность и яркость второго объекта, так чтобы второй объект мог лучше сливаться с третьим объектом, что делает второй объект более похожим на часть третьего объекта и более реалистичным.
Варианты осуществления настоящего раскрытия представляют способ и устройство обработки изображений, электронное устройство и машиночитаемый носитель информации. Способ обработки изображений содержит этапы, на которых идентифицируют первый объект в первом изображении видеокадра и второй объект, расположенный в первом объекте; в соответствии с положением первого объекта в первом изображении видеокадра, накладывают третий объект в качестве изображения переднего плана на первое изображение видеокадра, чтобы получить второе изображение видеокадра; причем третий объект накладывает первый объект на второе изображение видеокадра; в соответствии с положением второго объекта в первом изображении видеокадра, накладывают второй объект в качестве изображения переднего плана на третий объект второго изображения видеокадра, чтобы получить третье изображение видеокадра. Используя представленный выше способ можно решить существующую техническую проблему, когда специальные эффекты, накладываемые на объект, не могут отразить первоначальные признаки объекта, не вызывая ощущения отсутствия реальности.
В приведенном выше описании, хотя этапы в вышеупомянутых вариантах осуществления способа описаны в представленном порядке, специалистам в данной области техники должно быть понятно, что этапы, представленные в раскрытых вариантах осуществления, не обязательно выполняются в вышеупомянутом порядке, а могут также выполняться в другом порядке, таком как обратный порядок, параллельный порядок, перекрестный порядок и т. д. Кроме того, на основе вышеупомянутых этапов специалисты в данной области техники могут также добавлять другие этапы и эти очевидные модификации или эквивалентные альтернативы также должны быть включены в пределы объема защиты настоящего раскрытия и здесь их описания не будут повторяться.
На фиг. 5 схематично показана структурная схема варианта осуществления устройства обработки изображений, представленного в вариантах осуществления настоящего раскрытия. Как показано на фиг. 5, устройство 500 содержит модуль 501 идентификации объекта, модуль 502 формирования второго изображения видеокадра и модуль 503 формирования третьего видеокадра. Среди них присутствуют:
модуль 501 идентификации объекта, выполненный с возможностью идентификации первого объекта в первом изображении видеокадра и второго объекта, расположенного в первом объекте;
модуль 502 формирования второго изображения видеокадра, выполненный в соответствии с положением первого объекта в первом изображении видеокадра с возможностью наложения третьего объекта в качестве изображения переднего плана на первое изображение видеокадра для получения второго изображения видеокадра; где третий объект накладывает первый объект на второе изображении видеокадра;
модуль 503 формирования третьего изображения видеокадра, выполненный в соответствии с положением второго объекта в первом изображении видеокадра с возможностью наложения второго объекта в качестве изображения переднего плана на третий объект второго изображения видеокадра, чтобы получить третье изображение видеокадра.
Кроме того, модуль 501 идентификации объекта дополнительно выполнен с возможностью:
идентификации множества первых ключевых точек первого объекта и множества вторых ключевых точек второго объекта в первом изображении видеокадра;
идентификации первого объекта, основываясь на множестве первых ключевых точек первого объекта;
идентификации второго объекта, основываясь на множестве вторых ключевых точек второго объекта, где множество вторых ключевых точек являются граничными ключевыми точками второго объекта.
Дополнительно, модуль 502 формирования второго изображения видеокадра, выполнен с возможностью:
вычисления точки привязки первого объекта в первом изображении видеокадра, основываясь на множестве первых ключевых точек первого объекта в первом изображении видеокадра;
посредством выравнивания точки привязки третьего объекта с точкой привязки первого объекта в первом изображении видеокадра, наложения третьего объекта в качестве изображения переднего плана в первом изображении видеокадра для получения второго изображения видеокадра.
Кроме того, модуль 502 формирования второго изображения видеокадра дополнительно выполнен с возможностью:
вычисления первого расстояния между двумя ключевыми точками, заданными на первом объекте;
вычисления смещения второго объекта, основываясь на первом расстоянии;
в соответствии с положением второго объекта в первом изображении видеокадра и смещением второго объекта, наложения второго объекта в качестве изображения переднего плана на третий объект во втором изображении видеокадра для получения третьего изображения видеокадра.
Далее, вычисление смещения второго объекта в соответствии с первым расстоянием содержит этапы, на которых:
получают угол отклонения и угол наклона первого объекта, где угол отклонения является углом в горизонтальной плоскости между ориентацией первого объекта в первом изображении видеокадра и направлением съемки объектива, а угол наклона является углом в вертикальной плоскости между ориентацией первого объекта в первом изображении видеокадра и направлением съемки объектива;
вычисляют смещение второго объекта, основываясь на первом расстоянии, угле отклонения и угле наклона.
Дополнительно, в соответствии с положением второго объекта в первом изображении видеокадра и смещением второго объекта, наложение второго объекта в качестве изображения переднего плана на третий объект во втором изображении видеокадра для получения третьего изображения видеокадра содержит этапы, на которых:
выполняют смещение положения для начальной точки привязки второго объекта в первом изображении видеокадра в соответствии со смещением второго объекта, чтобы получить целевую точку привязки;
представляют во втором изображении видеокадра второй объект в качестве изображения переднего плана в положении целевой точки привязки для получения третьего изображения видеокадра.
Кроме того, устройство 500 обработки изображений дополнительно содержит:
модуль формирования четвертого видеоизображения, выполненный с возможностью преобразования цветовых пространств второго объекта и третьего объекта в третьем изображении видеокадра из цветового пространства RGB в цветовое пространство HSV; замены значения второго объекта в канале H в цветовом пространстве HSV на значение третьего объекта в канале H; и преобразования цветовых пространств второго объекта и третьего объекта из пространства HSV в цветовое пространство RGB для получения четвертого изображения видеокадра.
Устройство, как показано на фиг. 5, может выполнять способы вариантов осуществления, показанные на фиг. 1-4. Для деталей, не описанных подробно в этом варианте осуществления, обратитесь к соответствующему описанию вариантов осуществления, показанных на фиг. 1-4. По процессу реализации и техническому эффекту технической схемы можно обратиться к описанию вариантов осуществления, показанных на фиг. 1-4, и их описание здесь не повторяется.
На фиг. 6 схематично показана структурная схема электронного устройства 600 (например, оконечного устройства или сервера на фиг. 1), пригодного для реализации вариантов осуществления настоящего раскрытия. Оконечные устройства в вариантах осуществления настоящей заявки могут содержать, но не ограничиваясь только этим, мобильные терминалы, такие как мобильные телефоны, портативные компьютеры, цифровые бытовые радиоприемники, PDA (персональные цифровые секретари), PAD (планшетные компьютеры), PMP (portable multimedia player, портативные мультимедийные проигрыватели), навигационные терминалы, устанавливаемые на транспортном средстве, (например, навигационные терминалы, устанавливаемые на автомобилях) и стационарные терминалы, такие как цифровые телевизоры, настольные компьютеры и т. п. Электронное устройство, показанное на фиг. 6, является только примером и не должно вносить ограничений в функции и объем защиты заявки для вариантов осуществления настоящего раскрытия.
Как показано на фиг. 6, электронное устройство 600 может содержать устройство 601 обработки (такое как центральный процессор, графический процессор и т. д.), которое может выполнять различные соответствующие действия и процессы в соответствии с программой, хранящейся в постоянной памяти 602 (read-only memory, ROM), или программой, загруженной в оперативную память 603 (random access memory, RAM) из запоминающего устройства 608. В RAM 603 также хранятся различные программы и данные, требующиеся для работы электронного устройства 600. Устройство 601 обработки, ROM 602 и RAM 603 соединяются друг с другом через шину 604. Интерфейс 605 ввода/вывода (input/output, I/O) 605 также соединяется с шиной 604.
В целом, к интерфейсу 605 I/O могут быть подключены следующие устройства: устройство 606 ввода данных, содержащее, например, сенсорный экран, сенсорную панель, клавиатуру, мышь, камеру, микрофон, акселерометр, гироскоп и т. п.; устройство 607 вывода, содержащее, например, жидкокристаллический дисплей (liquid crystal display, LCD), динамик, вибропреобразователь и т.п.; запоминающее устройство 608, содержащее, например, магнитную ленту, жесткий диск и т. д.; и устройство 609 связи. Устройство 609 связи может позволить электронному устройству 600 осуществлять беспроводную связь или проводную связь с другими устройствами, чтобы обмениваться данными. Хотя на фиг. 6 показано электронное устройство 600 с различными компонентами, следует понимать, что не требуется реализовывать или иметь все показанные устройства. Вместо этого может обеспечиваться или реализовываться больше или меньше устройств.
В частности, согласно вариантам осуществления настоящего раскрытия, процесс, описанный выше со ссылкой на блок-схему последовательности выполнения операций, может быть реализован как компьютерная программа. Например, варианты осуществления настоящего раскрытия содержат компьютерный программный продукт, который может содержать компьютерную программу, переносимую на считываемом компьютером носителе долговременного использования, компьютерную программу, содержащую управляющие программы для выполнения способа, показанного на блок-схеме последовательности выполнения операций. В таком варианте осуществления компьютерная программа может загружаться и устанавливаться из сети через устройство 609 связи или устанавливаться из запоминающего устройства 608 или устанавливаться из ROM 602. Когда компьютерная программа исполняется устройством 601 обработки, могут выполняться вышеупомянутые функции, определенные в способах вариантов осуществления настоящего раскрытия.
Следует заметить, что вышеупомянутый машиночитаемый носитель информации, соответствующий настоящему раскрытию, может быть считываемым компьютером носителем сигнала или считываемым компьютером носителем запоминающего устройства или любым их сочетанием. Машиночитаемый носитель информации может быть, например, не ограничиваясь только этим, электрической, магнитной, оптической, электромагнитной, инфракрасной или полупроводниковой системой, оборудованием или устройством или любым сочетанием вышеупомянутого. Более конкретные примеры считываемых компьютером носителей могут содержать, но не ограничиваясь только этим, однопроводное или многопроводное электрическое соединение, дискету портативного компьютера, жесткий диск, оперативную память (RAM), постоянную память (ROM), стираемую программируемую постоянную память (EPROM или флэш-память), оптоволокно, портативное запоминающее устройство на компакт-дисках (CD-ROM), оптическое запоминающее устройство, магнитное запоминающее устройство или любое подходящее сочетание вышеупомянутого. В настоящем раскрытии машиночитаемый носитель информации может быть любым материальным носителем, содержащим или хранящим программу, которая может использоваться или быть связана с системой исполнения команд, оборудованием или устройством. В настоящем раскрытии, однако, машиночитаемый носитель информации сигнала может содержать сигналы данных, распространяющиеся в основной полосе или как часть несущей волны, на которой переносятся считываемые управляющие программы. Этот распространяющийся сигнал данных может принимать различные формы, в том числе, но не ограничиваясь только этим, электромагнитный сигнал, оптический сигнал или любое подходящее сочетание вышеупомянутого. Машиночитаемый носитель информации сигнала может также быть любым считываемым компьютером носителем, кроме считываемого компьютером носителя данных, который может пересылать, распространять или транспортировать программу для использования в системе исполнения команд, оборудованием или устройством или в связи с ними. Управляющие программы, содержащиеся на считываемом компьютером носителе, могут передаваться с помощью любого подходящего носителя, в том числе, но не ограничиваясь только этим, электрического провода, оптического кабеля, радиочастотного кабеля и т. д. или любого подходящего сочетания вышеупомянутого.
В некоторых вариантах осуществления клиент и сервер могут осуществлять связь, используя любой известный в настоящее время или разработанный в будущем сетевой протокол, такой как HTTP (HyperText Transfer Protocol, протокол передачи гипертекста), и могут связываться друг с другом с помощью любой формы или носителя цифровой передачи данных (например, сеть связи). Примеры сетей связи содержат локальные сети (local area network, "LAN"), глобальные вычислительные сети (wide area network, "WAN"), интеллектуальная сеть (например, Интернет) и сквозные сети (например, заказные сквозные сети), а также любые известные в настоящее время или разработанные в будущем сети.
Машиночитаемый носитель информации может быть включен в электронное устройство или он может существовать отдельно, не входя в состав сборки электронного устройства.
Машиночитаемый носитель информации содержит одну или более программ, которые, когда исполняются электронным устройством, заставляют электронное устройство идентифицировать первый объект в первом изображении видеокадра и второй объект, расположенный в первом объекте; в соответствии с положением первого объекта в первом изображении видеокадра, накладывать третий объект в качестве изображения переднего плана на первое изображение видеокадра для получения второго изображения видеокадра; причем третий объект накладывается на первый объект во втором изображении видеокадра; и, в соответствии с положением второго объекта в первом изображении видеокадра, второй объект в качестве изображения переднего плана накладывается на третий объект второго изображения видеокадра, чтобы получить третье изображение видеокадра.
Компьютерные управляющие программы для выполнения операций настоящего раскрытия могут быть написаны на одном или более языках программирования или их сочетаниях, включая, но не ограничиваясь только этим, языки объектно-ориентированного программирования, такие как Java, Smalltalk, C++ и стандартные языки процедурного программирования, такие как язык "C" или подобные языки программирования. Программа может исполняться полностью на компьютере пользователя, частично на компьютере пользователя, как независимый пакет программного обеспечения, частично на компьютере пользователя, частично на удаленном компьютере или полностью на удаленном компьютере или сервере. В случае удаленного компьютера, удаленный компьютер может быть подключен к компьютеру пользователя через любой вид сети, включая локальную сеть (LAN) или глобальную вычислительную сеть (WAN), или может быть подключен к внешнему компьютеру (например, с помощью Интернет-провайдера для соединения через Интернет).
Блок-схема последовательности выполнения операций и блок-схема на чертежах показывают архитектуру, функции и операции возможных реализаций систем, способов и компьютерных программных продуктов, соответствующих различным вариантам осуществления настоящего раскрытия. В этом отношении каждый блок на блок-схеме последовательности выполнения операций или блок-схеме может представить модуль, сегмент программы или часть кода, которая содержит одну или более исполняемых команд для реализации указанных логических функций. Следует также заметить, что в некоторых альтернативных реализациях, функции, указанные в блоках, могут также происходить в порядке, отличном от показанного на чертеже. Например, два последовательных блока могут на самом деле выполняться, в основном, параллельно, а иногда они могут выполняться в обратном порядке, в зависимости от содержащихся в них функций. Следует также заметить, что каждый блок в блок-схеме и/или в блок-схеме последовательности выполнения операций и сочетание блоков в блок-схеме и/или блок-схеме последовательности выполнения операций может быть реализован, выделенной системой, основанной на аппаратных средствах, которая выполняет указанные функции или операции, или может быть реализован сочетанием выделенных аппаратных средств и компьютерных команд.
Блоки, используемые в вариантах осуществления, описанные в настоящем раскрытии, могут быть реализованы программным обеспечением или аппаратными средствами. В некоторых случаях название блока не устанавливает ограничение на сам блок.
Функции, описанные выше в настоящем документе, могут, по меньшей мере частично, выполняться одним или более аппаратными логическими компонентами. Например, без ограничения, примерными аппаратными логическими компонентами, которые могут использоваться, могут являться: программируемая логическая интегральная схема (Field Programmable Gate Array, FPGA), специализированная прикладная интегральная схема (Application Specific Integrated Circuit, ASIC), специализированный прикладной стандартный продукт (Application Specific Standard Product, ASSP), система на микросхеме (System-on-Chip, SOC), сложное программируемое логическое устройство (Complex Programmable Logic Device, CPLD) и т. д.
В контексте настоящего раскрытия машиночитаемый носитель может быть материальным носителем, который может содержать или хранить программу для использования системой выполнения команды, оборудованием или устройством или быть связанной с ними. Машиночитаемый носитель может быть машиночитаемым носителем сигнала или машиночитаемым носителем запоминающего устройства. Машиночитаемый носитель может содержать, но не ограничиваясь только этим, электронные, магнитные, оптические, электромагнитные, инфракрасные или полупроводниковые системы, оборудование или устройства или любое соответствующее их сочетание. Более конкретные примеры машиночитаемых носителей содержат электрическое соединение на основе одного или более проводов, диск портативного компьютера, жесткий диск, оперативную память (RAM), постоянную память (ROM), стираемую программируемую постоянную память (EPROM или флэш-память), оптоволокно, постоянное запоминающее устройство компакт-дисках (CD-ROM), оптическое запоминающее устройство, магнитное запоминающее устройство или любое соответствующее их сочетание.
Раскрытый вариант осуществления также обеспечивает компьютерную программу, и когда компьютерная программа исполняется компьютером, компьютер исполняет способ обработки изображений, представленный вариантами осуществления настоящего раскрытия.
В соответствии с одним или более вариантами осуществления настоящего раскрытия, обеспечивают способ обработки изображений, содержащий этапы, на которых:
идентифицируют первый объект в первом изображении видеокадра и второй объект, расположенный в первом объекте;
в соответствии с положением первого объекта в первом изображении видеокадра, накладывают третий объект в качестве изображения переднего плана на первое изображение видеокадра, чтобы получить второе изображение видеокадра; где третий объект накладывает первый объект на второе изображение видеокадра;
в соответствии с положением второго объекта в первом изображении видеокадра, накладывают второй объект в качестве изображения переднего плана на третий объект второго изображения видеокадра, чтобы получить третье изображение видеокадра.
Дополнительно, идентификация первого объекта в первом изображении видеокадра и второго объекта, расположенного в первом объекте, содержит этапы, на которых:
идентифицируют множество первых ключевых точек первого объекта и множество вторых ключевых точек второго объекта в первом изображении видеокадра;
идентифицируют первый объект, основываясь на множестве первых ключевых точек первого объекта;
идентифицируют второй объект, основываясь на множестве вторых ключевых точек второго объекта, где множество вторых ключевых точек являются граничными ключевыми точками второго объекта.
Дополнительно, в соответствии с положением первого объекта в первом изображении видеокадра, наложение третьего объекта в качестве изображения переднего плана на первое изображение видеокадра, чтобы получить второе изображение видеокадра, содержит этапы, на которых:
вычисляют точку привязки первого объекта в первом изображении видеокадра, основываясь на множестве первых ключевых точек первого объекта в первом изображении видеокадра;
выравнивая точку привязки третьего объекта с точкой привязки первого объекта в первом изображении видеокадра, накладывают третий объект в качестве изображения переднего плана на первое изображение видеокадра, чтобы получить второе изображение видеокадра.
Дополнительно, в соответствии с положением второго объекта в первом изображении видеокадра, наложение второго объекта в качестве изображения переднего плана на третий объект второго изображения видеокадра, чтобы получить третье изображение видеокадра, содержит этапы, на которых:
вычисляют первое расстояние между двумя ключевыми точками, заданными на первом объекте;
вычисляют смещение второго объекта, основываясь на первом расстоянии;
в соответствии с положением второго объекта в первом изображении видеокадра и смещением второго объекта, накладывают второй объект в качестве изображения переднего плана на третий объект во втором изображении видеокадра для получения третьего изображения видеокадра.
Дополнительно, вычисление смещения второго объекта, основываясь на первом расстоянии, содержит этапы, на которых:
получают угол отклонения и угол наклона первого объекта, где угол отклонения является углом в горизонтальной плоскости между ориентацией первого объекта в первом изображении видеокадра и направлением съемки объектива, а угол наклона является углом в вертикальной плоскости между ориентацией первого объекта в первом изображении видеокадра и направлением съемки объектива;
вычисляют смещение второго объекта, основываясь на первом расстоянии, угле отклонения и угле наклона.
Дополнительно, в соответствии с положением второго объекта в первом изображении видеокадра и смещением второго объекта, наложение второго объекта в качестве изображения переднего плана на третий объект во втором изображении видеокадра для получения третьего изображения видеокадра содержит этапы, на которых:
выполняют смещение положения начальной точки привязки второго объекта в первом изображении видеокадра в соответствии со смещением второго объекта, чтобы получить целевую точку привязки;
во втором изображении видеокадра представляют второй объект в качестве изображения переднего плана в положении целевой точки привязки для получения третьего изображения видеокадра.
Дополнительно, способ также после получения третьего изображения видеокадра содержит этапы, на которых:
преобразуют цветовые пространства второго объекта и третьего объекта в третьем изображении видеокадра из цветового пространства RGB в цветовое пространство HSV ;
заменяют значение второго объекта в канале H в цветовом пространстве HSV на значение третьего объекта в канале H;
преобразуют цветовые пространства второго объекта и третьего объекта из пространства HSV в цветовое пространство RGB для получения четвертого изображения видеокадра.
В соответствии с одним или более вариантами осуществления настоящего раскрытия, обеспечивается устройство обработки изображений, содержащее:
модуль идентификации объекта, выполненный с возможностью идентификации первого объекта в первом изображении видеокадра и второго объекта, расположенного в первом объекте;
модуль формирования второго изображения видеокадра, выполненный в соответствии с положением первого объекта в первом изображении видеокадра с возможностью наложения третьего объекта в качестве изображения переднего плана на первое изображение видеокадра для получения второго изображения видеокадра; в котором третий объект накладывает первый объект на второе изображение видеокадра;
модуль формирования третьего видеокадра, выполненный в соответствии с положением второго объекта в первом изображении видеокадра с возможностью наложения второго объекта в качестве изображения переднего плана на третий объект второго изображения видеокадра, чтобы получить третье изображение видеокадра.
Дополнительно, модуль идентификации объекта также выполнен с возможностью:
идентификации множества первых ключевых точек первого объекта и множества вторых ключевых точек второго объекта в первом изображении видеокадра;
идентификации первого объекта, основываясь на множестве первых ключевых точек первого объекта;
идентификации второго объекта, основываясь на множестве вторых ключевых точек второго объекта, где множество вторых ключевых точек являются граничными ключевыми точками второго объекта.
Дополнительно, модуль формирования второго изображения видеокадра также выполнен с возможностью:
вычисления точки привязки первого объекта в первом изображении видеокадра, основываясь на множестве первых ключевых точек первого объекта в первом изображении видеокадра;
наложения третьего объекта в качестве изображения переднего плана в первом изображении видеокадра для получения второго изображения видеокадра, выравнивая точку привязки третьего объекта с точкой привязки первого объекта в первом изображении видеокадра.
Дополнительно, модуль формирования второго изображения видеокадра также выполнен с возможностью:
вычисления первого расстояния между двумя заданными ключевыми точками на первом объекте;
вычисления смещения второго объекта, основываясь на первом расстоянии;
в соответствии с положением второго объекта в первом изображении видеокадра и смещением второго объекта, наложения второго объекта в качестве изображения переднего плана на третий объект во втором изображении видеокадра для получения третьего изображения видеокадра.
Дополнительно, вычисление смещения второго объекта, основываясь на первом расстоянии, содержит этапы, на которых:
получают угол отклонения и угол наклона первого объекта, где угол отклонения является углом в горизонтальной плоскости между ориентацией первого объекта в первом изображении видеокадра и направлением съемки объектива и угол наклона является углом в вертикальной плоскости между ориентацией первого объекта в первом изображении видеокадра и направлением съемки объектива;
вычисляют смещение второго объекта, основываясь на первом расстоянии, угле отклонения и угле наклона.
Дополнительно, в соответствии с положением второго объекта в первом изображении видеокадра и смещением второго объекта, наложение второго объекта в качестве изображения переднего плана на третий объект во втором изображении видеокадра, чтобы получить третье изображение видеокадра, содержит этапы, на которых:
выполняют смещение положения начальной точки привязки второго объекта в первом изображении видеокадра в соответствии со смещением второго объекта для получения целевой точки привязки;
во втором изображении видеокадра представляют второй объект в качестве изображения переднего плана в положении целевой точки привязки для получения третьего изображения видеокадра.
Дополнительно, устройство обработки изображений также содержит:
модуль формирования четвертого видеоизображения, выполненный с возможностью преобразования цветовых пространств второго объекта и третьего объекта в третьем изображении видеокадра в цветовое пространство HSV из цветового пространства RGB; замены значения второго объекта в канале H в цветовом пространстве HSV на значение третьего объекта в канале H; и преобразования цветовых пространств второго объекта и третьего объекта из пространства HSV в цветовое пространство RGB для получения четвертого изображения видеокадра.
В соответствии с одним или более вариантами осуществления настоящего раскрытия, обеспечивается компьютерная программа, и когда компьютерная программа работает на компьютере, компьютер исполняет способ обработки изображений, представленный вариантами осуществления настоящего раскрытия.
Приведенное выше описание является только вариантом осуществления настоящего раскрытия и объяснением применяемого технического принципа. Специалисты в данной области техники должны понимать, что объем раскрытия, приведенный в настоящем раскрытии, не ограничивается технической схемой, сформированной конкретным сочетанием вышеупомянутых технических признаков, а также охватывает другие технические схемы, сформированные любым сочетанием вышеупомянутых технических признаков или их эквивалентных признаков, не отступая от вышеупомянутой раскрытой концепции. Например, техническое решение, сформированное путем обмена вышеупомянутых признаков на технические признаки с подобными функциями, раскрытыми в настоящем раскрытии (но не ограничиваясь только этим).
Кроме того, хотя операции показаны в определенном порядке, это не должно пониматься как требование, чтобы эти операции выполнялись конкретно в показанном порядке или в последовательном порядке. При определенных обстоятельствах предпочтительной может быть многозадачная и параллельная обработка. Точно также, хотя в вышеупомянутом обсуждении содержатся несколько конкретных подробностей реализации, они не должны интерпретироваться как ограничивающие объем защиты настоящего раскрытия. Некоторые признаки, описанные в контексте отдельных вариантов осуществления, могут также быть реализованы в сочетании в едином варианте осуществления. Напротив, различные признаки, описанные в контексте одиночного варианта осуществления, могут быть также реализованы в многочисленных вариантах осуществления поодиночке или в любом подходящем сочетании.
Хотя предмет изобретения был описан на языке способов, характерном для структурных признаков и/или логических действий, следует понимать, что предмет изобретения, определенный в приложенной формуле изобретения необязательно ограничивается конкретными признаками или действиями, описанными выше. Напротив, конкретные признаки и действия, описанные выше, являются только примерными формами реализации формулы изобретения.
название | год | авторы | номер документа |
---|---|---|---|
СРАВНЕНИЕ ДВИЖУЩИХСЯ ОБЪЕКТОВ НА ОСНОВЕ ВЕКТОРА ДВИЖЕНИЯ | 2012 |
|
RU2602792C2 |
Способ определения скорости по видео | 2017 |
|
RU2695708C2 |
ОСНОВАННЫЙ НА ПРАВИЛАХ АНАЛИЗ ВАЖНОСТИ ВИДЕО | 2015 |
|
RU2693906C2 |
СПОСОБЫ И СИСТЕМЫ ПОИСКА ОБЪЕКТА В ВИДЕОПОТОКЕ | 2016 |
|
RU2634225C1 |
СПОСОБ ОТОБРАЖЕНИЯ ИНФОРМАЦИИ, УСТРОЙСТВО И НОСИТЕЛЬ ИНФОРМАЦИИ | 2021 |
|
RU2817182C1 |
СПОСОБ И УСТРОЙСТВО ДЛЯ ДЕТЕКТИРОВАНИЯ ЛИНИИ ВЗГЛЯДА, СПОСОБ И УСТРОЙСТВО ДЛЯ ОБРАБОТКИ ВИДЕОДАННЫХ, УСТРОЙСТВО И НОСИТЕЛЬ ДАННЫХ | 2020 |
|
RU2782543C1 |
СПОСОБ, УСТРОЙСТВО СЕРВЕРА И УСТРОЙСТВО ТЕРМИНАЛА ДЛЯ ПРЕДОСТАВЛЕНИЯ ИЗОБРАЖЕНИЯ | 2014 |
|
RU2637876C2 |
СИСТЕМА КАМЕР СТЕРЕОЗРЕНИЯ ДЛЯ ПРЕДОТВРАЩЕНИЯ СТОЛКНОВЕНИЙ ВО ВРЕМЯ НАЗЕМНЫХ ОПЕРАЦИЙ ЛЕТАТЕЛЬНОГО АППАРАТА | 2017 |
|
RU2737562C2 |
Способ и устройство для определения направления вращения целевого объекта, считываемый компьютером носитель и электронное устройство | 2018 |
|
RU2754641C2 |
МАСШТАБИРОВАНИЕ ОТСЛЕЖИВАЕМОГО ВИДЕО | 2018 |
|
RU2782451C2 |
Изобретение относится к области обработки изображений. Техническим результатом является повышение качества обработанного изображения. Результат достигается тем, что идентифицируют первый объект в первом изображении видеокадра и второй объект, расположенный в первом объекте; в соответствии с положением первого объекта в первом изображении видеокадра накладывают третий объект в качестве изображения переднего плана на первое изображение видеокадра, чтобы получить второе изображение видеокадра; причем третий объект накладывает первый объект во втором изображении видеокадра; в соответствии с положением второго объекта в первом изображении видеокадра накладывают второй объект в качестве изображения переднего плана на третий объект второго изображения видеокадра, чтобы получить третье изображение видеокадра. 4 н. и 12 з.п. ф-лы, 6 ил.
1. Способ обработки изображений, содержащий этапы, на которых:
идентифицируют первый объект в первом изображении видеокадра и второй объект, расположенный в первом объекте;
в соответствии с положением первого объекта в первом изображении видеокадра накладывают третий объект в качестве изображения переднего плана на первое изображение видеокадра для получения второго изображения видеокадра; при этом третий объект накладывает первый объект на второе изображение видеокадра;
в соответствии с положением второго объекта в первом изображении видеокадра накладывают второй объект в качестве изображения переднего плана на третий объект второго изображения видеокадра для получения третьего изображения видеокадра.
2. Способ обработки изображений по п. 1, в котором этап идентификации первого объекта в первом изображении видеокадра и второго объекта, расположенного в первом объекте, содержит подэтапы, на которых:
идентифицируют множество первых ключевых точек первого объекта и множество вторых ключевых точек второго объекта в первом изображении видеокадра;
идентифицируют первый объект на основе множества первых ключевых точек первого объекта;
идентифицируют второй объект на основе множества вторых ключевых точек второго объекта, причем множество вторых ключевых точек являются граничными ключевыми точками второго объекта.
3. Способ обработки изображений по п. 2, в котором, в соответствии с положением первого объекта в первом изображении видеокадра, этап наложения третьего объекта в качестве изображения переднего плана на первое изображение видеокадра для получения второго изображения видеокадра содержит подэтапы, на которых:
вычисляют точку привязки первого объекта в первом изображении видеокадра на основе множества первых ключевых точек первого объекта в первом изображении видеокадра;
выравнивают точку привязки третьего объекта с точкой привязки первого объекта в первом изображении видеокадра, накладывают третий объект в качестве изображения переднего плана на первое изображение видеокадра для получения второго изображения видеокадра.
4. Способ обработки изображений по любому из пп. 1-3, в котором, в соответствии с положением второго объекта в первом изображении видеокадра, этап наложения второго объекта в качестве изображения переднего плана на третий объект второго изображения видеокадра, для получения третьего изображения видеокадра, содержит подэтапы, на которых:
вычисляют первое расстояние между двумя ключевыми точками, заданными на первом объекте;
вычисляют смещение второго объекта на основе первого расстояния;
накладывают, в соответствии с положением второго объекта в первом изображении видеокадра и смещением второго объекта, второй объект в качестве изображения переднего плана на третий объект во втором изображении видеокадра для получения третьего изображения видеокадра.
5. Способ обработки изображений по п. 4, в котором этап вычисления смещения второго объекта, на основе первого расстояния, содержит подэтапы, на которых:
получают угол отклонения и угол наклона первого объекта, при этом угол отклонения является углом в горизонтальной плоскости между ориентацией первого объекта в первом изображении видеокадра и направлением съемки объектива, а угол наклона является углом в вертикальной плоскости между ориентацией первого объекта в первом изображении видеокадра и направлением съемки объектива;
вычисляют смещение второго объекта, на основе первого расстояния, угла отклонения и угла наклона.
6. Способ обработки изображений по п. 4 или 5, в котором, в соответствии с положением второго объекта в первом изображении видеокадра и смещением второго объекта, этап наложения второго объекта в качестве изображения переднего плана на третий объект во втором изображении видеокадра, для получения третьего изображения видеокадра, содержит подэтапы, на которых:
выполняют смещение положения начальной точки привязки второго объекта в первом изображении видеокадра в соответствии со смещением второго объекта для получения целевой точки привязки;
представляют, во втором изображении видеокадра, второй объект в качестве изображения переднего плана в положении целевой точки привязки для получения третьего изображения видеокадра.
7. Способ обработки изображений по любому из пп. 1-6, дополнительно содержащий, после этапа получения третьего изображения видеокадра, этапы, на которых:
преобразуют цветовые пространства второго объекта и третьего объекта в третьем изображении видеокадра из цветового пространства RGB в цветовое пространство HSV;
заменяют значение второго объекта в канале H в цветовом пространстве HSV на значение третьего объекта в канале H;
преобразуют цветовые пространства второго объекта и третьего объекта из пространства HSV в цветовое пространство RGB для получения четвертого изображения видеокадра.
8. Устройство обработки изображений, содержащее:
модуль идентификации объекта, выполненный с возможностью идентификации первого объекта в первом изображении видеокадра и второго объекта, расположенного в первом объекте;
модуль формирования второго изображения видеокадра, выполненный с возможностью наложения, в соответствии с положением первого объекта в первом изображении видеокадра, третьего объекта в качестве изображения переднего плана на первое изображение видеокадра для получения второго изображения видеокадра; при этом третий объект накладывает первый объект на второе изображение видеокадра;
модуль формирования третьего видеокадра, выполненный с возможностью наложения, в соответствии с положением второго объекта в первом изображении видеокадра, второго объекта в качестве изображения переднего плана на третий объект второго изображения видеокадра, для получения третьего изображения видеокадра.
9. Устройство обработки изображений по п. 8, в котором модуль идентификации объекта дополнительно выполнен с возможностью:
идентификации множества первых ключевых точек первого объекта и множества вторых ключевых точек второго объекта в первом изображении видеокадра;
идентификации первого объекта на основе множества первых ключевых точек первого объекта;
идентификации второго объекта на основе множества вторых ключевых точек второго объекта, при этом множество вторых ключевых точек являются граничными ключевыми точками второго объекта.
10. Устройство обработки изображений по п. 9, в котором модуль формирования второго видеокадра дополнительно выполнен с возможностью:
вычисления точки привязки первого объекта в первом изображении видеокадра на основе множества первых ключевых точек первого объекта в первом изображении видеокадра;
наложения, посредством выравнивания точки привязки третьего объекта с точкой привязки первого объекта в первом изображении видеокадра, третьего объекта в качестве изображения переднего плана в первом изображении видеокадра для получения второго изображения видеокадра.
11. Устройство обработки изображений по любому из пп. 8-10, в котором модуль формирования второго изображения видеокадра дополнительно выполнен с возможностью:
вычисления первого расстояния между двумя ключевыми точками, заданными на первом объекте;
вычисления смещения второго объекта на основе первого расстояния;
наложения, в соответствии с положением второго объекта в первом изображении видеокадра и смещением второго объекта, второго объекта в качестве изображения переднего плана на третий объект во втором изображении видеокадра для получения третьего изображения видеокадра.
12. Устройство обработки изображений по п. 11, в котором вычисление смещения объекта, на основе первого расстояния, содержит этапы, на которых:
получают угол отклонения и угол наклона первого объекта, причем угол отклонения является углом в горизонтальной плоскости между ориентацией первого объекта в первом изображении видеокадра и направлением съемки объектива, а угол наклона является углом в вертикальной плоскости между ориентацией первого объекта в первом изображении видеокадра и направлением съемки объектива;
вычисляют смещение второго объекта на основе первого расстояния, угла отклонения и угла наклона.
13. Устройство обработки изображений по п. 11 или 12, в котором, в соответствии с положением второго объекта в первом изображении видеокадра и смещением второго объекта, наложение второго объекта в качестве изображения переднего плана на третий объект во втором изображении видеокадра для получения третьего изображения видеокадра содержит этапы, на которых:
выполняют смещение положения начальной точки привязки второго объекта в первом изображении видеокадра в соответствии со смещением второго объекта для получения целевой точки привязки;
представляют, во втором изображении видеокадра, второй объект в качестве изображения переднего плана в положении целевой точки привязки для получения третьего изображения видеокадра.
14. Устройство обработки изображений по любому из пп. 8-13, дополнительно содержащее:
модуль формирования четвертого видеоизображения, выполненный с возможностью преобразования цветовых пространств второго объекта и третьего объекта в третьем изображении видеокадра из цветового пространства RGB в цветовое пространство HSV; замены значения второго объекта в канале H в цветовом пространстве HSV на значение третьего объекта в канале H; и преобразования цветовых пространств второго объекта и третьего объекта из пространства HSV в цветовое пространство RGB для получения четвертого изображения видеокадра.
15. Электронное устройство обработки изображения, содержащее:
память для хранения машиночитаемых команд; и
процессор для исполнения машиночитаемых команд, так что процессор, при исполнении машиночитаемых команды, выполнен с возможностью реализации способа обработки изображений по любому из пп. 1-7.
16. Энергонезависимый машиночитаемый носитель информации, хранящий считываемые компьютером команды, вызывающие, при исполнении компьютером, выполнение, компьютером, способа обработки изображений по любому из пп. 1-7.
US 2012299945 A1, 2012.11.29 | |||
US 10372972 B2, 2019.08.06 | |||
WO 2019014646 A1, 2019.01.17 | |||
US 2015248581 A1, 2015.09.03 | |||
US 2019005305 A1, 2019.01.03 | |||
US 2019098149 A1, 2019.03.28 | |||
US 2019266753 A1, 2019.08.29 | |||
US 2019362521 A1, 2019.11.28 | |||
СПОСОБ ОБРАБОТКИ ДВУХМЕРНОГО ИЗОБРАЖЕНИЯ И РЕАЛИЗУЮЩЕЕ ЕГО ВЫЧИСЛИТЕЛЬНОЕ УСТРОЙСТВО ПОЛЬЗОВАТЕЛЯ | 2018 |
|
RU2703327C1 |
Авторы
Даты
2023-08-31—Публикация
2020-12-16—Подача