CN107957866A - 程序生成方法、程序生成装置以及控制程序 - Google Patents
程序生成方法、程序生成装置以及控制程序 Download PDFInfo
- Publication number
- CN107957866A CN107957866A CN201710784644.8A CN201710784644A CN107957866A CN 107957866 A CN107957866 A CN 107957866A CN 201710784644 A CN201710784644 A CN 201710784644A CN 107957866 A CN107957866 A CN 107957866A
- Authority
- CN
- China
- Prior art keywords
- image
- image set
- script
- similarity
- similar
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 113
- 230000008569 process Effects 0.000 claims abstract description 83
- 238000004590 computer program Methods 0.000 claims description 58
- 238000012545 processing Methods 0.000 claims description 50
- 230000008859 change Effects 0.000 claims description 28
- 238000013515 script Methods 0.000 description 305
- 238000009434 installation Methods 0.000 description 52
- 238000012876 topography Methods 0.000 description 47
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000015572 biosynthetic process Effects 0.000 description 7
- 238000003786 synthesis reaction Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 230000010354 integration Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 239000003086 colorant Substances 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 241000894007 species Species 0.000 description 3
- 235000013399 edible fruits Nutrition 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/53—Querying
- G06F16/532—Query formulation, e.g. graphical querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/80—2D [Two Dimensional] animation, e.g. using sprites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/60—Rotation of whole images or parts thereof
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
- Processing Or Creating Images (AREA)
Abstract
提供一种程序生成方法、程序生成装置以及控制程序。在程序生成方法中,取得第1图像集(步骤S11),从数据库DB中检索与第1图像集所包含的处理对象图像相似的相似图像(步骤S13)。在步骤S13中,针对数据库DB内的N个第2图像集的各第2图像集,基于该第2图像集所包含的图像与处理对象图像之间的第1相似度Sp、该第2图像集与第1图像集之间的第2相似度Sw、以及第1图像集的完成度,生成该第2图像集所包含的图像相对于处理对象图像的综合相似度St(步骤S13a),基于该综合相似度St来检索相似图像(步骤S13b)。
Description
技术领域
本公开涉及生成用于使图像变化的计算机程序的程序生成方法等。
背景技术
目前,提供了即使不编写源代码也能够通过视觉上的操作进行编程的可视编程语言(visual programming language)。MIT媒体实验室(MIT Media Lab)开发的Scratch是面向儿童的可视编程语言(参照非专利文献)。对于该Scratch,儿童等初学者不用记住正确的语法写法等就能够编程。例如,在Scratch中,预先准备了程序制作所需的几个命令来作为可视块(visual block)。儿童等用户描画图像,从该准备的几个命令中选择适用于自己描画的图像的一个或多个命令并进行组合。进而,用户对该选择出的命令的参数进行编辑。由此,可生成针对该图像的计算机程序(script,脚本)。通过执行该计算机程序,用户所描画的图像会像动画(animation)那样变化。
根据使用了这样的Scratch的程序生成方法,能够制作好玩的交互式动画等,能够引起儿童等学习编程的干劲。
现有技术文献
非专利文献1:Scratch互联网<URL:https://scratch.mit.edu/>
发明内容
然而,在上述以往的程序生成方法中,存在计算机程序的生成会花费工夫这一问题。
因此,本公开的非限定性且例示性的一个技术方案,提供能够简单地生成用于使图像变化的计算机程序的程序生成方法。
本公开的一个技术方案涉及的程序生成方法,包括:(a)取得第1图像集,所述第1图像集包含显示器所显示的至少一个图像;(b)访问记录介质,所述记录介质保存有N个第2图像集和与N个所述第2图像集各自所包含的至少一个图像的各图像关联的用于使该图像变化的计算机程序,其中,N≧2;(c)从所述记录介质中检索与所述第1图像集所包含的处理对象图像相似的至少一个相似图像;(d)通过从所述记录介质中的与所检索出的至少一个所述相似图像的各相似图像关联的计算机程序中选择一个计算机程序,生成适用于所述处理对象图像的计算机程序来作为适用程序,在所述(c)中,(c1)针对所述记录介质所保存的N个所述第2图像集的各所述第2图像集,基于该第2图像集所包含的图像与所述处理对象图像之间的第1相似度、该第2图像集与所述第1图像集之间的第2相似度、以及所述第1图像集的完成度,算出该第2图像集所包含的图像相对于所述处理对象图像的综合相似度,(c2)基于对所述记录介质所保存的N个所述第2图像集各自所包含的图像算出的所述综合相似度,检索至少一个所述相似图像。
此外,该总括性或具体的技术方案既可以通过装置、***、集成电路、计算机程序或计算机可读取的记录介质来实现,也可以通过装置、***、方法、集成电路、计算机程序和记录介质的任意组合来实现。计算机可读取的记录介质例如包括CD-ROM(Compact Disc-Read Only Memory)等非易失性记录介质。
根据本公开,能够简单地生成用于使图像变化的计算机程序。从本说明书及附图中可知晓本公开的一个技术方案的附加的益处及优点。该益处和/或优点可以由本说明书及附图所公开的各种实施方式及特征来单独提供,无需为了获得一个以上益处和/或优点而实施所有的实施方式及特征。
附图说明
图1是表示实施方式的程序生成***的构成的图。
图2是表示实施方式中的终端装置的显示器所显示的画面的一例的图。
图3是表示实施方式中的命令列表的一例的图。
图4是表示实施方式的程序生成装置的构成的框图。
图5是表示实施方式中的数据库所保存的各数据的关联的图。
图6是表示实施方式中的由程序生成装置生成的脚本的一例的图。
图7是表示实施方式中的在由图像检索部进行的相似图像的检索中使用的各相似度的图。
图8是表示实施方式的程序生成装置整体的处理工作的一例的流程图。
图9是表示实施方式中的第1权重α以及第2权重β的图。
图10是表示图8所示的步骤S1300的相似图像的检索中的详细处理工作的一例的流程图。
图11是表示图10所示的步骤S1330的权重导出中的详细处理工作的一例的流程图。
图12是表示图10所示的步骤S1330的权重导出中的详细处理工作的另一例的流程图。
图13是表示图10所示的步骤S1340的相似图像列表的生成中的详细处理工作的一例的流程图。
图14是表示实施方式中的相似图像列表的一例的图。
图15是表示图8所示的步骤S1400的脚本生成中的详细处理工作的一例的流程图。
图16是表示实施方式的变形例涉及的程序生成装置的构成的框图。
图17是表示图8所示的步骤S1400的脚本生成中的详细处理工作的一例的流程图。
图18是表示实施方式中的向脚本候选列表追加被选脚本的处理的图。
图19表示实施方式中的脚本候选列表中示出的各候选脚本被执行的状态的一例。
图20是表示本公开的一个技术方案涉及的程序生成方法的一例的流程图。
图21是表示实施方式中的终端装置的显示器所显示的画面的一例的图。
图22是表示实施方式中的终端装置的显示器所显示的画面的一例的图。
标号的说明
100、100a 程序生成装置
101 接口部
102 取得部
103 图像检索部
104 脚本选择部
105 权重算出部
107 显示控制部
108 候选提示部
200 终端装置
200d 显示器
201 脚本生成画面
202 图像输入区域
203 脚本显示编辑区域
204a~204c 图像选择按钮
208 命令列表按钮
300 通信网络
1000 程序生成***
B1 操作按钮
B2 操作按钮
DB 数据库
R 操作按钮
S 操作按钮
具体实施方式
(成为本公开的基础的见解)
本发明人对于在“背景技术”一栏中记载的Scratch,发现会产生以下的问题。
如上所述,在Scratch中,准备了作为分别用于使图像变化的计算机程序的多种命令。用户使用输入单元(例如,鼠标和/或键盘)选择图像和/或描画图像,由此,使该图像作为输入图像显示于显示器。接着,用户从预先准备的多种命令中选择适用于该输入图像的至少一个命令。并且,用户对所选择出的至少一个命令的各命令所包含的参数进行设定。参数表示图像的变化的程度。由此,输入图像根据包括该选择出的至少一个命令的脚本,按所设定的参数所表示的程度进行变化。
然而,用户特意从多种命令中选择适用于输入图像的命令并进行组合会花费工夫。因此,如果自动地生成适用于输入图像的程序(脚本),则能够大幅削减该工夫。在此,为了自动地生成适用于输入图像的程序(脚本),考虑从预先准备的数据库中检索与该输入图像相适应的程序。例如,如果存在已经对与输入图像相似的图像生成的程序,则通过检索该程序,能够自动地生成适用于输入图像的程序。
但是,存在如下问题:需要适当地判断哪个图像与输入图像相似,如果该判断出错,则无法生成与输入图像相适应的程序。
为了解决这样的问题,本公开的一个技术方案涉及的程序生成方法,包括:(a)取得第1图像集,所述第1图像集包含显示器所显示的至少一个图像;(b)访问记录介质,所述记录介质保存有N个第2图像集和与N个所述第2图像集各自所包含的至少一个图像的各图像关联的用于使该图像变化的计算机程序,其中,N≧2;(c)从所述记录介质中检索与所述第1图像集所包含的处理对象图像相似的至少一个相似图像;(d)通过从所述记录介质中的与所检索出的至少一个所述相似图像的各相似图像关联的计算机程序中选择一个计算机程序,生成适用于所述处理对象图像的计算机程序来作为适用程序,在所述(c)中,(c1)针对所述记录介质所保存的N个所述第2图像集的各所述第2图像集,基于该第2图像集所包含的图像与所述处理对象图像之间的第1相似度、该第2图像集与所述第1图像集之间的第2相似度、以及所述第1图像集的完成度,算出该第2图像集所包含的图像相对于所述处理对象图像的综合相似度,(c2)基于对所述记录介质所保存的N个所述第2图像集各自所包含的图像算出的所述综合相似度,检索至少一个所述相似图像。例如也可以为,所述第1相似度是一个所述第2图像集所包含的至少一个图像的各图像与所述处理对象图像之间的相似度中的最大的相似度。另外,例如也可以为,在所述(c2)中,按所述记录介质所保存的N个所述第2图像集的各所述第2图像集,将算出了第1阈值以上的所述综合相似度的图像检索为所述相似图像。
由此,可检索与作为输入图像而描画出的处理对象图像相似的至少一个相似图像,从与该至少一个相似图像的各相似图像关联的计算机程序中,选择一个计算机程序来作为适用程序。其结果是,可自动地生成适用于处理对象图像的计算机程序。因此,在显示器上描画了输入图像的用户不需要对预先准备的多种命令进行组合来编制适用于该输入图像的计算机程序。其结果是,能够简单地生成用于使输入图像变化的计算机程序。
另外,在本公开的一个技术方案涉及的程序生成方法中,基于第1相似度及第2相似度和第1图像集的完成度,可算出第2图像集所包含的图像相对于处理对象图像的综合相似度。也就是说,可算出基于整体相似度及局部相似度和第1图像集的完成度的综合相似度,使用该综合相似度检索相似图像。
例如,在第2图像集包含呈现球的图像且第1图像集的处理对象图像呈现球的情况下,如果仅对这些图像进行比较,则这些图像彼此相似。但是,存在如下情况:第2图像集的整体例如呈现棒球的场景,第1图像集的整体例如呈现网球或高尔夫的场景。在这样的情况下,不能说第2图像集所包含的呈现球的图像与第1图像集所包含的呈现球的处理对象图像相似。另外,如果第1图像集的完成度低,则第2图像集与第1图像集之间的整体相似度的可靠性低,反过来,如果第1图像集的完成度高,则第2图像集与第1图像集之间的整体相似度的可靠性高。
因此,在本公开的一个技术方案涉及的程序生成方法中,如上所述,算出不仅整体相似度以及局部相似度还基于第1图像集的完成度的综合相似度,使用该综合相似度检索相似图像。因此,能够检索对于处理对象图像更适当的相似图像。其结果是,能够生成与处理对象图像更相适应的计算机程序。
另外,也可以为,在所述(c1)中,通过算出所述第1相似度与第1权重之积和所述第2相似度与第2权重之积的和,算出所述综合相似度,所述第1权重是所述完成度越高则越小的值,所述第2权重是所述完成度越高则越大的值。
由此,能够根据第1图像集的完成度适当地将第1相似度和第2相似度进行加权相加。其结果是,能够进一步提高综合相似度的可靠性,能够生成与处理对象图像更相适应的计算机程序。
另外,也可以为,所述完成度是从所述第1图像集的描画开始起的经过时间相对于基准时间之比或所述第1图像集所包含的图像的个数相对于基准数之比。
例如,基准时间是从一个图像集的描画开始到完成为止的平均时间,基准数是一个完成的图像集所包含的图像的平均个数。由此,能够将第1图像集的完成度表示为适当的数值,能够进一步提高综合相似度的可靠性。
另外,也可以为,在所述完成度为第2阈值以下时,所述第1权重为1,并且,所述第2权重为0,在所述完成度超过所述第2阈值时,所述第1权重为0,并且,所述第2权重为1。
由此,第1权重和第2权重分别由0或1的二值来表示,因此能够减轻计算综合相似度的处理负担。
另外,也可以为,在所述(d)中,从所述记录介质所保存的N个所述第2图像集中,确定分别包含所述相似图像的M个第2图像集,其中,N>M≧1,从M个所述第2图像集中,选择算出了最大的所述第2相似度的第2图像集,从所选择出的所述第2图像集中,确定作为与所述处理对象图像的相似度最大的图像的所述相似图像,通过选择所述记录介质中的与所确定出的所述相似图像关联的计算机程序,生成所述适用程序。
由此,能够将所检索出的至少一个相似图像适当地筛选为一个。因此,能够简单地生成与处理对象图像相适应的计算机程序。
另外,也可以为,在所述(d)中,从所述记录介质所保存的N个所述第2图像集中,确定分别包含所述相似图像的M个第2图像集,其中,N>M≧2,在所述记录介质中的与M个所述第2图像集各自所包含的所述相似图像关联的计算机程序中,仅将具有互相存在第3阈值以上的差的特征量的多个计算机程序作为候选程序进行提示,通过从所提示的多个所述候选程序中选择一个所述候选程序,生成所述适用程序,M个所述第2图像集的各所述第2图像集所包含的所述相似图像是在该第2图像集内与所述处理对象图像的相似度最大的图像。
由此,可提示多个计算机程序来作为候选程序,因此用户能够从这些多个候选程序中选择满意的计算机程序来作为适用程序。另外,所提示的多个候选程序分别具有互相存在第3阈值以上的差的特征量。也就是说,这些候选程序互相不相似。因此,能够抑制看似相同的候选程序被提示了好几个,能够增大用户选择计算机程序的选择项的范围。
另外,也可以为,在所述(d)中,将所述记录介质中的与M个所述第2图像集各自所包含的所述相似图像关联的计算机程序的特征量作为向量进行导出,在分别具有所导出的向量的M个所述计算机程序中,仅将互相具有小于第4阈值的余弦距离的向量的多个计算机程序作为所述候选程序进行提示。
由此,能够从M个计算机程序中适当地除去相似的计算机程序,能够仅将互相不相似的计算机程序作为候选程序进行提示。
以下,参照附图对实施方式进行具体说明。
此外,以下说明的实施方式均表示总括性或具体的例子。以下的实施方式中示出的数值、形状、材料、构成要素、构成要素的配置位置以及连接形态、步骤、步骤的顺序等是一例,并非限定本公开的意思。另外,关于以下的实施方式中的构成要素中的未记载在表示最上位概念的独立权利要求中的构成要素,作为任意的构成要素来说明。
另外,各图是示意图,未必是严格图示的。另外,在各图中,对相同的构成部件标注相同的标号。
(实施方式)
[***]
图1表示本实施方式的程序生成***的构成。
例如如图1所示,本实施方式的程序生成***1000具备程序生成装置100、多个终端装置200和通信网络300。
多个终端装置200各自例如包括个人计算机、智能手机或平板终端等。另外,这些终端装置200根据用户的操作,在该终端装置200的显示器200d显示输入图像。
通信网络300例如是WAN(Wide Area Network,广域网)、LAN(Local AreaNetwork,局域网)或互联网等,能够将程序生成装置100与多个终端装置200的各终端装置以能够相互通信的方式进行连接。
程序生成装置100经由通信网络300与终端装置200通信,生成用于使显示于终端装置200的显示器200d的输入图像变化的计算机程序。本实施方式的程序生成装置100生成脚本来作为计算机程序。
图2表示终端装置200的显示器200d所显示的画面的一例。
程序生成装置100经由通信网络300,在终端装置200的显示器200d显示用于生成脚本的脚本生成画面201。
脚本生成画面201包括:图像输入区域202;脚本显示编辑区域203;图像选择按钮204a~204c;操作按钮S、B1以及B2;以及命令列表按钮208。
在图像输入区域202,显示根据用户对终端装置200的操作而描画出的输入图像im1~im3。此外,以下,将用户对终端装置200的操作称为输入操作。
图像选择按钮204a~204c分别用于选择在图像输入区域202显示的输入图像im1~im3。例如,当根据输入操作而选择图像选择按钮204a时,在图像输入区域202显示的输入图像im1~im3中的输入图像im1被选择为处理对象图像。例如,如果进行输入操作,则程序生成装置100对该处理对象图像进行与该输入操作相应的处理。具体而言,程序生成装置100执行对处理对象图像生成的脚本、使该脚本显示于终端装置200的显示器200d、和/或进行处理对象图像或该脚本的修正或编辑。此外,程序生成装置100针对新描画的输入图像,即使没有进行图像选择按钮的选择,也可以将该输入图像作为处理对象图像来处理。
在脚本显示编辑区域203,显示对处理对象图像生成的脚本。另外,在脚本显示编辑区域203显示的脚本所包含的参数根据输入操作来修正或编辑。
操作按钮S用于使程序生成装置100生成处理对象图像的脚本。也就是说,当通过输入操作而选择操作按钮S时,终端装置200经由通信网络300指示程序生成装置100来进行脚本的生成。程序生成装置100在从终端装置200接收到该指示时,针对处理对象图像生成脚本。
操作按钮B1用于进行在图像输入区域202显示的处理对象图像的修正或编辑。也就是说,当通过输入操作而选择操作按钮B1时,终端装置200经由通信网络300指示程序生成装置100来进行处理对象图像的修正。程序生成装置100在从终端装置200接收到该指示时,成为等待从该终端装置200接收与输入操作相应的对处理对象图像的修正或编辑的状态。
操作按钮B2用于进行向图像输入区域202追加新输入图像。也就是说,当通过输入操作而选择操作按钮B2时,终端装置200经由通信网络300指示程序生成装置100来进行新输入图像的追加。程序生成装置100在从终端装置200接收到该指示时,成为等待接受根据输入操作新描画的输入图像的状态。终端装置200也成为受理新输入图像的描画的状态,将根据之后的输入操作描画的新输入图像显示于图像输入区域202。
命令列表按钮208用于显示包括可能由程序生成装置100利用的多种命令的命令列表(也称为脚本控制函数列表)。也就是说,当通过输入操作而选择该命令列表按钮208时,终端装置200经由通信网络300指示程序生成装置100来进行命令列表的显示。程序生成装置100在从终端装置200接收到该指示时,将命令列表显示于终端装置200的显示器200d。终端装置200也可以根据输入操作从该命令列表中选择适用于输入图像的命令。
图3表示命令列表的一例。
例如,命令列表包括属于“活动”的多种命令、属于“外观”的多种命令、属于“声音”的多种命令、属于“文字”的多种命令、以及属于“控制”的多种命令等。
属于“活动”的命令是用于使输入图像活动的计算机程序。例如,在属于“活动”的命令中,存在命令“使x坐标每次变更[p1]”以及命令“向左方旋转[p5]度”等。另外,在属于“控制”的命令中,存在命令“反复[p17]次”等。在此,各命令所包含的[pn](n为1以上的整数)是表示图像或声音等的变化程度的参数。在本实施方式中,各命令所包含的参数被预先确定。
程序生成装置100也可以在根据输入操作从图3所示的命令列表中选择了命令的情况下,通过根据输入操作来变更该选择出的命令的参数,由此生成适用于输入图像的新脚本。
在此,在本实施方式中,根据描画在图像输入区域202中的至少一个输入图像,生成第1图像集。也就是说,第1图像集是在图像输入区域202的整体(整个区域)所描画的图像、即整体图像。另外,第1图像集所包含的各输入图像是构成该整体图像的局部图像。
[装置构成]
图4是表示本实施方式的程序生成装置100的构成的框图。
程序生成装置100是生成用于使所显示的图像变化的计算机程序来作为脚本的装置。该程序生成装置100具备接口部101、取得部102、图像检索部103、脚本选择部104、权重算出部105和显示控制部107。此外,程序生成装置100所具备的上述各构成要素中的除接口部101之外的取得部102、图像检索部103、脚本选择部104、权重算出部105和显示控制部107被设置于处理电路。
接口部101具有用于供程序生成装置100的图像检索部103以及脚本选择部104访问数据库DB的功能。具体而言,接口部101是USB(Universal Serial Bus,通用串行总线)端子、HDMI(注册商标)(High-Definition Multimedia Interface,高清多媒体接口)端子或无线通信设备等。
数据库DB是保存有N(N≧2)个第2图像集和与N个第2图像集各自所包含的至少一个图像的各图像关联的用于使该图像变化的脚本的记录介质。此外,N个第2图像集所包含的各个图像集相当于上述的整体图像,N个第2图像集所包含的各个图像集所包含的至少一个图像相当于构成该整体图像的局部图像。另外,数据库DB所保存的多个脚本分别相当于上述的命令列表所包含的一个命令或多个命令的组合。
取得部102取得包含描画在终端装置200的显示器200d上的至少一个图像的第1图像集。该至少一个图像分别是上述的输入图像、即构成由第1图像集表示的整体图像的局部图像。以下,将输入图像称为局部图像。
另外,取得部102从终端装置200取得与操作按钮S的选择等输入操作相应的指示。进一步,取得部102从终端装置200取得表示为了在图像输入区域202描画图像而进行过的输入操作的操作信息。此外,操作信息例如示出了输入操作的种类及参数和进行了该输入操作的日期时刻等。
权重算出部105经由取得部102从终端装置200逐次取得操作信息,根据该操作信息,导出与第1图像集的完成度相应的第1权重α和第2权重β。
图像检索部103经由接口部101访问数据库DB。并且,图像检索部103使用由权重算出部105导出的第1权重α和第2权重β,从数据库DB中检索与第1图像集所包含的处理对象图像相似的至少一个相似图像。此外,处理对象图像是第1图像集所包含的至少一个局部图像中的通过图像选择按钮204a~204c等按钮选择出的局部图像。
脚本选择部104经由接口部101访问数据库DB。并且,脚本选择部104在数据库DB中,从与所检索出的至少一个相似图像的各相似图像关联的脚本中选择一个脚本,由此生成适用于该处理对象图像的脚本来作为适用脚本(即适用程序)。
显示控制部107通过执行所生成的适用脚本,使终端装置200的显示器200d所显示的处理对象图像变化。另外,显示控制部107将所生成的适用脚本显示于终端装置200的显示器200d。也就是说,适用脚本被显示于脚本生成画面201的脚本显示编辑区域203。
[数据库]
图5表示本实施方式的数据库DB所保存的各数据的关联。
对数据库DB所保存的各图像赋予用于识别该图像的标识符即图像ID。进而,对数据库DB所保存的各脚本也赋予用于识别该脚本的标识符即脚本ID。因此,在数据库DB中,例如,如图5所示,具有图像ID“I_x_P1_1”的图像与具有脚本ID“S_x_P1_1”的脚本关联。另外,具有图像ID“I_x_P1_2”的图像与具有脚本ID“S_x_P1_2”的脚本关联。
另外,在本实施方式中,通过包含至少一个图像的第2图像集和与该至少一个图像的各图像关联的脚本的组合,构成项目(project)。另外,这样的项目例如由各终端装置200的用户生成并保存于数据库DB。也就是说,由用户描画在图像输入区域202中的全部局部图像和对这些局部图像生成的脚本构成项目。并且,该项目被保存于数据库DB。于是,在数据库DB中,对各项目赋予用于识别该项目的标识符即项目ID。进而,对生成了项目的用户赋予用于识别该用户的标识符即用户ID。在数据库DB中,多个图像ID按该项目ID进行分组,进而,多个项目ID按该用户ID进行分组。也就是说,一个项目所包含的至少一个图像分别与该项目关联,由用户生成的至少一个项目分别与该用户关联。
在此,数据库DB如上述那样保存有N个第2图像集和与N个第2图像集各自所包含的至少一个图像的各图像关联的脚本。N个第2图像集分别是项目所包含的至少一个图像的集合(set)。也就是说,数据库DB按N个项目的各项目保存有与该项目所包含的各图像关联的脚本。
另外,在本实施方式中,第2图像集所包含的至少一个图像的各图像不仅示出图像,还示出图像输入区域202中的该图像的位置、大小以及方向等。因此,通过对这些图像进行组合,构成第2图像集来作为图像输入区域202的大小的整体图像。
图6表示由程序生成装置100生成的脚本的一例。此外,图6表示脚本生成画面201,但省略了图像输入区域202以及脚本显示编辑区域203以外的构成。
例如,用户通过输入操作在图像输入区域202描画箭头的图像im2。程序生成装置100的取得部102取得该图像im2来作为处理对象图像,图像检索部103从数据库DB中检索与该处理对象图像im2相似的图像来作为相似图像。本实施方式的程序生成装置100通过从数据库DB中选择与该相似图像关联的脚本来生成适用脚本。例如,适用脚本包括“使x坐标每次改变[10]”、“向左方旋转[30]度”以及“反复[10]次”。此外,这些脚本所包含的括号内的数值是表示图像的变化程度的参数。并且,程序生成装置100的显示控制部107将该生成的适用脚本显示于脚本显示编辑区域203,执行该适用脚本。其结果是,图像输入区域202所显示的处理对象图像im2按照该脚本进行变化。
在此,本实施方式的图像检索部103为了生成与处理对象图像im2相适应的适用脚本,使用第1相似度、第2相似度、第1权重α和第2权重β来检索相似图像。也就是说,图像检索部103基于第1相似度、第2相似度、第1图像集的完成度,算出第2图像集所包含的图像相对于处理对象图像im2的综合相似度。第1相似度是数据库DB所保存的N个第2图像集各自所包含的图像与处理对象图像之间的相似度。第2相似度是第2图像集与第1图像集之间的相似度。进而,图像检索部103基于针对数据库DB所保存的N个第2图像集各自所包含的图像算出的综合相似度,检索至少一个相似图像。
也就是说,本实施方式的图像检索部103不仅使用第1图像集的处理对象图像im2与数据库DB所保存的图像之间的相似度,还使用第1图像集与第2图像集之间即整体图像彼此的相似度来检索相似图像。
图7表示在由图像检索部103进行的相似图像的检索中使用的各相似度。
例如,如图7的(a)所示,在图像输入区域202描画了包含3个局部图像im11~im13的第1图像集。第1图像集呈现网球的场景,局部图像im11呈现配置于网球场的网,局部图像im12呈现网球,局部图像im13呈现网球拍。在此,通过输入操作,选择局部图像im12来作为处理对象图像,进而,选择用于指示生成脚本的操作按钮S。由此,程序生成装置100的图像检索部103例如如图7的(b)所示那样取得数据库DB所保存的第2图像集。第2图像集例如呈现棒球的场景,包含图像di11~di13。图像di11呈现棒球的投手,图像di12呈现棒球的球,图像di13呈现棒球的球棒。并且,图像检索部103算出该第2图像集所包含的图像di11~di13中的某一个图像与处理对象图像im12之间的图像间相似度来作为第1相似度Sp。
具体而言,第1相似度是第2图像集所包含的图像di11~di13的各图像与处理对象图像im12之间的相似度中的最大的相似度。例如,图像检索部103在图像di12与处理对象图像im12之间的图像间相似度最大的情况下,算出该图像间相似度来作为第1相似度Sp。进一步,图像检索部103算出图7的(a)所示的第1图像集与图7的(b)所示的第2图像集之间的集间相似度来作为第2相似度Sw。
进一步,图像检索部103导出与图7的(a)所示的第1图像集所包含的局部图像im11~im13的个数相应的数值或与第1图像集的描画所花费的时间相应的数值等来作为第1图像集的完成度。
本实施方式的图像检索部103使用如此导出的第1相似度、第2相似度和第1图像集的完成度来检索相似图像。此外,关于相似图像的检索的详细处理,后面使用流程图等进行叙述。
[整体工作]
图8是表示程序生成装置100的整体的处理工作的一例的流程图。
(步骤S1100)
程序生成装置100首先根据用户的输入操作,进行用于进行图像输入区域202中的图像的描画或编辑的编辑处理。例如,程序生成装置100受理新的局部图像、和/或进行已描画的局部图像的修正。
(步骤S1200)
接着,程序生成装置100判定是否存在来自终端装置200的脚本的生成指示。也就是说,程序生成装置100判定是否选择了脚本生成画面201的操作按钮S。在此,若判定为存在脚本的生成指示(步骤S1200:是),则程序生成装置100进入步骤S1300的处理。另一方面,若判定为不存在脚本的生成指示(步骤S1200:否),则程序生成装置100返回到步骤S1100的处理。
(步骤S1300)
程序生成装置100若在步骤S1200中判定为存在脚本的生成指示,则从数据库DB中检索与第1图像集所包含的处理对象图像相似的相似图像。
(步骤S1400)
接着,程序生成装置100基于通过步骤S1300检索出的相似图像,生成适用脚本来作为适用于处理对象图像的脚本。然后,程序生成装置100将该适用脚本显示于脚本显示编辑区域203。
(步骤S1500)
在此,程序生成装置100判定是否从终端装置200发出脚本的执行指示。在此,若判定为存在脚本的执行指示(步骤S1500:是),则程序生成装置100进入步骤S1600的处理。另一方面,若判定为不存在脚本的执行指示(步骤S1500:否),则程序生成装置100进入步骤S1700的处理。
(步骤S1600)
程序生成装置100若在步骤S1500中判定为存在适用脚本的执行指示,则执行通过步骤S1400生成的适用脚本。由此,程序生成装置100使第1图像集所包含的处理对象图像变化。
(步骤S1700)
程序生成装置100若在步骤S1500中判定为不存在适用脚本的执行指示,则进一步判定是否从终端装置200发出对通过步骤S1400生成的适用脚本的修正指示。在此,若判定为存在适用脚本的修正指示(步骤S1700:是),则程序生成装置100进入步骤S1800的处理。另一方面,若判定为不存在适用脚本的修正指示(步骤S1700:否),则程序生成装置100进入步骤S1900的处理。
(步骤S1800)
程序生成装置100若在步骤S1700中判定为存在适用脚本的修正指示,则根据用户的输入操作来修正该适用脚本。然后,程序生成装置100进入步骤S1900的处理。
(步骤S1900)
程序生成装置100判定是否从终端装置200发出图像的编辑指示。也就是说,程序生成装置100判定是否选择了脚本生成画面201的操作按钮B1或B2。在此,若判定为存在图像的编辑指示(步骤S1900:是),则程序生成装置100返回到步骤S1100的处理。另一方面,若判定为不存在图像的编辑指示(步骤S1900:否),则程序生成装置100使与适用脚本的生成有关的处理全部结束。
本实施方式的程序生成装置100通过进行上述步骤S1100~S1900的处理,生成上述的项目。
[相似图像检索]
在此,对步骤S1300中的相似图像的检索进行详细说明。
本实施方式的图像检索部103通过将第1相似度Sp与第2相似度Sw进行加权相加来算出综合相似度St。此时,图像检索部103使用由权重算出部105算出的第1权重α以及第2权重β。也就是说,图像检索部103通过综合相似度St=α·Sp×β·Sw,算出第2图像集所包含的图像相对于处理对象图像的综合相似度St。
图9表示第1权重α以及第2权重β。
第1权重α是对第1相似度Sp乘以的权重,是第1图像集的完成度越高则越小的0以上且1以下的值。第2权重β是对第2相似度Sw乘以的权重,是第1图像集的完成度越高则越大的0以上且1以下的值。本实施方式的图像检索部103通过算出第1相似度Sp与第1权重α之积和第2相似度Sw与第2权重β之积的和,算出综合相似度St。
由此,能够根据第1图像集的完成度适当地将第1相似度Sp和第2相似度Sw进行加权相加。也就是说,在完成度低的情况下,即使第1图像集与第2图像集之间的相似度低,第1图像集的处理对象图像和第2图像集的图像也可能相似。反过来,在完成度高的情况下,如果第1图像集与第2图像集之间的相似度高,则即使第1图像集的处理对象图像与第2图像集的图像之间的相似度低,也还是在宏观上当作这些图像相似来处理为好。
因此,在本实施方式中,如果该完成度低,则使第1相似度Sp的权重大且使第2相似度的权重小,反过来,如果该完成度高,则使第1相似度Sp的权重小且使第2相似度的权重大。其结果是,能够进一步提高综合相似度的可靠性,能够生成与处理对象图像更相适应的脚本。
图10是表示图8所示的步骤S1300的相似图像的检索中的详细处理工作的一例的流程图。
(S1310)
图像检索部103经由取得部102从终端装置200取得第1图像集。
(S1320)
权重算出部105经由取得部102从终端装置200取得操作信息。
(S1330)
权重算出部105基于所取得的操作信息导出第1权重α和第2权重β。
(S1340)
图像检索部103使用通过步骤S1310取得的第1图像集和通过步骤S1330导出的第1权重α以及第2权重β,生成表示至少一个相似图像的相似图像列表。通过该相似图像列表的生成,能检索至少一个相似图像。
图11是表示图10所示的步骤S1330的权重导出中的详细处理工作的一例的流程图。
(S1331)
权重算出部105根据经由取得部102从终端装置200取得的操作信息,确定描画指数m。描画指数m例如是第1图像集的描画时间、即从第1图像集的描画开始起的经过时间。例如,在操作信息中,示出了输入操作的内容和进行了该输入操作的日期时刻。因此,权重算出部105从该操作信息中导出对第1图像集进行了最初的输入操作的日期时刻,将从该日期时刻到当前的日期时刻的经过时间确定为描画指数m。或者,描画指数m是第1图像集所包含的局部图像的个数。此外,在描画指数m为局部图像的个数的情况下,权重算出部105也可以不根据操作信息而根据第1图像集来确定该描画指数m。
(S1332)
权重算出部105取得完成描画指数n。该完成描画指数n是到图像集的完成为止的平均描画时间、即从图像集的描画开始到完成为止的平均时间。或者,完成描画指数n是已完成的图像集中的平均局部图像数、即已完成的图像集所包含的局部图像的平均数。权重算出部105例如也可以从数据库DB取得该完成描画指数n,还可以从数据库DB以外的其他记录介质取得该完成描画指数n。
(S1333)
权重算出部105使用描画指数m和完成描画指数n,导出由m/n表示的完成度。也就是说,完成度是第1图像集的描画时间相对于到图像集的完成为止的平均描画时间之比。如果平均描画时间为n分钟、第1图像集的描画时间为m分钟,则完成度为m分钟/n分钟。或者,完成度是第1图像集的局部图像数相对于已完成的图像集的平均局部图像数之比。如果平均局部图像数为n个、第1图像集的局部图像数为m个,则完成度为m个/n个。
如此,在本实施方式中,完成度是从第1图像集的描画开始起的经过时间相对于基准时间之比、或者第1图像集所包含的图像(即局部图像)的个数相对于基准数之比。基准时间是上述的平均描画时间,基准数是上述的平均局部图像数。此外,平均描画时间既可以是每个用户的平均时间,也可以是多个人的平均时间。同样地,平均局部图像数既可以是每个用户的平均的局部图像的个数,也可以是多个人的平均的局部图像的个数。
(S1334)
权重算出部105分别通过α=1-m/n和β=m/n算出第1权重α和第2权重β。如此,本实施方式的第1权重α是完成度越高则越小的值,第2权重β是完成度越高则越大的值。
图12是表示图10所示的步骤S1330的权重导出中的详细处理工作的另一例的流程图。
(S1336)
权重算出部105根据经由取得部102从终端装置200取得的操作信息,确定描画指数m来作为完成度。描画指数m与上述同样是第1图像集的描画时间或第1图像集所包含的局部图像的个数。此外,在描画指数m为局部图像的个数的情况下,权重算出部105也可以不根据操作信息而根据第1图像集来确定该描画指数m。
(S1337)
权重算出部105判定描画指数m是否为阈值以下(步骤S1337)。在此,若判定为描画指数m为阈值以下(步骤S1337:是),则权重算出部105进入步骤S1338的处理。另一方面,若判定为描画指数m超过阈值(步骤S1337:否),则权重算出部105进入步骤S1339的处理。
(S1338)
由于描画指数m小、即由于完成度低,因此权重算出部105将第1权重α和第2权重β分别导出为α=1和β=0。
(S1339)
由于描画指数m大、即由于完成度高,因此权重算出部105将第1权重α和第2权重β分别导出为α=0和β=1。
如此,在本实施方式中,第1权重α和第2权重β分别也可以由二值来表示。也就是说,在完成度为第2阈值以下时,第1权重α为1、且第2权重β为0,在完成度超过第2阈值时,第1权重α为0、且第2权重β为1。由此,由于第1权重α和第2权重β分别由0或1的二值来表示,因此能够减轻计算综合相似度St的处理负担。
此外,在图12所示的例子中,使用了描画指数m来作为完成度,但也可以与图11所示的例子同样地,使用m/n来作为完成度,根据该完成度的高低,将第1权重α和第2权重β分别由二值来表示。
图13是表示图10所示的步骤S1340的相似图像列表的生成中的详细处理工作的一例的流程图。
(S1341)
图像检索部103算出第1图像集整体的图像特征量和第1图像集所包含的处理对象图像的图像特征量。这些图像特征量例如通过SIFT(Scale-Invariant FeatureTransform,尺度不变特征转换)或SURF(Speeded Up Robust Features,快速鲁棒特征)等而作为向量来算出。
(S1342)
图像检索部103从数据库DB中选择第2图像集。
(S1343)
与步骤S1341同样地,图像检索部103算出所选择出的第2图像集整体的图像特征量和该第2图像集所包含的各图像的图像特征量。
(S1344)
图像检索部103算出表示第2图像集所包含的各图像的特征量的向量与表示处理对象图像的特征量的向量之间的各个距离(即图像间距离)。该图像间距离例如是余弦距离。图像检索部103从这些算出的图像间距离中选择最大的图像间距离。该最大的图像间距离相当于上述的最大的图像间相似度、即第1相似度Sp。此外,以下,将算出了该最大的图像间距离的第2图像集所包含的图像称为最相似局部图像。
(S1345)
图像检索部103算出第2图像集与第1图像集之间的距离(即集间距离)。该集间距离是作为第2图像集整体的图像特征量的向量与作为第1图像集整体的图像特征量的向量之间的距离,与上述同样,例如是余弦距离。另外,该集间距离相当于上述的集间相似度、即第2相似度Sw。
(S1346)
图像检索部103算出第2图像集的最相似局部图像相对于处理对象图像的综合相似度St。此时,图像检索部103使用通过步骤S1344以及步骤S1345算出的第1相似度Sp以及第2相似度Sw和通过步骤S1330算出的第1权重α以及第2权重β。也就是说,图像检索部103通过St=α·Sp+β·Sw来算出综合相似度St。
(S1347)
图像检索部103判定综合相似度St是否为阈值以上。在此,若判定为综合相似度St为阈值以上(步骤S1347:是),则图像检索部103进入步骤S1348的处理。另一方面,若判定为综合相似度St小于阈值(步骤S1347:否),则图像检索部103进入步骤S1349的处理。
(S1348)
图像检索部103在综合相似度St为阈值以上的情况下,将算出了该综合相似度St的第2图像集追加到相似图像列表中。具体而言,图像检索部103将与第2图像集对应的项目ID、该综合相似度St、以及算出了该综合相似度St的最相似局部图像的图像ID等追加到相似图像列表中。此外,图像检索部103在综合相似度St小于阈值的情况下,不向相似图像列表追加算出了该综合相似度St的第2图像集等。此外,图像检索部103也可以保持有相似图像列表。
也就是说,在本实施方式中,按数据库DB所保存的N个第2图像集的各第2图像集,检索算出了第1阈值以上的综合相似度St的图像即最相似局部图像来作为相似图像。
(S1349)
图像检索部103判定是否对数据库DB内的全部第2图像集进行了选择。在此,若判定为已对全部第2图像集进行了选择(步骤S1349:是),则图像检索部103结束相似图像的检索。另一方面,若判定为未对全部第2图像集进行选择(步骤S1349:否),则图像检索部103返回到步骤S1342的处理。此时,在步骤S1342中,从数据库DB中选择尚未被选择的第2图像集。
图14表示相似图像列表的一例。
在相似图像列表中,如图14所示,示出算出了阈值以上的综合相似度St的第2图像集。此外,第2图像集由与该第2图像集对应的项目ID来表示。
具体而言,相似图像列表不仅示出项目ID,还与该项目ID关联地示出第2相似度Sw、至少一个图像ID、这些图像ID中的最相似局部图像的图像ID以及综合相似度St。
第2相似度Sw是对所关联的项目ID的第2图像集算出的上述的集间相似度或集间距离。至少一个图像ID是所关联的项目ID的第2图像集所包含的全部图像的图像ID。最相似局部图像的图像ID是该全部图像中的一个图像的图像ID。综合相似度St是对该最相似局部图像算出的相似度。
例如,图像检索部103若在图13的步骤S1347中判定为综合相似度St为阈值以上,则将该综合相似度St和算出了该综合相似度St的最相似局部图像的图像ID追加到相似图像列表中。例如,如果综合相似度St如图14所示那样为“0.90”,则图像检索部103将该综合相似度St“0.90”和算出了该综合相似度St的最相似局部图像的图像ID“I_m_P5_1”追加到相似图像列表中。
进而,图像检索部103将包含该最相似局部图像的第2图像集的项目ID、对该第2图像集算出的第2相似度Sw、该第2图像集所包含的各图像的图像ID追加到相似图像列表中。例如,在最相似局部图像的图像ID为“I_m_P5_1”的情况下,图像检索部103将包含该最相似局部图像的第2图像集的项目ID“m_P5”追加到相似图像列表中。进而,图像检索部103将该第2图像集所包含的各图像的图像ID“I_m_P5_1,I_m_P5_2,…”追加到相似图像列表中。
这样的相似图像列表将与第1图像集所包含的处理对象图像相似的至少一个相似图像作为最相似局部图像(具体是最相似局部图像的图像ID)来表示。
图15是表示图8所示的步骤S1400的脚本的生成中的详细处理工作的一例的流程图。
(S1401)
脚本选择部104从图像检索部103取得相似图像列表。
(S1402)
脚本选择部104参照该相似图像列表,选择与第1图像集最相似的第2图像集。也就是说,脚本选择部104通过参照相似图像列表来确定与相似图像列表中示出的最大的第2相似度Sw关联的项目ID。由此,可选择由所确定出的项目ID表示的第2图像集。
(S1403)
脚本选择部104从通过步骤S1402选择出的第2图像集中,选择与第1图像集所包含的处理对象图像最相似的图像。也就是说,脚本选择部104通过参照相似图像列表来确定与所选择出的第2图像集的项目ID关联的最相似局部图像的图像ID。由此,可选择与处理对象图像最相似的图像。
(S1404)
脚本选择部104从数据库DB中选择与通过步骤S1403选择出的图像即最相似局部图像的图像ID关联的脚本。通过如此选择脚本,可将该脚本生成为适用脚本。然后,脚本选择部104将该适用脚本输出给显示控制部107。
(S1405)
显示控制部107从脚本选择部104取得适用脚本,将该适用脚本显示于终端装置200的显示器200d。也就是说,适用脚本被显示于脚本生成画面201的脚本显示编辑区域203。
如此,在本实施方式中,通过在步骤S1401中取得相似图像列表,从数据库DB所保存的N个第2图像集中,确定分别包含相似图像(即最相似局部图像)的M(N>M≧1)个第2图像集。然后,在步骤S1402中,从M个第2图像集中选择算出了最大的第2相似度Sw的第2图像集。接着,在步骤S1403中,从所选择出的第2图像集中,确定与处理对象图像的相似度最大的图像即相似图像(即最相似局部图像)。然后,在步骤S1404中,通过在数据库DB中选择与所确定出的相似图像关联的脚本,生成适用脚本。
由此,能够将通过步骤S1300检索出的至少一个相似图像(即最相似局部图像)适当地筛选为一个。因此,能够简单地生成与处理对象图像相适应的脚本。
图21中示出从相似图像检索前的显示器200d的画面向相似图像检索后的显示器200d的画面的转换的一例。在此的检索意味着图8中的相似图像的检索(S1300)。图21的(a)以及(b)是完成度低的情况下的画面的例子。具体而言,图21的(a)是检索前的画面的例子,图21的(b)是相似图像检索后的画面的例子。图21的(c)以及图21的(d)是完成度高的情况下的画面的例子。图21的(c)是相似图像检索前的画面的例子,图21的(d)是相似图像检索后的画面的例子。图21的(a)~(d)与图2所示的脚本生成画面201是同样的。
显示控制部107基于图像检索部103在相似图像的检索时使用的完成度,在脚本生成画面201显示与在相似图像的检索时使用的完成度有关的信息。此外,显示控制部107也可以在图8所示的S1300之后,在显示器200d的画面上显示与完成度有关的信息。
图21的(a)以及图21的(c)表示针对输入图像im4检索相似图像之前的状态。如图21的(b)所示,在完成度低的情况下,显示控制部107为了对图像选择区域204d内的选择图像204e进行强调,将选择图像204e以由背景204f包围的方式进行显示。在此的背景204f包括:使用了与图像选择区域204d的周围不同的颜色的显示;使用了在脚本生成画面201内显眼的颜色的显示(例如,基色的颜色或在脚本生成画面201内未被利用的颜色);使用了使包围周围的线的粗细比包围其他区域的线粗的线的显示;使用了使包围周围的线的颜色显眼的颜色的显示;或者进行闪烁的显示。意味着与图21的(a)的显示相比强调了选择图像204e的显示。由此,可显示为在视觉上可知对所选择出的图像增大权重而检索到相似图像这一情况。
如图21的(d)所示,在完成度高的情况下,显示控制部107将图像选择区域204d整体以由背景204g包围的方式进行显示。在此的背景204g包括:使用了与图像选择区域204d的周围不同的颜色的显示;使用了在脚本生成画面201内显眼的颜色的显示(例如,基色的颜色或在脚本生成画面201内未被利用的颜色);使用了使包围周围的线的粗细比包围其他区域的线粗的线的显示;使用了使包围周围的线的颜色显眼的颜色的显示;或者进行闪烁的显示。意味着与图21的(c)的显示相比强调了图像选择区域204d整体的显示。由此,可显示为在视觉上可知对显示于图像选择区域204d的全部图像增大权重而检索到相似图像这一情况。
也就是说,即使是针对相同图像(输入图像im4)的检索,也根据完成度的差异使检索后的画面成为不同的显示,由此可显示为让用户在视觉上可知相似图像检索时的权重。如此,通过根据完成度来改变相似图像检索后的画面显示,用户能够容易地了解对哪个图像进行了加权而检索到相似图像。
另外,图22中示出从相似图像检索前的显示器200d的画面向相似图像检索后的显示器200d的画面的转换的另外一例。图22的(a)以及图22的(b)是完成度低的情况下的画面的例子。具体而言,图22的(a)是检索前的画面的例子,图22的(b)是相似图像检索后的画面的例子。图22的(c)以及(d)是完成度高的情况下的画面的例子。图22的(c)是相似图像检索前的画面的例子,图22的(d)是相似图像检索后的画面的例子。图22(a)~(d)与图2所示的脚本生成画面201是同样的。图22与图21不同之处在于在视觉上显示相似图像检索时的权重的方法。具体而言,在图21中,在图像选择区域204d对图像进行了强调,而在图22中,在图像输入区域202对图像进行了强调。
在图22的(b)中,与图21的(b)的背景204f对应地,将背景204h显示于图像输入区域201。在图22的(d)中,与图21的(d)的背景204g对应地,将背景204i显示于图像输入区域202。
背景204h以及背景204i包括:使用了与图像输入区域202的周围不同的颜色的显示;使用了在脚本生成画面201内显眼的颜色的显示(例如,基色的颜色或在脚本生成画面201内未被利用的颜色);使用了使包围周围的线的粗细比包围其他区域的线粗的线的显示;使用了使包围周围的线的颜色显眼的颜色的显示;或者进行闪烁的显示。
如上所述,在本实施方式的程序生成装置100中,算出基于第1相似度Sp及第2相似度Sw和第1图像集的完成度的综合相似度St,使用该综合相似度St检索相似图像。因此,能够检索对于处理对象图像更适当的相似图像。其结果是,能够生成与处理对象图像更相适应的脚本。
(变形例)
在上述实施方式中,相对于第1图像集的处理对象图像选择一个脚本,将该脚本作为适用脚本进行提示。在本变形例中,将多个脚本选择为候选脚本,将由用户从该多个候选脚本中选择出的一个候选脚本作为适用脚本进行提示。
图16是表示上述实施方式的变形例涉及的程序生成装置的构成的框图。
本变形例涉及的程序生成装置100a具备与上述实施方式的程序生成装置100同样的构成要素,并且还具备候选提示部108。也就是说,本变形例涉及的程序生成装置100a具备接口部101、取得部102、图像检索部103、脚本选择部104、权重算出部105、显示控制部107和候选提示部108。此外,与上述实施方式的程序生成装置100同样地,程序生成装置100a所具备的上述各构成要素中的除接口部101之外的各构成要素被设置于处理电路。
本变形例涉及的程序生成装置100a进行由图8的流程图表示的处理工作,但在进行脚本生成的步骤S1400中,进行与由图15的流程图表示的处理工作不同的处理工作。
图17是表示图8所示的步骤S1400的脚本的生成中的详细处理工作的一例的流程图。
(S1411)
脚本选择部104从图像检索部103取得相似图像列表。
(S1412)
脚本选择部104参照该相似图像列表,按第2相似度Sw的降序来选择第2图像集。也就是说,脚本选择部104在相似图像列表中示出的尚未被选择的至少一个第2图像集的项目ID中,选择与最大的第2相似度Sw关联的项目ID。通过该项目ID的选择,可选择与该项目ID对应的第2图像集。
(S1413)
脚本选择部104在通过步骤S1412选择出的第2图像集所包含的至少一个图像中,选择与第1图像集所包含的处理对象图像最相似的图像。也就是说,脚本选择部104参照相似图像列表,选择与所选择出的第2图像集的项目ID关联的最相似局部图像的图像ID。通过该图像ID的选择,可选择与处理对象图像最相似的图像。
(S1414)
脚本选择部104从数据库DB中选择与通过步骤S1413选择出的图像(即最相似局部图像)的图像ID关联的脚本来作为被选脚本。
(S1415)
脚本选择部104导出被选脚本的脚本向量Sv1。
(S1416)
脚本选择部104确定脚本候选列表中示出的各脚本的脚本向量Sv2。关于脚本候选列表的详细情况,在后面进行叙述。
(S1417)
脚本选择部104判定通过步骤S1415导出的脚本向量Sv1与通过步骤S1416确定出的各脚本向量Sv2之间的距离例如余弦距离是否为阈值以下。在此,若判定为该距离为阈值以下(步骤S1417:是),则脚本选择部104进入步骤S1418的处理。此外,在脚本候选列表中未示出脚本而无法判定该距离是否为阈值以下的情况下,脚本选择部104也进入步骤S1418的处理。另一方面,若判定为该距离超过阈值(步骤S1417:否),则脚本选择部104进入步骤S1419的处理。
(S1418)
脚本选择部104将被选脚本追加到脚本候选列表中。也就是说,将具有与脚本候选列表中示出的各脚本的脚本向量Sv2之间的距离长的脚本向量Sv1的脚本新追加到该脚本候选列表中。换言之,将具有与脚本候选列表中示出的任何脚本向量Sv2都不相似的脚本向量Sv1的脚本追加到该脚本候选列表中。具体而言,将被选脚本的脚本ID追加到脚本候选列表中。
(S1419)
脚本选择部104判定脚本候选列表中示出的脚本的个数是否达到了最大数。最大数是对脚本候选列表预先确定的个数。在此,若判定为脚本的个数达到了最大数(步骤S1419:是),则脚本选择部104进入步骤S1420的处理。另一方面,若判定为脚本的个数小于最大数(步骤S1419:否),则脚本选择部104返回到从步骤S1412起的处理。
(S1420)
候选提示部108从脚本选择部104取得示出最大数的脚本的脚本候选列表。然后,候选提示部108将该脚本候选列表中示出的各脚本经由显示控制部107显示于终端装置200的显示器200d。或者,候选提示部108使显示控制部107依次执行该各脚本。具体而言,候选提示部108经由脚本选择部104从数据库DB中取得具有脚本候选列表中示出的各脚本ID的脚本。然后,候选提示部108使显示控制部107进行该取得的脚本的提示或执行。由此,该脚本被作为候选脚本来提示或执行。
(S1421)
若在步骤S1420中提示或执行了各候选脚本,则用户通过对终端装置200的输入操作来选择某一个候选脚本。候选提示部108例如经由取得部102取得表示该选择出的候选脚本的信息(例如脚本ID)。由此,候选提示部108从脚本候选列表中示出的各脚本中,选择与输入操作相应的一个脚本。
(S1422)
候选提示部108将通过步骤S1421选择出的一个脚本作为适用脚本通知给显示控制部107。即,适用脚本的脚本ID被通知给显示控制部107。显示控制部107将具有该脚本ID的适用脚本显示于终端装置200的显示器200d。也就是说,适用脚本被显示于脚本生成画面201的脚本显示编辑区域203。
在此,使用图18对脚本候选列表进行详细说明。
图18表示向脚本候选列表追加被选脚本的处理。
脚本候选列表例如能够示出个数为最大数Mk以下的脚本。具体而言,脚本候选列表示出脚本的脚本ID以及脚本向量Sv2。在图18所示的例子中,在脚本候选列表中示出了四个脚本各自的脚本ID以及脚本向量Sv2。
候选提示部108例如在图17所示的步骤S1415中,针对由脚本ID“S_z_P5_5”表示的被选脚本,导出脚本向量Sv1(0,2,1,…,1)。脚本向量例如是Q(Q为1以上的整数)维度的向量,脚本向量所包含的各要素的值表示与该要素对应的种类的命令出现的频度、或该命令的tf(Term Frequency,词频)-idf(Inverse Document Frequency,逆文件频率)。命令是使图像变化的命令,该变化的种类例如是图像的移动、旋转、弹跳或行走等。
接着,候选提示部108确定脚本候选列表中示出的各脚本的脚本向量Sv2。例如,候选提示部108确定脚本候选列表中示出的四个脚本向量Sv2(1,3,0,…,1)、(0,0,4,…,2)、(2,0,1,…,3)以及(1,1,2,…,5)。然后,候选提示部108算出脚本向量Sv1(0,2,1,…,1)与四个脚本向量Sv2(1,3,0,…,1)、(0,0,4,…,2)、(2,0,1,…,3)以及(1,1,2,…,5)的各脚本向量之间的距离。接着,候选提示部108若判定为该算出的任一个距离都为阈值以下,则将被选脚本的脚本向量Sv1(0,2,1,…,1)和该被选脚本的脚本ID“S_z_P5_5”追加到脚本候选列表中。此时,脚本向量Sv1被追加为新的脚本向量Sv2。
图19表示脚本候选列表中示出的各候选脚本被执行的状态的一例。
显示控制部107在图17的步骤S1420中,根据来自候选提示部108的指示,依次执行脚本候选列表中示出的各候选脚本。例如,如图19的(a)所示,显示控制部107对在图像输入区域202显示的处理对象图像im12执行第1候选脚本。由此,例如,该处理对象图像im12向右方移动。接着,显示控制部107对该处理对象图像im12执行第2候选脚本。由此,例如如图19的(b)所示,该处理对象图像im12以沿着抛物线的方式移动。接着,显示控制部107对该处理对象图像im12执行第3候选脚本。由此,例如如图19的(c)所示,该处理对象图像im12进行旋转。另外,显示控制部107也可以在正在执行各候选脚本时,将该正在执行的候选脚本显示于脚本显示编辑区域203。
用户通过观看处理对象图像im12变化的情形或者通过观看所显示的候选脚本,从脚本候选列表中示出的各候选脚本中选择某一个候选脚本。例如,显示控制部107在脚本生成画面201显示用于选择各候选脚本的按钮,选择与通过用户的输入操作而选择出的按钮对应的候选脚本。其结果是,候选提示部108经由取得部102从终端装置200取得表示该选择出的候选脚本的信息(例如脚本ID)。由此,该候选脚本被生成为适用于处理对象图像im2的适用脚本。
如此,在本变形例中,通过在图17的步骤S1411中取得相似图像列表,从数据库DB所保存的N个第2图像集中确定分别包含相似图像(即最相似局部图像)的M(N>M≧2)个第2图像集。然后,在步骤S1412~S1420中,在数据库DB中的与M个第2图像集各自所包含的相似图像关联的脚本中,仅将具有互相存在第3阈值以上的差的特征量的多个脚本作为候选脚本进行提示。在此,M个第2图像集各自所包含的相似图像是在该第2图像集内与处理对象图像的相似度最大的图像。接着,在步骤S1421中,通过从所提示的多个候选脚本中选择一个候选脚本,生成适用脚本。
由此,由于将多个脚本作为候选脚本进行提示,因此用户能够从这些多个候选脚本中选择满意的脚本来作为适用脚本。另外,所提示的多个候选脚本的各候选脚本具有互相存在第3阈值以上的差的特征量。也就是说,这些候选脚本彼此并不相似。因此,能够抑制看似相同的候选脚本被提示了好几个,能够增大用户选择脚本的选择项的范围。
另外,在本变形例的图17的步骤S1415中,将数据库DB中的与M个第2图像集各自所包含的相似图像关联的脚本的特征量作为脚本向量进行导出。然后,在分别具有所导出的脚本向量的M个脚本中,仅将互相具有小于第4阈值的余弦距离的脚本向量的多个脚本作为候选脚本进行提示。
由此,能够从M个脚本中适当地排除相似的脚本,能够仅将彼此不相似的脚本作为候选脚本进行提示。
(总结)
图20是表示本公开的一个技术方案涉及的程序生成方法的一例的流程图。
本公开的一个技术方案涉及的程序生成方法是生成用于使所显示的图像变化的计算机程序来作为脚本的方法,包括步骤S11~S14的处理。用户通过使用输入单元(例如,鼠标和/或键盘)选择图像和/或描画图像,由此使该图像显示于显示器200d上。
在步骤S11中,取得包含显示器200d所显示的至少一个图像的第1图像集。在步骤S12中,访问数据库DB,所述数据库DB保存有N(N≧2)个第2图像集和与N个第2图像集各自所包含的至少一个图像的各图像关联的用于使该图像变化的脚本。在步骤S13中,从数据库DB中检索与第1图像集所包含的处理对象图像相似的至少一个相似图像。在步骤S14中,通过从数据库DB中的与所检索出的至少一个相似图像的各相似图像关联的脚本中选择一个脚本,生成适用于处理对象图像的脚本来作为适用脚本。
在此,上述的步骤S13包括步骤S13a以及S13b。在步骤S13a中,针对数据库DB所保存的N个第2图像集的各第2图像集,算出该第2图像集所包含的图像相对于处理对象图像的综合相似度St。此时,基于该第2图像集所包含的图像与处理对象图像之间的第1相似度Sp、该第2图像集与第1图像集之间的第2相似度Sw、以及第1图像集的完成度,算出综合相似度St。在步骤S13b中,基于对数据库DB所保存的N个第2图像集各自所包含的图像算出的综合相似度St,检索至少一个相似图像。
由此,可检索与作为输入图像描画出的处理对象图像相似的至少一个相似图像,从与该至少一个相似图像的各相似图像关联的脚本中选择一个脚本作为适用脚本。其结果是,可自动地生成适用于处理对象图像的脚本。因此,在显示器200d描画了输入图像的用户不需要对预先准备的多种命令进行组合来编制适用于该输入图像的脚本。其结果是,能够简单地生成用于使输入图像变化的脚本。
另外,在本公开的一个技术方案涉及的程序生成方法中,基于第1相似度Sp及第2相似度Sw和第1图像集的完成度,生成第2图像集所包含的图像相对于处理对象图像的综合相似度St。也就是说,可算出基于整体相似度及局部相似度和第1图像集的完成度的综合相似度St,使用该综合相似度St检索相似图像。
例如,在第2图像集包含呈现球的图像且第1图像集的处理对象图像呈现球的情况下,如果仅对这些图像进行比较,则这些图像彼此相似。但是,存在第2图像集的整体例如呈现棒球的场景且第1图像集的整体例如呈现网球或高尔夫的场景的情况。在这样的情况下,不能说第2图像集所包含的呈现球的图像与第1图像集所包含的呈现球的处理对象图像相似。另外,如果第1图像集的完成度低,则第2图像集与第1图像集之间的整体相似度的可靠性低,反过来,如果第1图像集的完成度高,则第2图像集与第1图像集之间的整体相似度的可靠性高。
因此,在本公开的一个技术方案涉及的程序生成方法中,如上所述,可算出基于整体相似度及局部相似度和第1图像集的完成度的综合相似度St,使用该综合相似度St检索相似图像。因此,能够检索对于处理对象图像更适当的相似图像。其结果是,能够生成与处理对象图像更相适应的脚本。
以上,基于实施方式及其变形例对一个或多个技术方案涉及的程序生成装置或程序生成方法进行了说明,但本公开并不限定于该实施方式等。在不脱离本公开的主旨的范围内,在本实施方式及其变形例中实施本领域技术人员能想到的各种变形而得到的方式、组合实施方式和各变形例中的构成要素而构成的方式,也可以包含在本公开的范围内。
例如,在上述实施方式及其变形例中,程序生成装置经由通信网络300使终端装置200的显示器200d显示输入图像并使该输入图像变化,但也可以是终端装置200不与程序生成装置进行通信而使输入图像变化。也就是说,也可以是,终端装置200通过生成脚本并执行该脚本来使输入图像变化。该情况下,例如,终端装置200例如从程序生成装置100下载用于实现程序生成装置100的功能的控制程序。并且,终端装置200通过执行该控制程序,与上述实施方式或其变形例同样地,生成脚本并使输入图像变化。
另外,在上述实施方式及其变形例中,作为计算机程序生成了脚本,但要生成的计算机程序并不限定于特定的程序语言,也可以是任何语言的程序。
此外,在上述实施方式以及各变形例中,各构成要素也可以通过由专用的硬件构成或执行适于各构成要素的软件程序来实现。各构成要素也可以通过CPU或处理器等程序执行部读出硬盘或半导体存储器等记录介质所记录的软件程序并执行来实现。在此,实现上述实施方式的程序生成装置等的软件使计算机执行图8、图10~图13、图15、图17以及图20所示的流程图所包含的各步骤。
另外,在本公开中,单元、设备的全部或一部分或者或者图4或图16所示的框图的功能块的全部或者一部分,也可以通过包含半导体装置、半导体集成电路(IC)或者LSI(large scale integration,大规模集成电路)的一个或多个电子电路来执行。LSI或者IC既可以集成到一个芯片上,也可以组合多个芯片而构成。例如,存储元件以外的功能块也可以集成到一个芯片上。在此,称为LSI或IC,但也可以根据集成的程度而改变称呼,称为***LSI、VLSI(very large scale integration,超大规模集成电路)、或ULSI(ultra largescale integration,特大规模集成电路)。LSI制造后可编程的FPGA(Field ProgrammableGate Array;现场可编程门阵列)或者可以进行LSI内部的接合关系的重构或者LSI内的电路划分的规划(set up)的可重构处理器(reconfigurable processor)也能够以相同的目的来使用。
进而,单元、装置或装置的一部分的全部或一部分功能或操作能够通过软件处理来执行。该情况下,软件被记录于一个或一个以上的ROM、光盘、硬盘驱动器等非瞬时性记录介质,在软件被处理装置(processor)执行时,软件使处理装置(processor)以及***设备执行软件内的特定功能。***或者装置也可以具备记录有软件的一个或一个以上的非瞬时性记录介质、处理装置(processor)以及所需的硬件设备、例如接口。
本公开能够起到可简单地生成用于使图像变化的计算机程序这一效果,例如能够适用于编程的学习***等。
Claims (11)
1.一种程序生成方法,包括:
(a)取得第1图像集,所述第1图像集包含显示器所显示的至少一个图像;
(b)访问记录介质,所述记录介质保存有N个第2图像集和与N个所述第2图像集各自所包含的至少一个图像的各图像关联的用于使该图像变化的计算机程序,其中,N≧2;
(c)从所述记录介质中检索与所述第1图像集所包含的处理对象图像相似的至少一个相似图像;
(d)通过从所述记录介质中的与所检索出的至少一个所述相似图像的各相似图像关联的计算机程序中选择一个计算机程序,生成适用于所述处理对象图像的计算机程序来作为适用程序,
在所述(c)中,
(c1)针对所述记录介质所保存的N个所述第2图像集的各所述第2图像集,基于该第2图像集所包含的图像与所述处理对象图像之间的第1相似度、该第2图像集与所述第1图像集之间的第2相似度、以及所述第1图像集的完成度,算出该第2图像集所包含的图像相对于所述处理对象图像的综合相似度,
(c2)基于对所述记录介质所保存的N个所述第2图像集各自所包含的图像算出的所述综合相似度,检索至少一个所述相似图像。
2.根据权利要求1所述的程序生成方法,
所述第1相似度是一个所述第2图像集所包含的至少一个图像的各图像与所述处理对象图像之间的相似度中的最大的相似度。
3.根据权利要求1或2所述的程序生成方法,
在所述(c2)中,按所述记录介质所保存的N个所述第2图像集的各所述第2图像集,将算出了第1阈值以上的所述综合相似度的图像检索为所述相似图像。
4.根据权利要求1或2所述的程序生成方法,
在所述(c1)中,
通过算出所述第1相似度与第1权重之积和所述第2相似度与第2权重之积的和,算出所述综合相似度,
所述第1权重是所述完成度越高则越小的值,所述第2权重是所述完成度越高则越大的值。
5.根据权利要求4所述的程序生成方法,
所述完成度是从所述第1图像集的描画开始起的经过时间相对于基准时间之比或所述第1图像集所包含的图像的个数相对于基准数之比。
6.根据权利要求4所述的程序生成方法,
在所述完成度为第2阈值以下时,所述第1权重为1,并且,所述第2权重为0,
在所述完成度超过所述第2阈值时,所述第1权重为0,并且,所述第2权重为1。
7.根据权利要求1或2所述的程序生成方法,
在所述(d)中,
从所述记录介质所保存的N个所述第2图像集中,确定分别包含所述相似图像的M个第2图像集,其中,N>M≧1,
从M个所述第2图像集中,选择算出了最大的所述第2相似度的第2图像集,
从所选择出的所述第2图像集中,确定作为与所述处理对象图像的相似度最大的图像的所述相似图像,
通过选择所述记录介质中的与所确定出的所述相似图像关联的计算机程序,生成所述适用程序。
8.根据权利要求1或2所述的程序生成方法,
在所述(d)中,
从所述记录介质所保存的N个所述第2图像集中,确定分别包含所述相似图像的M个第2图像集,其中,N>M≧2,
在所述记录介质中的与M个所述第2图像集各自所包含的所述相似图像关联的计算机程序中,仅将具有互相存在第3阈值以上的差的特征量的多个计算机程序作为候选程序进行提示,
通过从所提示的多个所述候选程序中选择一个所述候选程序,生成所述适用程序,
M个所述第2图像集的各所述第2图像集所包含的所述相似图像是在该第2图像集内与所述处理对象图像的相似度最大的图像。
9.根据权利要求8所述的程序生成方法,
在所述(d)中,
将所述记录介质中的与M个所述第2图像集各自所包含的所述相似图像关联的计算机程序的特征量作为向量进行导出,
在分别具有所导出的向量的M个所述计算机程序中,仅将互相具有小于第4阈值的余弦距离的向量的多个计算机程序作为所述候选程序进行提示。
10.一种程序生成装置,具备:
接口部,其用于访问记录介质,所述记录介质保存有N个第2图像集和与N个所述第2图像集各自所包含的至少一个图像的各图像关联的用于使该图像变化的计算机程序,其中,N≧2;和
处理电路,
所述处理电路,
(a)取得第1图像集,所述第1图像集包含显示器所显示的至少一个图像;
(b)经由所述接口部访问所述记录介质;
(c)从所述记录介质中检索与所述第1图像集所包含的处理对象图像相似的至少一个相似图像;
(d)通过从所述记录介质中的与所检索出的至少一个所述相似图像的各所述相似图像关联的计算机程序中选择一个计算机程序,生成适用于所述处理对象图像的计算机程序来作为适用程序,
在所述(c)中,
(c1)针对所述记录介质所保存的N个所述第2图像集的各所述第2图像集,基于该第2图像集所包含的图像与所述处理对象图像之间的第1相似度、该第2图像集与所述第1图像集之间的第2相似度、以及所述第1图像集的完成度,算出该第2图像集所包含的图像相对于所述处理对象图像的综合相似度,
(c2)基于对所述记录介质所保存的N个所述第2图像集各自所包含的图像算出的所述综合相似度,检索至少一个所述相似图像。
11.一种控制程序,使程序生成装置的计算机执行:
(a)取得第1图像集,所述第1图像集包含显示器所显示的至少一个图像;
(b)访问记录介质,所述记录介质保存有N个第2图像集和与N个所述第2图像集各自所包含的至少一个图像的各图像关联的用于使该图像变化的计算机程序,其中,N≧2;
(c)从所述记录介质中检索与所述第1图像集所包含的处理对象图像相似的至少一个相似图像;
(d)通过从所述记录介质中的与所检索出的至少一个所述相似图像的各所述相似图像关联的计算机程序中选择一个计算机程序,生成适用于所述处理对象图像的计算机程序来作为适用程序,
在所述(c)中,
(c1)针对所述记录介质所保存的N个所述第2图像集的各所述第2图像集,基于该第2图像集所包含的图像与所述处理对象图像之间的第1相似度、该第2图像集与所述第1图像集之间的第2相似度、以及所述第1图像集的完成度,算出该第2图像集所包含的图像相对于所述处理对象图像的综合相似度,
(c2)基于对所述记录介质所保存的N个所述第2图像集各自所包含的图像算出的所述综合相似度,检索至少一个所述相似图像。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662409080P | 2016-10-17 | 2016-10-17 | |
US62/409080 | 2016-10-17 | ||
JP2017-080716 | 2017-04-14 | ||
JP2017080716 | 2017-04-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107957866A true CN107957866A (zh) | 2018-04-24 |
CN107957866B CN107957866B (zh) | 2023-04-28 |
Family
ID=61903885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710784644.8A Active CN107957866B (zh) | 2016-10-17 | 2017-09-04 | 程序生成方法、程序生成装置以及控制程序 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10303446B2 (zh) |
JP (1) | JP6883761B2 (zh) |
CN (1) | CN107957866B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108762749A (zh) * | 2018-05-24 | 2018-11-06 | 福州大学 | 基于代码分析的***对象图自动生成方法 |
CN108958725A (zh) * | 2018-07-06 | 2018-12-07 | 广州慧通编程教育科技有限公司 | 图形化模式编程平台生成方法、装置及计算机设备 |
US20220019831A1 (en) * | 2020-07-17 | 2022-01-20 | Head Technology Gmbh | Characterization of a ball game racket string pattern |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10684830B2 (en) * | 2017-04-03 | 2020-06-16 | Innovation First, Inc. | Mixed mode programming |
US10255526B2 (en) * | 2017-06-09 | 2019-04-09 | Uptake Technologies, Inc. | Computer system and method for classifying temporal patterns of change in images of an area |
EP3640804B1 (en) * | 2018-10-17 | 2020-11-25 | Eyevido GmbH | Screen recording preparation method for evaluating software usability, computing system, computer program and computer-readable storage medium implementing the method |
CN116361283B (zh) * | 2022-12-01 | 2023-09-26 | 北京码牛科技股份有限公司 | 识别海量数据关联关系的方法、***、终端及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070177807A1 (en) * | 2006-01-31 | 2007-08-02 | Kabushiki Kaisha Toshiba | Method and device for collating biometric information |
US20100164877A1 (en) * | 2008-12-30 | 2010-07-01 | Kun Yu | Method, apparatus and computer program product for providing a personalizable user interface |
US20130094038A1 (en) * | 2011-10-12 | 2013-04-18 | Canon Kabushiki Kaisha | Image processing system, image recommendation method, information processing apparatus, and storage medium |
CN104536729A (zh) * | 2014-11-28 | 2015-04-22 | 北京奇虎科技有限公司 | 一种实现在浏览器页面中进行截图的方法和装置 |
CN105320695A (zh) * | 2014-07-31 | 2016-02-10 | 腾讯科技(深圳)有限公司 | 图片处理方法及装置 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10143663A (ja) | 1996-11-13 | 1998-05-29 | Hamamatsu Photonics Kk | 指紋情報処理装置 |
US5974254A (en) * | 1997-06-06 | 1999-10-26 | National Instruments Corporation | Method for detecting differences between graphical programs |
JP4253498B2 (ja) * | 2002-12-09 | 2009-04-15 | オリンパス株式会社 | 画像検索プログラム、そのプログラムを記憶した記憶媒体、画像検索装置及び画像検索方法 |
JP2006190199A (ja) * | 2005-01-07 | 2006-07-20 | Matsushita Electric Ind Co Ltd | Cad進捗管理システム、進捗管理方法、及びそのプログラム |
JP4874701B2 (ja) | 2006-04-18 | 2012-02-15 | 富士フイルム株式会社 | 類似画像検索装置および方法並びにプログラム |
JP4657149B2 (ja) * | 2006-05-26 | 2011-03-23 | 京セラミタ株式会社 | 画像形成装置用ユーザアプリケーション開発支援装置 |
JP5358083B2 (ja) * | 2007-11-01 | 2013-12-04 | 株式会社日立製作所 | 人物画像検索装置及び画像検索装置 |
US8487936B2 (en) * | 2007-05-30 | 2013-07-16 | Kyocera Corporation | Portable electronic device and character display method for the same |
JP4906900B2 (ja) * | 2009-09-24 | 2012-03-28 | ヤフー株式会社 | 画像検索装置、画像検索方法及びプログラム |
JP2011119869A (ja) | 2009-12-01 | 2011-06-16 | Nippon Hoso Kyokai <Nhk> | 番組制作システム及び番組制作プログラム |
JP2011221812A (ja) * | 2010-04-09 | 2011-11-04 | Sony Corp | 情報処理装置及び方法、並びにプログラム |
JP5733565B2 (ja) * | 2011-03-18 | 2015-06-10 | ソニー株式会社 | 画像処理装置および方法、並びにプログラム |
ES2681432T3 (es) * | 2011-08-05 | 2018-09-13 | Rakuten, Inc. | Dispositivo de determinación de color, sistema de determinación de color, procedimiento de determinación de color, medio de grabación de información y programa |
TWI492166B (zh) * | 2012-01-12 | 2015-07-11 | Kofax Inc | 行動影像擷取和處理的系統和方法 |
JP2013257692A (ja) | 2012-06-12 | 2013-12-26 | Sharp Corp | 情報処理装置、情報処理システム、情報処理方法およびプログラム |
DE112012001315T5 (de) * | 2012-12-10 | 2014-11-06 | Mitsubishi Electric Corporation | NC-Programmsuchverfahren, NC-Programmsucheinheit, NC-Programmerzeugungsverfahren und NC-Programmerzeugungseinheit |
JP2014203309A (ja) * | 2013-04-05 | 2014-10-27 | オムロン株式会社 | 画像処理装置、制御方法およびプログラム |
WO2015015699A1 (ja) * | 2013-08-01 | 2015-02-05 | パナソニック株式会社 | 類似症例検索装置、症例データベース、類似症例検索方法、およびプログラム |
JP6211407B2 (ja) * | 2013-12-06 | 2017-10-11 | 株式会社デンソーアイティーラボラトリ | 画像検索システム、画像検索装置、検索サーバ装置、画像検索方法、及び画像検索プログラム |
US10152796B2 (en) * | 2014-02-24 | 2018-12-11 | H. Lee Moffitt Cancer Center And Research Institute, Inc. | Methods and systems for performing segmentation and registration of images using neutrosophic similarity scores |
JP6027065B2 (ja) * | 2014-08-21 | 2016-11-16 | 富士フイルム株式会社 | 類似画像検索装置、類似画像検索装置の作動方法、および類似画像検索プログラム |
CN107847117B (zh) * | 2015-04-30 | 2019-12-17 | 富士胶片株式会社 | 图像处理装置及图像处理方法 |
US10559062B2 (en) * | 2015-10-22 | 2020-02-11 | Korea Institute Of Science And Technology | Method for automatic facial impression transformation, recording medium and device for performing the method |
WO2017119134A1 (ja) * | 2016-01-08 | 2017-07-13 | オリンパス株式会社 | 画像処理装置、画像処理方法およびプログラム |
-
2017
- 2017-08-09 JP JP2017154793A patent/JP6883761B2/ja active Active
- 2017-09-04 CN CN201710784644.8A patent/CN107957866B/zh active Active
- 2017-10-02 US US15/722,076 patent/US10303446B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070177807A1 (en) * | 2006-01-31 | 2007-08-02 | Kabushiki Kaisha Toshiba | Method and device for collating biometric information |
US20100164877A1 (en) * | 2008-12-30 | 2010-07-01 | Kun Yu | Method, apparatus and computer program product for providing a personalizable user interface |
CN102272701A (zh) * | 2008-12-30 | 2011-12-07 | 诺基亚公司 | 用于提供个性化用户接口的方法、装置和计算机程序 |
US20130094038A1 (en) * | 2011-10-12 | 2013-04-18 | Canon Kabushiki Kaisha | Image processing system, image recommendation method, information processing apparatus, and storage medium |
CN105320695A (zh) * | 2014-07-31 | 2016-02-10 | 腾讯科技(深圳)有限公司 | 图片处理方法及装置 |
CN104536729A (zh) * | 2014-11-28 | 2015-04-22 | 北京奇虎科技有限公司 | 一种实现在浏览器页面中进行截图的方法和装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108762749A (zh) * | 2018-05-24 | 2018-11-06 | 福州大学 | 基于代码分析的***对象图自动生成方法 |
CN108762749B (zh) * | 2018-05-24 | 2021-12-21 | 福州大学 | 基于代码分析的***对象图自动生成方法 |
CN108958725A (zh) * | 2018-07-06 | 2018-12-07 | 广州慧通编程教育科技有限公司 | 图形化模式编程平台生成方法、装置及计算机设备 |
US20220019831A1 (en) * | 2020-07-17 | 2022-01-20 | Head Technology Gmbh | Characterization of a ball game racket string pattern |
US11521367B2 (en) * | 2020-07-17 | 2022-12-06 | Head Technology Gmbh | Characterization of a ball game racket string pattern |
Also Published As
Publication number | Publication date |
---|---|
US20180107460A1 (en) | 2018-04-19 |
JP6883761B2 (ja) | 2021-06-09 |
US10303446B2 (en) | 2019-05-28 |
CN107957866B (zh) | 2023-04-28 |
JP2018165974A (ja) | 2018-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107957866A (zh) | 程序生成方法、程序生成装置以及控制程序 | |
CN101138233B (zh) | 用于选择视听节目部分的方法和设备 | |
US20190378331A1 (en) | Virtual world generation engine | |
CN104581380B (zh) | 一种信息处理的方法及移动终端 | |
CN109862432A (zh) | 点击率预测方法和装置 | |
CN109284578A (zh) | 逻辑电路布局布线方法、图形化显示方法及其*** | |
CN109618222A (zh) | 一种拼接视频生成方法、装置、终端设备及存储介质 | |
CN108197114A (zh) | 表格数据的检测方法、装置、存储介质及电子装置 | |
CN105373611B (zh) | 一种文件显示方法及装置 | |
CN103472989B (zh) | 一种壁纸的切换方法及终端 | |
Guo et al. | Spiral generative network for image extrapolation | |
CN106507686A (zh) | 设计不同技术领域的复杂信息物理***的具有其各种软件工件的软件架构的方法和工具 | |
CN104765939B (zh) | 拾取转化dwg格式电气图方法及装置 | |
CN106951571A (zh) | 一种给应用标注标签的方法和装置 | |
CN107369091A (zh) | 产品推荐方法、装置及理财产品推荐方法 | |
CN104572647A (zh) | 标注装置和标注方法 | |
CN108197203A (zh) | 一种门脸头图挑选方法、装置、服务器和存储介质 | |
US10216863B2 (en) | Program generation method, program generation apparatus, and storage medium | |
CN106156351B (zh) | 多媒体资源推荐信息生成方法及装置 | |
CN107517312A (zh) | 一种壁纸切换方法、装置及终端设备 | |
CN107168705A (zh) | 图形界面语义描述***及其建立方法和操作路径生成方法 | |
US11157551B2 (en) | Method and device for image loading | |
CN114307153A (zh) | 游戏资产的处理方法及装置、计算机存储介质、电子设备 | |
Li et al. | 3d compat: Composition of materials on parts of 3d things | |
CN109634610A (zh) | 一种界面标注数据的生成方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |