自动化方法和设备及预处理方法和计算机可读媒体的制作方法

文档序号:10625274阅读:175来源:国知局
自动化方法和设备及预处理方法和计算机可读媒体的制作方法
【专利摘要】本发明提供一种自动化方法和设备及预处理方法和计算机可读媒体。说明性数字图像上色应用程序的面向用户的前端屏幕显示包含:颜料桶工具,其使得用户能够将所选择的色彩应用于例如房间的墙壁等已上载的数字图像的所选择的区域;笔刷工具,用以填充遗漏区域;橡皮擦工具,用以去除误用的色彩;遮蔽工具,用以遮挡所选择的区域;以及容差滑块工具,用以辅助恰当地填充已上色区域。改进的图像预处理方法使得能够更好地界定图像的待用相同色彩上色的区域。
【专利说明】
自动化方法和设备及预处理方法和计算机可读媒体
[0001] 相关申请案的交叉引用
[0002] 本申请主张2015年3月17日申请并且题为"用于优化对图像的数字上色的化int Your Place(上色您的家)应用程序(Paint Your Place Application for Optimizing Digital Painting of an Image)"的第62/134,250号美国临时专利申请案的权益和优先 权,所述美国临时专利申请案的内容W全文引用的方式并入本文中。
技术领域
[0003] 本发明设及自动化色彩选择和协调系统,且更确切地说,设及使得用户能够形象 地看到所选择的色彩将如何出现在房间或其它可上色区域的所上载摄影图像中的系统。本 发明进一步设及用于对此种所上载图像进行数字上色的方法和设备W及用于优化此些程 序的方法和设备。
【背景技术】
[0004] 在例如让与给加利福尼亚州圣安娜的贝尔工艺公司(Behr Process Co;rporation, Santa Ana, Cal ifornia)的2012年3月15日公开、题为"数据驱动的色彩协调 器(Data Driven Color Coordinator)"的第2012/0062583号美国专利公开案中掲示了自 动化色彩选择和协调系统。

【发明内容】

[0005] 根据本发明第一方面,提供一种用于使得用户能够对上载到计算机显示装置的图 像进行上色的自动化方法,所述自动化方法包括:
[0006] 使用一个或多个计算机,W结合计算机可读媒体及计算机控制显示设备执行多个 操作,所述操作包括在所述计算机控制的显示设备上产生第一显示,所述第一显示包括:由 用户上载的房间图像的显示;由所述用户选择的至少一个色彩的显示;第一图示,其包括使 得能够选择笔刷工具的链接;第二图示,其包括使得能够选择橡皮擦工具的链接;W及第Ξ 图示,其包括使得能够选择遮蔽工具的链接;
[0007] 使得所述用户能够执行颜料桶操作,W将所选择的色彩应用于已上载的所述图像 的第一区域;
[000引使得所述用户能够使用所述笔刷工具,来填充在将所述所选择的色彩应用于所述 第一区域期间遗漏的区域;
[0009] 使得所述用户能够使用所述橡皮擦工具,来去除在应用所述所选择的色彩期间蔓 延到非所要区域中的色彩;W及
[0010] 使得所述用户能够使用所述遮蔽工具,来遮挡所述房间图像的所选择的区域,使 得色彩将不会被应用于所选择的区域。
[0011] 优选地,所述方法进一步包括在所述第一显示上产生容差滑块工具的显示,并且 使得所述用户能够使用所述滑块工具来增大或减小要上色的区域。
[0012]优选地,所述容差滑块工具的所述显示包括在直角Ξ角形内的变暗区域,可向左 或向右拉动所述变暗区域W增大或减小所述要上色的区域。
[001引优选地,选择所述笔刷图示引出刷大小选择显示,所述刷大小选择显示经配置W 使得所述用户能够从多个不同大小的刷当中进行选择,所述不同大小的刷中的每一个使得 能够覆盖不同大小的区域。
[0014] 优选地,所述笔刷工具通过可移动圆表示在所述第一显示上,所述圆的半径对应 于在所述刷大小选择显示上选择的所述刷大小。
[0015] 优选地,所述遮蔽工具使得用户能够利用直线阻挡不上色的区域。
[0016] 优选地,所述遮蔽工具使得用户能够在所述第一显示上产生多边形W遮挡所述多 边形内的区域。
[0017] 优选地,所述颜料桶操作包括单击所选择的色彩并且接着单击待应用所述所选择 的色彩的区域。
[0018] 优选地,所述颜料桶操作使用鼠标可移动颜料桶图示。
[0019] 优选地,所述第一上色区域为墙壁、天花板或口中的一个。
[0020] 根据本发明第二方面,提供一种其中实施有计算机可读程序代码的非暂时性计算 机可读媒体,所述计算机可读程序代码适于由一个或多个计算机执行W实施包括W下步骤 的方法:
[0021] 在计算机控制的显示设备上产生第一显示,所述第一显示包括:由用户上载的房 间图像的显示;由所述用户选择的至少一个色彩的显示;第一图示,其包括使得能够选择笔 刷工具的链接;第二图示,其包括使得能够选择橡皮擦工具的链接;W及第Ξ图示,其包括 使得能够选择遮蔽工具的链接;
[0022] 使得所述用户能够执行颜料桶操作,W将所选择的色彩应用于所述已上载的所述 图像的第一区域;
[0023] 使得所述用户能够使用所述笔刷工具,来填充在将所述所选择的色彩应用于所述 第一区域期间遗漏的区域;
[0024] 使得所述用户能够使用所述橡皮擦工具,来去除在应用所述所选择的色彩期间蔓 延到非所要区域中的色彩;W及
[0025] 使得所述用户能够使用所述遮蔽工具,来遮挡所述房间图像的所选择的区域,使 得色彩将不会被应用于所选择的区域。
[00%]优选地,所述方法进一步包括在所述第一显示上产生容差滑块工具的显示,并且 使得所述用户能够使用所述滑块工具来增大或减小要上色的所述区域。
[0027] 优选地,所述容差滑块工具的所述显示包括在直角Ξ角形内的变暗区域,其可向 左或向右拉动所述变暗区域W增大或减小所述要上色的区域。
[0028] 根据本发明第Ξ方面,提供一种设备,其包括:显示装置;至少一个计算装置;W及 相关联的数据存储存储器,所述显示装置、至少一个计算装置和相关联数据存储存储器经 配置,W在所述显示装置上产生由用户上载的房间的图像的显示,并且使得所述用户能够 执行颜料桶操作W将所选择的色彩应用于已上载的所述图像的第一区域,所述显示进一步 包括:第一图示,其包括使得能够选择笔刷工具W填充在将所述所选择的色彩应用于所述 第一区域期间遗漏的区域的链接;第二图示,其包括使得能够选择橡皮擦工具W去除在应 用所述所选择的色彩期间蔓延到非所要区域中的色彩的链接;W及第Ξ图示,其包括使得 能够选择遮蔽工具W遮挡不上色的区域的链接。
[0029] 优选地,所述设备进一步包括在所述第一显示上产生容差滑块工具的显示,并且 使得所述用户能够使用所述滑块工具来增大或减小要上色的区域。
[0030] 优选地,所述容差滑块工具的所述显示包括在直角Ξ角形内的变暗区域,可向左 或向右拉动所述变暗区域W增大或减小所述要上色的区域。
[0031] 根据本发明第四方面,提供一种使用一个或多个经编程计算机对已上载的数字图 像进行预处理的方法,所述方法包括:运行双侧平滑算法W便从所述图像的平坦表面去除 噪点,同时保持所述图像中的边缘的完整性和色差;对所述图像运行索贝尔和坎尼边缘检 测算法,并且独立地存储由运行所述坎尼算法产生的图像数据与由运行所述索贝尔算法产 生的图像数据;对所述索贝尔图像数据执行填色算法W执行将所述图像分割成具有相同色 彩的区段,其中所述填色算法经修改W考虑所述索贝尔算法的自然梯度,由此允许界定一 个或多个容差,该一个或多个容差用于界定所述图像中的边缘;W及如果通过应用所述填 色算法和所述索贝尔算法而确定的区段的边缘在坎尼边缘的所选择的容差内,那么将指派 给所述区段的所述颜料色彩拉动到所述坎尼边缘。
[0032] 优选地,所述方法进一步包括:在经识别用于分割的整个区域上对所述区域的像 素色彩求平均;经由先前所找到区段迭代所述区域的所述平均像素色彩,W确定所述区域 是否具有与先前所找到区段相同或类似的平均像素色彩;W及如果所述区域具有与先前所 找到区段相同或类似的平均像素色彩,那么使所述区域与先前所找到色彩相关联。
[0033] 优选地,所述方法进一步包括:对所有相关联区段求平均,W界定跨越多个区段的 相同色彩的基础光度;W及将所分析的区段与其总平均色彩一起存储W用于未来计算。
[0034] 优选地,所述方法进一步包括拍摄每一像素的光度的快照并且将所述快照置于存 储器中。
[0035] 优选地,所述容差界定为从正检查的当前像素起六个像素。
[0036] 优选地,应用W下函数:
[0039] 优选地,其中所述图像预处理的应用程序在客户端侧上运行而不依赖于服务器, 从而导致更快并且更具响应性的处理。
[0040] 优选地,其中所述应用程序W浏览器语言编写。
[0041] 根据本发明第五方面,提供一种其中实施有计算机可读程序代码的非暂时性计算 机可读媒体,所述计算机可读程序代码适于由一个或多个计算机执行W实施使用一个或多 个经编程计算机对已上载的数字图像进行预处理的方法,所述方法包括:
[0042] 运行双侧平滑算法W便从所述图像的平坦表面去除噪点,同时保持所述图像中的 边缘的完整性和色差;
[0043] 对所述图像运行索贝尔和坎尼边缘检测算法,并且独立地存储由运行所述坎尼算 法产生的图像数据与由运行所述索贝尔算法产生的图像数据;
[0044] 对所述索贝尔图像数据执行填色算法W执行将所述图像分割成具有相同色彩的 区段,其中所述填色算法经修改W考虑所述索贝尔算法的自然梯度,由此允许界定一个或 多个容差,该一个或多个容差用于界定所述图像中的边缘;W及
[0045] 如果通过应用所述填色算法和所述索贝尔算法而确定的区段的边缘在坎尼边缘 的所选择的容差内,那么将指派给所述区段的所述颜料色彩拉动到所述坎尼边缘。
[0046] 根据说明性实施例,说明性数字图像上色应用程序的面向用户的前端屏幕画面包 含颜料桶工具、笔刷工具、橡皮擦工具和遮蔽工具。在说明性实施例中,颜料桶工具使得用 户能够将所选择的色彩应用于例如房间的墙壁等所上载图像的所选择的区域,由此模拟利 用所选择的色彩对房间进行上色,并且允许用户形象地看到(例如)用户自身的房间在利用 所选择的色彩上色后看起来将如何。在说明性实施例中,使用笔刷工具来填充在将所选择 的色彩应用于第一区域期间遗漏的区域,使用橡皮擦工具来去除在应用所选择的色彩期间 蔓延到非所要区域中的色彩,并且使用遮蔽工具来遮挡不上色的区域。在一个说明性实施 例中,可使用两个遮蔽工具来应用直线遮蔽或多边形遮蔽。
[0047] 在说明性实施例中,还提供容差滑块工具W辅助恰当地填充要上色的区域。容差 滑块工具可使得用户能够增大或减小要上色的区域。在一个实施例中,容差滑块工具的显 示包括在直角Ξ角形中的变暗区域,其可向右或向左拉动所述变暗区域W增大或减小要上 色区域。
[0048] 本发明的另一方面设及在对已上载的数字图像"上色"之前对所述图像进行预处 理的方法,其中运行双侧平滑算法W便从所述图像的平坦表面去除噪点,同时保持边缘的 完整性和色差。接着对所述图像运行索贝尔(Sobel)和坎尼(Canny)边缘检测算法,并且独 立地存储由运行坎尼算法产生的图像数据与由运行索贝尔算法产生的图像数据。接着对索 贝尔图像数据执行填色算法W执行将所述图像分割成具有相同色彩的区段,其中所述填色 算法经修改W考虑索贝尔算法的自然梯度,由此允许界定一个或多个容差,该一个或多个 容差用于界定图像边缘。如果通过应用填色算法和索贝尔算法而确定的区段的边缘接近于 坎尼边缘,那么将指派给所述区段的颜料色彩拉动到坎尼边缘W给出渐变边缘。
[0049] 根据一个说明性实施例,接着在经识别用于进行分割的整个区域上对区域的像素 色彩求平均。接着通过先前所找到区段迭代所述区域的平均像素色彩,W确定所述区域是 否具有与先前所找到区段相同或类似的平均像素色彩,并且如果所述区域具有与先前所找 到区段相同或类似的平均像素色彩,那么使所述区域与先前所找到色彩相关联。可对所有 相关联区段求平均,W界定跨越多个区段的相同色彩的基础光度,并且可接着将所分析的 区段与其总平均色彩一起存储W用于未来计算。
【附图说明】
[0050] 图1为根据说明性实施例的用于实施paint your place(上色您的家)应用程序的 说明性系统的框图;
[0051] 图2为根据说明性实施例的用于实施paint your place应用程序的替代说明性系 统的框图;
[0052] 图3为说明性实施例的面向客户的颜料选择和协调系统的说明性屏幕显示;
[0053] 图4为说明性实施例的面向客户的颜料选择和协调系统的第二说明性屏幕显示;
[0054] 图5为说明性实施例的面向客户的颜料选择和协调系统的第Ξ说明性屏幕显示;
[0055] 图6为说明性实施例的面向客户的颜料选择和协调系统的第四说明性屏幕显示;
[0056] 图7为说明性实施例的面向客户的颜料选择和协调系统的第五说明性屏幕显示;
[0057] 图8为说明性实施例的面向客户的颜料选择和协调系统的第六说明性屏幕显示;
[0058] 图9为说明性实施例的面向客户的颜料选择和协调系统的第屯说明性屏幕显示;
[0059] 图10为使得用户能够选择用于上色的图像的屏幕显示;
[0060] 图11为使得用户能够调整所选择的图像的定位的屏幕显示;
[0061] 图12为使得用户能够看到已上载所选择的图像的多少百分比的屏幕显示;
[0062] 图13为使得用户能够选择颜料桶特征W对所选择的图像进行上色的屏幕显示;
[0063] 图14为说明颜料桶画面和相关联滑块工具的使用的屏幕显示;
[0064] 图15为说明颜料桶显示和相关联滑块工具的使用的另一屏幕显示;
[0065] 图16为说明笔刷工具的使用的屏幕显示;
[0066] 图17为说明笔刷工具的使用的另一屏幕显示;
[0067] 图18为说明橡皮擦工具的使用的屏幕显示;
[0068] 图19为说明橡皮擦工具的使用的另一屏幕显示;
[0069] 图20为说明第一遮蔽工具的使用的屏幕显示;
[0070] 图21为说明第一遮蔽工具的使用的另一屏幕显示;
[0071] 图22为说明第二"多边形"遮蔽工具的使用的屏幕显示;
[0072] 图23为说明第二"多边形"工具的使用的另一屏幕显示;
[0073] 图24为说明第二"多边形"遮蔽工具的使用的另一屏幕显示;
[0074] 图25为说明第二"多边形"遮蔽工具的使用的另一屏幕显示;
[0075] 图26为说明返回到原始未上色图像的屏幕显示;
[0076] 图27为进一步说明颜料桶工具的屏幕显示;
[0077] 图28为进一步说明笔刷工具的屏幕显示;
[0078] 图29为说明根据说明性实施例的对图像进行预处理的流程图;
[00巧]图30呈现说明性已上载的图像;
[0080] 图31展示根据说明性实施例的在应用索贝尔算法之后在膨胀与腐蚀之后的图28 的图像;
[0081] 图32说明根据说明性实施例的将坎尼算法应用于图28的图像的结果;
[0082] 图33说明根据说明性实施例的图28的图像的分割;
[0083] 图34为说明根据说明性实施例的对图像进行上色的流程图的第一部分;
[0084] 图35为图34的流程图的第二部分;W及
[0085] 图36为图34的流程图的第Ξ部分。
【具体实施方式】
[0086] 图1说明其中多个远程计算机300可访问颜料色彩选择和协调网站301的系统的框 图,在一个实施例中,该网站可提供或下载化int Your Place应用程序到最终用户,如下文 进一步描述。网站301可禪合到因特网303W便为例如处于家中最终用户地点处的大量远程 终端/计算机300提供访问。每一远程计算机300控制显示设备305,该显示设备可包括例如 一个或多个CRT或平坦屏幕计算机监视器或显示器。
[0087] 网站301可包括服务器引擎309(其包括一个或多个计算机或服务器)、相关联存储 器317和服务器软件(例如服务器操作系统和服务器应用程序)。在一个实施例中,网站301 经配置而W数字格式存储和传输多个相关文档或网页311(例如HTML文档),并且进一步可 包含存储色彩数据的色彩数据库315,如(例如全文引用的方式并入本文中的题为"色彩 选择和协调系统(Color Selection and Coordination System)"的第7,999,825号美国专 利中所描述。将了解,在一个实施例中,计算机控制的显示设备将数字格式网页变换成用于 最终用户的静态及/或动画化互动式视觉图像。相关联存储器317可包括计算机可读数字存 储媒体或媒介,例如硬盘存储装置。
[0088] 用户可经由因特网303与网站301互动或经由在网页显示屏幕上执行的选择操作 而与其它通信媒体或媒介互动。该网页显示屏幕经由远程计算机300的显示设备305呈现给 用户。此些选择操作可通过例如键盘、鼠标、轨迹球、触摸屏或其它数据输入构件来执行。W 此方式,呈现在显示设备305上的各种链接可通过各种指向和单击、指向和触摸,或其它选 择操作而加 W选择。
[0089] 在各种实施例中,远端计算机300可包括计算机终端、个人数字助理(PDA)、无线电 话、"智能电话"、膝上型计算机、桌上型或笔记本计算机和/或类似者或形成其部分。在各种 实施例中,通信媒体可包括局域网化AN)、广域网(WAN)、无线网络、企业内部网络、因特网 和/或类似者。
[0090] 在一个实施例中,网站功能性可W存储在计算机可读储存媒体上的软件来实施并 且通过例如一个或多个数字处理器或计算机等合适装置执行,所述装置可包括网络服务器 或其它合适设备的部分。在其它实施例中,此种软件可位于处于用户站点处而不牵设服务 器或因特网的个人计算机或具有平板显示器或其它显示装置的类似装置上。在此情况下, 产生可能具有与网页相同的内容的显示屏幕,使得术语"网页"、"屏幕显示"、"显示"和类似 术语在本文中可互换地使用。说明性实施例的说明性画面显示和功能性可实施于一个或多 个应用程序中,该应用程序可W例如HTTP、PHP、MyS化、JavaScript、XMPP服务器、Solr服务 器、LAMP技术堆叠、Java、Lasz 1〇呈现服务器或C++编写,且可在例如Windows XP或其它操作 系统上运行。下文描述说明性实施例的各种显示显示屏幕和功能性。
[0091] 用于如下所述将内容提供到最终用户的网站401的另一说明性实施例展示于图2 中。网站401使用第一负载均衡器403和第二负载均衡器405,该均衡器与一对网络服务器 407、409(例如Apache网络服务器)通信。网络服务器407、409进一步与五个应用(Jboss)月良 务器411、413、415、417、419通信,该应用(化〇33)服务器经配置^访问包括数字存储媒体和 数据库服务器421的数据库。另外,应用服务器(例如411)可经由负载均衡器423与第一自主 服务器425、和第二自主服务器427通信。
[0092] 图2的系统的操作可说明如下。最终用户打开其计算机(例如301)上的浏览器,并 且输入访问http://www.behr. com的请求。该请求到达两个思科(Cisco)负载均衡器403、 405。该负载均衡器中的一个(例如403)将该请求传递到两个Apache网络服务器407、409中 的一个。Apache网络服务器(例如409)分析该请求,并且确定是否可在本地对其进行处置, 即检查W查看目标是否存在于服务器文件根中。请求的任何可由Apache网络服务器409满 足的部分通常为驻留在网络服务器409上的数字存储装置中的静态内容,即.png、, jpg、 ? swf、.css、. js、.html、.txt。请求的任何不可由Apache网络服务器409服务的部分被传递 回到化OSS服务器(例如411),例如经配置的上下文根、动态内容和处理请求(例如注册事 件)。应用服务器411接着处理转发到其的请求部分。如果需要来自数据库421的额外数据 (例如,用户名、密码或工作簿),那么应用服务器411从数据库421检索所述数据。应用服务 器411接着将经处理的数据经由网络服务器409发送回到驻留在最终用户的计算机406上的 客户端(在此情况下为网络浏览器408)。网络浏览器408重新汇编该数据,且在浏览器中显 现网页,所述网页引起在用户的计算机406的显示设备410上的显示。服务器接着等待下一 请求。
[0093] 在一个实施例中,响应于用户的初始访问,网站(客户端)应用程序传输到用户的 计算机(例如406),并且在用户计算机的浏览器中运行。在一个实施例中,网站应用程序为 控制用户的显示器上的flash player动画的SWF应用程序,例如各种特征如何W动画进出 或如何淡入或淡出。特定网页的实际内容响应于用户选择Γ单击")操作而从服务器系统动 态地拉动。网络服务器将包括XML代码(其界定待显示的有效内容)的数据连同静态内容(例 如,呈例如HTML格式的主页投影图像)供应到用户的动画编辑播放器(flash player)。
[0094] 因此,例如,在用户选择主页时,网站应用程序访问服务器系统,该服务器系统供 应例如投影图像、热点位置、结合任何热点功能性显示的色彩、下拉元件(菜单),并且指示 SWF应用程序要建置何内容。
[0095] 用于面向客户的颜料色彩选择和协调网站的主页的说明性实施例11展示于图3 中。如图3中所展示,用户已在网页11上的下拉导览菜单15中选择了 "色彩"区段13。选择"色 彩"链接13展现"颜料色彩"(化int Clors)、"斑点色彩"(Stain Colors)和"移动应用程序" (Mobile Apps)链接 16、17、18。
[0096] 在单击颜料色彩链接16之后,用户即刻进入粉刷精灵(ColorSmart)视觉化器 (visualizer)页面(图4),其中用户可选择要上色的色彩。此页面和相关页面的结构和操作 的进一步细节掲示于W全文引用的方式并入本文中的题为"具有紧凑功能性的自动化色彩 选择方法和设备(Automated Color Selection Method and Apparatus with Compact Rmctionalityr 的美国专利公开案2014/0075361 A1 中。
[0097] 在用户选择色彩(例如,图4的画面上的"永恒红宝石")之后,用户单击图5的显示 中的"预览颜料色彩"链接19。用户接着进入图6的屏幕显示,其提供覆盖图20,该覆盖图提 供从用户可能对其决定添加颜料色彩的预先产生的房间(例如21、22、23)列表进行选择的 能力。
[0098] 接下来,用户单击在覆盖图20右上侧上的"我的自定义图像"选项卡27。通过单击 "我的自定义图像"选项卡27,用户将看到覆盖图改变为展示于图7中的化int Your Place 应用程序的介绍28。用户接着单击"继续"链接29W进入化int化ur Place程序,从而使得 用户能够上载图像,例如相片的图像。
[0099] 如果用户之前已上载图像,那么将描绘先前上载的图像,见图8的图像31、32。如果 尚未上载图像,那么用户将仅看到"上载照片"按钮35,选择所述按钮W开始上载照片程序。 在用户单击澄色按钮35W上载照片时,展示于图9中的覆盖图26打开用户计算机上的图像 文件39,从而使得用户能够通过遵循图10的程序而选择用户想要上载的图像档案。
[0100] 在用户已选择图像之后,接着例如通过单击并保持抓取所述图像并且随后拖曳所 述图像而加载所述图像,如图10中所展示。图11的显示使得用户能够作出调整,如使图像39 移位或使其旋转。一旦用户已选定在所上载图像39的所要定位,用户就可单击位于覆盖图 右下方处的"上色您的家(Paint Your Place)"按钮40 W处理并且上载所述图像到下方进 一步详细描述的化int Your Place应用程序上。
[0101] 在单击图11中的"上色您的家"按钮40之后,用户看到图12的实时加载条41。此加 载条41向用户通知其图像39已被处理并且上载到化int Your Place应用程序的百分比。在 图像39的处理时,用户进入图13的画面,其展示:用户的图像39;用户已选择的色彩45;色彩 调色板的数目(例如46、47),每一调色板包含所选择的色彩45和与其协调的Ξ个不同色彩; W及覆盖图48,其提示用户单击色彩,接着单击墙壁。图14的屏幕还包含用于选择笔刷工具 52、橡皮擦工具59和遮蔽工具61的按钮或图示。颜料桶工具在进入应用程序之后被自动选 择,从而使得用户能够利用鼠标引导的光标49单击所选择的墙壁(例如51),并且添加所选 择的色彩(例如45巧Ij房间图像39中的墙壁51,如图14中所示,其中所选择的色彩45由墙壁 51上的交叉影线指示。用户当然可W使用颜料桶工具来添加色彩到所上载图像39中所描绘 的房间中的其它区域或对象。
[0102] 图14还说明扩展滑块工具54。使用扩展滑块工具54来减少或增大添加到所单击区 域的颜料量并且扩大施加到表面51的颜料的半径,从而允许用户填充未上色区域(例如 53),如图14和图15中所示。在图14和图15的实施例中,鼠标光标将暗区域55Γ滑欺')在直 角Ξ角形56内向右拉动W增大上色区域且填充未上色区域,例如区域53。
[0103] 对于任何未通过使用颜料桶工具而覆盖的区域,用户可选择笔刷工具52,如图16 中所说明。用户可通过在区域53中从经高亮的圆圈或"刷大小"中的一个进行选择而改变笔 刷52将覆盖的区域大小。在选择所要的刷大小之后,用户可对颜料桶工具遗漏的区域(例如 图16的60、62)进行上色W给出更完整的外观,如图17中所示。如果颜料蔓延到非所要区域 (例如图17和图18的枕头57)中,那么用户可单击橡皮擦图示59并且选择橡皮擦大小,并且 例如单击所述非所要区域W从非所要区域去除颜料,从而实现展示于图19中的结果。
[0104] 如果用户具有颜料蔓延到非所要区域中的问题并且想要截断一区域,那么用户可 单击图20的遮蔽工具161。存在两种类型的遮蔽工具:一个是线型工具,其允许用户用直线 58(图20)阻挡一区域并且接着上色(例如利用笔刷52)而不必担屯、颜料会蔓延到用户遮挡 的区域158,见图21。
[0105] 另一遮蔽工具为如图22和图23中所示的多边形工具62,其允许用户遮挡直线工具 61不能够准确遮挡的区域。多边形工具62在每次用户单击并且移动鼠标时绘制一条新线, 例如63(图22)、64、65、66(图23)。在用户将最后想要线66与作出初始单击的点连接时,多边 形工具62将停止制作新线。在一个实施例中,此连接点可作为小圆圈出现在原始线63上。
[0106] 用户可接着将色彩70添加到在多边形外部或内部的区域,如图24中所说明。用户 可单击图25的"隐藏遮蔽"图示72 W隐藏多边形遮蔽物,W查看图像70看起来是什么样子。 即使隐藏多边形遮蔽物,其仍阻止颜料蔓延到非所要区域,例如71。或者,用户可单击"去除 所有"图示78W完全去除遮蔽物。在一个实施例中,去除遮蔽物会去除由遮蔽物建立的屏障 (barrier),并且所添加的任何额外颜料现在可穿越到先前掩蔽的区域中。为从头从相同的 所上载图像开始,用户可单击未上色图像图示或链接73,其返回用户借W开始的未上色图 像,如图26中所示。
[0107] 如上文所论述,呈现给用户的前端屏幕显示包含"颜料桶"工具、"笔刷"工具52和 "遮蔽"工具61、62。提供大小选择工具53W使得能够选择不同大小的"刷"用于笔刷工具52。 还提供容差滑块54W在各种容差当中进行选择,其引致待上色的较大或较小区域。在一个 实施例中,颜料桶工具可由如图27中所示的房间屏幕显示上的鼠标可移动颜料桶图示49来 表示,并且笔刷工具可由可移动圆50来表示,该可移动圆50的半径对应于如图28中所示的 所选择的刷大小。
[0108] 如可能了解的,用于使得用户能够对已上载W在计算机控制的显示装置上显示的 图像进行上色的自动化方法、设备或非暂时性计算机可读媒体的各种说明性实施例,可包 括如上文所描述的笔刷工具、橡皮擦工具、第一和/或第二遮蔽工具或容差滑块工具中的任 何一个或多个。
[0109] 说明性实施例的一个方面设及对已上载的图像(例如39)进行预处理W预先确定 应上色为相同色彩的区域,并且高速缓冲存储或W其它方式存储结果W供在用户上色操作 (使用上文所描述的工具)期间的后续使用。根据说明性实施例,差异极大的图像处理技术 经组合W更好地界定此些区域,包含坎尼与索贝尔边缘检测算法的新颖组合。使用索贝尔 算法使得能够建立容差滑块W辅助界定例如墙壁边缘,W使得不存在到非所要区域的色彩 蔓延。根据说明性实施例,使用坎尼算法W拉直索贝尔算法不能够拉直的边缘,并且填充坎 尼边缘检测所留下的间隙。总的结果为如由用户上色的房间的较准确色彩显现。
[0110] 根据一个说明性实施例,处理步骤经实施W保留原始图像的相对强度(阴影)并且 将其应用于新上色的图像,从而提供看起来更为实际的呈现。说明性系统的另一新颖方面 是图像处理应用程序在客户端侧上运行而不依赖于服务器,其导致快得多并且更具响应性 的处理。下文描述的所有相对密集的计算可通过使用例如化vascript(相对简单的浏览器 语言)编写的应用程序来执行。
[0111] Paint Your Place应用程序预处理
[0112] 通过图29的流程图说明预先确定已上载的图像的哪些区域应上色为相同色彩的 预处理。在第一次上载图像时,运行双侧平滑算法(步骤101 ),W便从平坦表面去除噪点,同 时保持边缘的完整性和色差。接下来,拍摄每一像素的光度的快照,将快照置于高速缓冲存 储器或其它存储器中(步骤103)。接着,对图像运行索贝尔与坎尼边缘检测算法(步骤105、 107)。在两个单独画布上独立地存储运行坎尼算法的结果与运行索贝尔算法的结果。如下 文所论述,坎尼数据仅用于边缘校正和拉直。
[0113] -旦运行边缘检测算法,应用程序在图像上迭代,在步骤109中对索贝尔数据执行 填色算法W执行将图像分割成具有相同色彩的区域或"区段"。修改该填色算法W考虑索贝 尔算法的自然梯度,从而允许界定用于界定图像边缘的容差。明确地说,标准填色算法仅检 查W查看像素是否相同。根据说明性实施例,并非对图像执行填色算法,而是对索贝尔数据 执行填色算法W忽略色差。如图31中所说明,索贝尔数据为W黑色填充的画布,且图像中的 墙壁或边缘由白色界定,其强度范围是从0到255。弱边缘由较低白色值界定,并且"容差"为 忽略处理的白色的值。举例来说,零容差不忽略任何边缘,而"30"容差忽略"30"或"30" W下 的边缘。在一个实施例中,滑块54(图14)为具有容差变量的一对一匹配。
[0114] 在界定具有待上色为相同色彩的区段的区域时,使用坎尼边缘检测来界定直线, 并且如果通过应用填色算法与索贝尔算法确定的区段的边缘接近于坎尼边缘,那么将指派 到所述区段的颜料色彩拉动到所述边缘W给出如图32中所说明的渐变而非平坦边缘。用来 进行此操作的特定函数为化arbyPixel (colorData,r, g,b, tolerance, X, y, cannyData) {// 实施坎尼边缘检测,并且此函数还考虑坎尼边缘W拉直边缘。}且阐述如下:
[0115]
[0117]在W上"Nearby Pixel"函数源代码中提及的"容差(Tolerance)",界定为从被检 查的当前像素起6个像素。该函数检查W查看是否在当前像素的6个像素内存在坎尼线,并 且如果存在,那么确定像素"可被上色。如果线为弱坎尼线,那么处理不继续;如果其为 强坎尼线,则处理继续检查其它像素。在一个说明性实施例中,强坎尼线界定为高于50%白 色。
[0118] -旦一区域被识别用于进行分割,则在图29的步骤110中在整个区域上对所述区 域的像素色彩求平均。接下来,在步骤111中贯穿先前所找到分割来来重复区域的此平均像 素色彩W确定其是否具有与先前所找到区段相同或类似的平均像素色彩。如果其具有与先 前所找到区段相同或类似的平均像素色彩,那么使所述区域与先前所找到色彩相关联。
[0119] 在一个实施例中,如果用户已经对图像上色,那么处理对照被上色的先前区域进 行检查,给出色彩权重作为错误校正手段。典型用户可能单击类似色彩多次,因此处理考虑 运样的行为W使得区域没有斑点。举例来说,用户可能对墙壁进行上色,但亮度很高的区域 可能未被选取,因此在用户单击那个区域时,处理使用与用户刚刚上色的墙壁的关联来确 保两个区域W相同常数处理,W使得亮度很高的区域不会W不同方式进行处理。
[0120] 在步骤111中,用于将像素色彩指派到区段的代码部分的色彩匹配功能性采用经 修改的DE1994算法,该算法忽略光度检查并且还通过按大小加权而考虑所找到区域(区段) 的大小,运是因为(例如)较大墙壁最可能为整个图像的主要色彩。经修改的DE1994算法限 制光度对ΔΕ的影响,并且在W下源代码中阐述:
[0123] 为给出预处理功能的全貌图,每一"区段"为由索贝尔线完全围封的区域。举例来 说,使用索贝尔数据处理图30的图像(展示于图31中),每一梳妆台抽屉90、91、92为具有其 自身色彩的其自身区段。该处理对照每个抽屉90、91、92的平均色彩进行检查,并且由于其 色彩类似,该处理将相同色彩归于所有抽屉90、91、92。将那些区段90、91、92-起求平均^ 决定每个抽屉的共同色彩。由于抽屉为较小的整体区段,因此所述处理给予其较低权重。然 而,墙壁93为大区段并且具有如由交叉影线指示的单一色彩(例如,蓝色),因此左手侧和右 手侧在应用ΔΕ算法时具有较高权重,从而接受另一蓝色区域为类似色彩的范围较高。
[0124] -旦此色彩匹配程序完成,就对所分析的区段运行膨胀并且接着运行腐蚀算法 (步骤113、115) W弥合间隙并且使边缘变直。接着在步骤117中对所有相关联区段求平均W 界定用于跨越多个区段的相同色彩的基础光度:
[0125]
'
[0126] 在步骤119中,接着将该区段与其总平均色彩一起高速缓冲存储W用于未来计算。
[0127] 用户对经预处理图像的上色
[012引在图34到图36中说明采用"颜料桶"的应用程序的"上色"部分。在调用颜料桶(步 骤123)时,使用用于上文所描述的预处理操作中的相同填色算法来在围绕用户单击的区域 中找出共同色彩区域(步骤125)。在一个实施例中,对相同像素区域运行各自具有不同容差 的Ξ十个不同填色(步骤127)。所述处理开始于最低容差,忽视已经找到的像素 W优化性 能,但Ξ十个填色中的每一个存储于其自身的阵列中W供稍后参考。在所述处理朝向边缘 到达填色的末期时,调用早先详述的"isNearbyPixel函数",其利用用户所选择的色彩填充 坎尼边缘与其它已经上色的区域之间的间隙,并且指示填色算法移动经过索贝尔容差(步 骤 129)。
[0129] 在步骤129中,除了在所述程序期间将像素移动到坎尼线之外,像素还移动得较接 近于遮蔽线。在一个实施例中,对用户遮蔽线与规则的遮蔽线进行相同处理。在用户遮蔽 时,用户的遮蔽线附接到遵循相同规则的遮蔽层。在执行填色算法W界定图像的区域的同 时,处理通过填色算法选择的像素 W确定图像的平均光度(步骤131,图35)。利用所界定的 选择,运行膨胀与腐蚀算法(步骤133) W弥合选择自身内的间隙。
[0130] 一旦已界定所有不同容差(步骤135,图35),应用程序移动到W下区域进行上色: 该区域是所确定的基于由容差滑块54(图14)设定的容差已由用户的"颜料桶调用"所选择 的区域,并且自此点的所有计算都是基于每像素基础。合并在所选择的容差下的所有容差 选择W界定上色区域(步骤137)。在一个实施例中,在选择每一容差时,针对那个容差执行 填色算法。对每一容差的位置和扩展进行高速缓冲存储。在执行上色动作时,所述处理将最 低到最高容差合并到单个上色表面,并合并应用于所述像素的改变。因此,对每一像素的调 整是唯一的。每一像素基于其色彩W及所应用色彩和其它加权因数来调整其LCHW维持自 然外观。
[0131] 一旦已界定上色区域,应用程序继续进行W确定所上色像素是否属于在预处理中 识别的区段(步骤141)。如果是,那么使待上色的那个区域与那个区段相关联(步骤149)。如 果用户选择的区域不是在预处理期间确定的区段的部分,那么应用程序通过检查用户选择 的基础色彩与预处理期间所找到的全部所找到区段之间的色差ΔΕ而尝试与画布相关联 (步骤143、147、150)。存在^尝试使色彩与该先前所找到区段(如果存在先前所找到区段的 话)相关联的权重W及存在与画布的大小相关联的权重。在一个实施例中,存储已经上色的 像素,并且如果存在足够的差量差异,那么来自先前上色操作的所存储光度用作错误校正 手段。如果测试147处未见匹配,那么在步骤145处使色彩与总体图像相关联。一旦已作出与 像素的关联,那么在步骤151中,使用来自先前上色操作的那个区段的高速缓冲存储光度值 或选择作为整体来确定基础光度。
[0132] 现在,使用像素的基础光度(bl)、像素的实际光度(al)和用户选择的色彩的光度 (cl),运行算法W确定将应用于所述像素的光度(步骤153)。
[0133] 新光度(nl)由nl = (al/bl)*cl界定。对新光度(nl)通过对其进行加权W较接近于 原始值(bl)并且拉动其接近于房间的均值色彩而进行修改(步骤154)。执行运些操作还允 许代码校正相同区段内的任何激进的色彩移位并且建立具有更自然感觉的色彩表示。基础 光度(bl)与色彩光度(nl)的差异越大,修改符越大。结果,暗色彩上的亮色彩将不会显得过 亮,且反之亦然。根据一个实施例,修改算法如下:
[0134] (nl*(modifier))-((bl-cl)/l.5)。
[0135] 一旦建立每一像素的新光度,就将其与先前所找到光度求平均(步骤155) W减少 噪点且建立更光滑转变。使用此平均光度(新界定的光度)W及来自用户所选择的色彩的A 和B值来界定替换色彩(步骤159,图36)。
[0136] 一旦已利用替换色彩对所有像素上色,就将所选择的"显现"色彩置于来自图像的 单独画布上(步骤161)。在容差改变期间更新此画布(步骤163)。一旦用户已在测试167处接 受一容差,就将色彩合并到已上色房间(步骤172)。
[0137] 在试图在新上色图像中保留原始图像的相对强度(阴影)时,可根据W下通用色彩 替代的独特源代码实施应用W下程序。(代码中的注释在双斜杠7/"之后)
[013 引
[0139]
[0140] 如果用户对在作业阶段期间已经上色的表面进行上色,则不存在容差检查,并且 横越当前出现该色彩的所有区域执行填色,其中使用上文所描述的方法呈现在相同上色色 彩下的所有连续区域。
[0141] "笔刷"利用不存在总体已上色区域的额外因子W类似于颜料桶处理的算法起作 用W界定基础光度。该处理试图确定W下:如果像素是在所界定区段上,则确定基础光度; 如果像素不在所界定区段上,则使用像素的实际光度来界定像素。在一个实施例中,在利用 笔刷进行上色之后,执行颜料桶逻辑W利用颜料桶操作已产生的额外信息和逻辑来校正所 显现色衫。
[0142] 所属领域的技术人员将理解,可在不脱离本发明的精神和范围的情况下配置刚刚 描述的说明性实施例的各种调适和修改。因此,应理解,在所附权利要求书的范围内,可不 同于本文所具体描述者来实践本发明。
【主权项】
1. 一种用于使得用户能够对上载到计算机显示装置的图像进行上色的自动化方法,其 特征在于,所述自动化方法包括: 使用一个或多个计算机,W结合计算机可读媒体及计算机控制显示设备执行多个操 作,所述操作包括在所述计算机控制的显示设备上产生第一显示,所述第一显示包括: 由用户上载的房间图像的显示; 由所述用户选择的至少一个色彩的显示; 第一图示,其包括使得能够选择笔刷工具的链接; 第二图示,其包括使得能够选择橡皮擦工具的链接;W及 第=图示,其包括使得能够选择遮蔽工具的链接; 使得所述用户能够执行颜料桶操作,W将所选择的色彩应用于已上载的所述图像的第 一区域; 使得所述用户能够使用所述笔刷工具,来填充在将所述所选择的色彩应用于所述第一 区域期间遗漏的区域; 使得所述用户能够使用所述橡皮擦工具,来去除在应用所述所选择的色彩期间蔓延到 非所要区域中的色彩;W及 使得所述用户能够使用所述遮蔽工具,来遮挡所述房间图像的所选择的区域,使得色 彩将不会被应用于所选择的区域。2. 根据权利要求1所述的方法,其特征在于,进一步包括在所述第一显示上产生容差滑 块工具的显示,并且使得所述用户能够使用所述滑块工具来增大或减小要上色的区域。3. 根据权利要求2所述的方法,其特征在于,所述容差滑块工具的所述显示包括在直角 =角形内的变暗区域,可向左或向右拉动所述变暗区域W增大或减小所述要上色的区域。4. 根据权利要求1所述的方法,其特征在于,选择所述笔刷图示引出刷大小选择显示, 所述刷大小选择显示经配置W使得所述用户能够从多个不同大小的刷当中进行选择,所述 不同大小的刷中的每一个使得能够覆盖不同大小的区域。5. 根据权利要求4所述的方法,其特征在于,所述笔刷工具通过可移动圆表示在所述第 一显示上,所述圆的半径对应于在所述刷大小选择显示上选择的所述刷大小。6. 根据权利要求1所述的方法,其特征在于,所述遮蔽工具使得用户能够利用直线阻挡 不上色的区域。7. 根据权利要求1所述的方法,其特征在于,所述遮蔽工具使得用户能够在所述第一显 示上产生多边形W遮挡所述多边形内的区域。8. 根据权利要求1所述的方法,其特征在于,所述颜料桶操作包括单击所选择的色彩并 且接着单击待应用所述所选择的色彩的区域。9. 根据权利要求1所述的方法,其特征在于,所述颜料桶操作使用鼠标可移动颜料桶图 /J、- O10. 根据权利要求1所述的方法,其特征在于,所述第一上色区域为墙壁、天花板或口中 的一个。11. 一种其中实施有计算机可读程序代码的非暂时性计算机可读媒体,其特征在于,所 述计算机可读程序代码适于由一个或多个计算机执行W实施包括W下步骤的方法: 在计算机控制的显示设备上产生第一显示,所述第一显示包括: 由用户上载的房间图像的显示; 由所述用户选择的至少一个色彩的显示; 第一图示,其包括使得能够选择笔刷工具的链接; 第二图示,其包括使得能够选择橡皮擦工具的链接;W及 第=图示,其包括使得能够选择遮蔽工具的链接; 使得所述用户能够执行颜料桶操作,W将所选择的色彩应用于所述已上载的所述图像 的第一区域; 使得所述用户能够使用所述笔刷工具,来填充在将所述所选择的色彩应用于所述第一 区域期间遗漏的区域; 使得所述用户能够使用所述橡皮擦工具,来去除在应用所述所选择的色彩期间蔓延到 非所要区域中的色彩;W及 使得所述用户能够使用所述遮蔽工具,来遮挡所述房间图像的所选择的区域,使得色 彩将不会被应用于所选择的区域。12. 根据权利要求11所述的非暂时性计算机可读媒体,其特征在于,进一步包括在所述 第一显示上产生容差滑块工具的显示,并且使得所述用户能够使用所述滑块工具来增大或 减小要上色的所述区域。13. 根据权利要求12所述的非暂时性计算机可读媒体,其特征在于,所述容差滑块工具 的所述显示包括在直角=角形内的变暗区域,其可向左或向右拉动所述变暗区域W增大或 减小所述要上色的区域。14. 一种设备,其特征在于,所述设备包括:显示装置;至少一个计算装置;W及相关联 的数据存储存储器,所述显示装置、至少一个计算装置和相关联数据存储存储器经配置,W 在所述显示装置上产生由用户上载的房间的图像的显示,并且使得所述用户能够执行颜料 桶操作W将所选择的色彩应用于已上载的所述图像的第一区域,所述显示进一步包括: 第一图示,其包括使得能够选择笔刷工具W填充在将所述所选择的色彩应用于所述第 一区域期间遗漏的区域的链接; 第二图示,其包括使得能够选择橡皮擦工具W去除在应用所述所选择的色彩期间蔓延 到非所要区域中的色彩的链接;W及 第=图示,其包括使得能够选择遮蔽工具W遮挡不上色的区域的链接。15. 根据权利要求14所述的设备,其特征在于,进一步包括在所述第一显示上产生容差 滑块工具的显示,并且使得所述用户能够使用所述滑块工具来增大或减小要上色的区域。16. 根据权利要求15所述的设备,其特征在于,所述容差滑块工具的所述显示包括在直 角=角形内的变暗区域,可向左或向右拉动所述变暗区域W增大或减小所述要上色的区 域。17. -种使用一个或多个经编程计算机对已上载的数字图像进行预处理的方法,其特 征在于,所述方法包括: 运行双侧平滑算法W便从所述图像的平坦表面去除噪点,同时保持所述图像中的边缘 的完整性和色差; 对所述图像运行索贝尔和坎尼边缘检测算法,并且独立地存储由运行所述坎尼算法产 生的图像数据与由运行所述索贝尔算法产生的图像数据; 对所述索贝尔图像数据执行填色算法W执行将所述图像分割成具有相同色彩的区段, 其中所述填色算法经修改W考虑所述索贝尔算法的自然梯度,由此允许界定一个或多个容 差,该一个或多个容差用于界定所述图像中的边缘;W及 如果通过应用所述填色算法和所述索贝尔算法而确定的区段的边缘在坎尼边缘的所 选择的容差内,那么将指派给所述区段的所述颜料色彩拉动到所述坎尼边缘。18. 根据权利要求17所述的方法,其特征在于,进一步包括: 在经识别用于分割的整个区域上对所述区域的像素色彩求平均; 经由先前所找到区段迭代所述区域的所述平均像素色彩,W确定所述区域是否具有与 先前所找到区段相同或类似的平均像素色彩;W及 如果所述区域具有与先前所找到区段相同或类似的平均像素色彩,那么使所述区域与 先前所找到色彩相关联。19. 根据权利要求18所述的方法,其特征在于,进一步包括: 对所有相关联区段求平均,W界定跨越多个区段的相同色彩的基础光度;W及 将所分析的区段与其总平均色彩一起存储W用于未来计算。20. 根据权利要求17所述的方法,其特征在于,进一步包括拍摄每一像素的光度的快照 并且将所述快照置于存储器中。21. 根据权利要求17所述的方法,其特征在于,所述容差界定为从正检查的当前像素起 六个像素。22. 根据权利要求17所述的方法,其特征在于,应用W下函数:23. 根据权利要求17所述的方法,其特征在于,所述图像预处理的应用程序在客户端侧 上运行而不依赖于服务器,从而导致更快并且更具响应性的处理。24. 根据权利要求23所述的方法,其特征在于,所述应用程序W浏览器语言编写。25. -种其中实施有计算机可读程序代码的非暂时性计算机可读媒体,其特征在于,所 述计算机可读程序代码适于由一个或多个计算机执行W实施使用一个或多个经编程计算 机对已上载的数字图像进行预处理的方法,所述方法包括: 运行双侧平滑算法W便从所述图像的平坦表面去除噪点,同时保持所述图像中的边缘 的完整性和色差; 对所述图像运行索贝尔和坎尼边缘检测算法,并且独立地存储由运行所述坎尼算法产 生的图像数据与由运行所述索贝尔算法产生的图像数据; 对所述索贝尔图像数据执行填色算法W执行将所述图像分割成具有相同色彩的区段, 其中所述填色算法经修改W考虑所述索贝尔算法的自然梯度,由此允许界定一个或多个容 差,该一个或多个容差用于界定所述图像中的边缘;W及 如果通过应用所述填色算法和所述索贝尔算法而确定的区段的边缘在坎尼边缘的所 选择的容差内,那么将指派给所述区段的所述颜料色彩拉动到所述坎尼边缘。
【文档编号】G06T11/40GK105989622SQ201610153315
【公开日】2016年10月5日
【申请日】2016年3月17日
【发明人】D·雷伊诺德斯, D·米尔森, V·吉奥萨
【申请人】贝洱工艺公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1