图片处理方法及装置、计算机可读存储介质与流程

文档序号:14736285发布日期:2018-06-19 20:33阅读:186来源:国知局
图片处理方法及装置、计算机可读存储介质与流程

本发明涉及计算机技术领域,特别涉及一种图片处理方法及装置、计算机可读存储介质。



背景技术:

随着网络技术的发展,互联网技术也在迅速地发展。人们通过互联网可以随时随地与他人联系,也可以通过互联网买到想要买的东西。互联网技术越来越多的改变了人们的生活方式。

在互联网化的社会大环境下,越来越多的摄影爱好者期待通过互联网将自己的优秀摄影作品与他人进行分享。同时,也希望能通过互联网欣赏到其他人的摄影作品。这种欣赏通常只限于在互联网上观看图片,图片作品作为拍摄者或者制作者的私有财产,在未经授权的情况下通常不允许其他人下载甚至使用。

为了保护图片制作者的合法权益,防止在未经授权的情况下对他人在网络上上传的照片进行下载。现有的一种解决办法是给图片追加水印。追加水印有非常明显的缺陷,一张好的作品往往对光线,角度等有严格的要求,如果硬生生的在图片上追加一个很突兀的水印,会严重影响图片的美观,从而达不到将图片上传网络进行观看分享的目的;如果水印设置过小或半透明,又很容易被现有的PS软件擦除,起不到保护的作用。

现有的另一种解决办法是给图片上层追加透明图片遮罩,使得用户下载时只能下载上层的透明图片遮罩,无法直接下载图片本身。但是这种方法本身存在一些技术漏洞,有经验的用户利用该技术漏洞依靠现有的部分浏览器可以绕开透明图片遮罩层,直接下载下层图片。所以说,这种解决办法对这类用户来说形同虚设。

基于此,现有的图片处理技术,难以满足图片制作者或者提供者在互联网上分享图片的同时,对图片的下载进行保护的需求。



技术实现要素:

基于此,本发明的目的在于针对上述技术的不足,提供一种图片处理方法及装置、计算机可读存储介质,通过将用户上传的原始图片分割成一张张的小图片,在显示时进行图片拼接重组,形成带有拼接痕迹的重组图片进行显示,在不影响整个图片显示效果的同时,可有效的避免原始图片被一次性整张下载。此外,在图片重组时进行拼接留痕设计,使得重组后的图片上保留有拼接痕迹,还可以避免截屏软件的抓取。

本发明提供的图片处理方法,包括以下步骤:

对用户上传的原始图片进行等比例分割,形成多个分割图片并进行存储;

响应于用户端的图片显示请求,根据所请求的原始图片的信息,对存储的原始图片的所有分割图片进行拼接重组,并保留拼接痕迹,形成带有拼接痕迹的重组图片进行显示。

作为一种可实施方式,所述对用户上传的原始图片进行等比例分割,形成多个分割图片并进行存储,包括以下步骤:

根据用户上传的原始图片,生成原始图片的ID;

计算原始图片的尺寸;

根据预设的图片分割尺寸、原始图片的尺寸,对原始图片进行等比例分割,得到多个分割图片,并记录分割图片的数量;

根据原始图片的ID对得到的分割图片进行存储。

作为一种可实施方式,所述根据原始图片的ID对得到的分割图片进行存储,包括以下步骤:

按照原始图片的ID划分存储目录,将同一原始图片分割得到的所有的分割图片存储在同一存储目录下,得到分割图片的存储地址。

作为一种可实施方式,所述响应于用户端的图片显示请求,根据所请求的原始图片的信息,对存储的原始图片的所有分割图片进行拼接重组,并保留拼接痕迹,形成带有拼接痕迹的重组图片进行显示,包括以下步骤:

根据用户端所请求的原始图片的ID,查询对应的原始图片的尺寸、分割图片的数量、以及分割图片的存储地址,并根据分割图片的存储地址获取该原始图片的所有的分割图片;

根据原始图片的尺寸和分割图片的数量,对获取的分割图片进行拼接重组;

对重组后的图片元素追加轮廓线条,形成带有拼接痕迹的重组图片并进行显示。

作为一种可实施方式,本发明的图片处理方法,还包括以下步骤:

在形成重组图片之后,利用md5算法分别计算原始图片的身份编码和重组图片的身份编码;

根据计算得到的原始图片的身份编码和重组图片的身份编码,对重组图片的真实性进行识别。

相应地,本发明还提供一种图片处理装置,包括分割模块和重组模块;

所述分割模块用于对用户上传的原始图片进行等比例分割,形成多个分割图片并进行存储;

所述重组模块用于响应于用户端的图片显示请求,根据所请求的原始图片的信息,对存储的原始图片的所有分割图片进行拼接重组,并保留拼接痕迹,形成带有拼接痕迹的重组图片进行显示。

作为一种可实施方式,所述分割模块包括身份标识生成单元、图片尺寸计算单元、图片分割单元以及存储单元;

所述身份标识生成单元,用于根据用户上传的原始图片,生成原始图片的ID;

所述图片尺寸计算单元,用于计算原始图片的尺寸;

所述图片分割单元,用于根据预设的图片分割尺寸、原始图片的尺寸,对原始图片进行等比例分割,得到多个分割图片,并记录分割图片的数量;

所述存储单元,用于根据原始图片的ID对得到的分割图片进行存储。

作为一种可实施方式,所述存储单元,按照原始图片的ID划分存储目录,将同一原始图片分割得到的所有的分割图片存储在同一存储目录下,得到分割图片的存储地址。

作为一种可实施方式,所述重组模块包括获取单元、图片重组单元以及显示单元;

所述获取单元,用于根据用户端所请求的原始图片的ID,查询对应的原始图片的尺寸、分割图片的数量、以及分割图片的存储地址,并根据分割图片的存储地址获取该原始图片的所有的分割图片;

所述图片重组单元,用于根据原始图片的尺寸和分割图片的数量,对获取的分割图片进行拼接重组;

所述显示单元,用于对重组后的图片元素追加轮廓线条,形成带有拼接痕迹的重组图片并进行显示。

作为一种可实施方式,所述图片处理装置还包括防篡改模块,所述防篡改模块用于利用md5算法分别计算原始图片的身份编码和重组图片的身份编码,根据计算得到的原始图片的身份编码和重组图片的身份编码,对重组图片的真实性进行识别。

本发明还提供一种图片处理装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一项所述方法的步骤。

本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述方法的步骤。

本发明相比于现有技术的有益效果在于:

本发明提供的图片处理方法及装置、计算机可读存储介质,通过将用户上传的原始图片分割成一张张的小图片,形成分割图片,然后在显示时进行图片拼接重组,形成带有拼接痕迹的重组图片进行显示,在不影响整个图片显示效果的同时,可有效的避免原始图片被一次性整张下载。此外,在图片重组时进行拼接留痕设计,使得重组后的图片上保留有拼接痕迹,还可以避免截屏软件的抓取。

附图说明

图1为本发明实施例一提供的图片处理方法的流程示意图;

图2为本发明实施例一提供的图片处理方法处理后的显示图片的示例图;

图3为本发明实施例一提供的图片处理方法中的图片分割的时序图;

图4为本发明实施例一提供的图片处理方法中的图片重组的时序图;

图5为本发明实施例二提供的图片处理装置的结构示意图。

具体实施方式

以下结合附图,对本发明上述的和另外的技术特征和优点进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的部分实施例,而不是全部实施例。

参见图1,本发明实施例一提供的图片处理方法,包括以下步骤:

S100、对用户上传的原始图片进行等比例分割,形成多个分割图片并进行存储。

该步骤可以利用现有的图像分割算法,对用户分享在网络上的原始图片进行等比例分割,形成一张张的小图片,即分割图片。本发明中分割后的小图片是相对于分割前的原始图片而言尺寸较小,并没有具体的尺寸限制。形成的分割图片的尺寸大小由系统后端默认设定,用户可根据需求进行调整。

S200、响应于用户端的图片显示请求,根据所请求的原始图片的信息,对存储的原始图片的所有分割图片进行拼接重组,并保留拼接痕迹,形成带有拼接痕迹的重组图片进行显示。

该步骤是在页面上显示图片的时候,根据原始图片的信息,利用图片重组技术,将分割后得到的分割图片一张张的拼接起来。拼接图片时,可以利用CSS(Cascading Style Sheets,层叠样式表)和JS(JavaScript,基于浏览器的脚本语言)技术在拼接位置保留痕迹。这样,其他用户浏览到的图片就是一张大的带有拼接痕迹的重组图片,类似于追加了网格遮罩的效果,但是不影响整体的图片显示,如图2所示。若用户下载该重组图片,一次只能下载该重组图片的一个局部部分,浏览器自动下载到的也是打散的很多的小图片。因此,只要在不影响整体的图片显示效果的前提下,分割图片尺寸足够小,或者分割图片达到一定数量,即可有效防止用户将分割图片自行拼接。

上述实施例通过将用户上传的原始图片分割成一张张的小图片,形成分割图片,然后在显示时进行图片拼接重组,形成带有拼接痕迹的重组图片进行显示,在不影响整个图片显示效果的同时,可有效的避免原始图片被一次性整张下载。此外,在图片重组时进行拼接留痕设计,使得重组后的图片上保留有拼接痕迹,还可以避免截屏软件的抓取。

具体地,步骤S100中,对用户上传的原始图片进行等比例分割,形成多个分割图片并进行存储,可通过以下步骤实现:

S110、根据用户上传的原始图片,生成原始图片的ID(Identification,身份标识);

S120、计算原始图片的尺寸;

S130、根据预设的图片分割尺寸、原始图片的尺寸,对原始图片进行等比例分割,得到多个分割图片,并记录分割图片的数量;

S140、根据原始图片的ID对得到的分割图片进行存储。

步骤S140中,对分割图片进行存储时可以按照原始图片的ID划分存储目录,将同一原始图片分割得到的所有的分割图片存储在同一存储目录下,这样该原始图片的所有的分割图片的存储地址的前缀相同,方便后续图片重组时查找获取。

上述步骤S100中,还可以将原始图片转换为字节数据,再使用java提供的md5算法生成图片的身份编码,该编码为图片的唯一标识,可以用于后期验证图片的身份时使用,防止图片数据被篡改。

上述图片分割过程,即步骤S110至步骤S140可以在客户端实现,也可以在服务器端实现,也可以部分在客户端实现,部分在服务器端实现。

作为一种可实施方式,如图3所示,图片分割步骤的实现过程如下:

第一步:用户上传自己的摄影作品(即原始图片)到互联网网站上。

第二步:网站后台生成原始图片的ID。

第三步:网站后台计算原始图片的宽和高,分别记作w和h。

第四步:网站后台对原始图片进行等比例分割,将原始图片打散成一张张分割图片;每张分割图片按x_y的方式命名,分割尺寸记作dw*dh,由系统后端默认设定,用户可跟进需求进行调整。以原始图像本身为参考坐标,x是当前分割图片所处的原始图像的x轴相对位置,y是当前分割图片所处的原始图像的的y轴的相对位置。

第五步:网站后台记录原始图片宽度的分块个数m,m=w/dw,其中dw为分割图像宽度,记录原始图片高度的分块个数n,n=h/dh,其中dh为分割图片高度。

第六步:网站后台将分割后的分割图片上传图片服务器保存。图片服务器按照原始图片的ID划分存储目录,这样保证了该原始图片所有分割图片的url(Uniform Resoure Locator,统一资源定位器)前缀是相同的,方便后续图片重组时查找获取分割图片。

第七步:图片服务器返回分割图片的url地址。

具体地,步骤S200可通过以下步骤实现:

S210、根据用户端所请求的原始图片的ID,查询对应的原始图片的尺寸、分割图片的数量、以及分割图片的存储地址,并根据分割图片的存储地址获取该原始图片的所有的分割图片;

S220、根据原始图片的尺寸和分割图片的数量,对获取的分割图片进行拼接重组;

S230、对重组后的图片元素追加轮廓线条,形成带有拼接痕迹的重组图片并进行显示。

上述图片重组过程,即步骤S210至步骤S230可以在客户端实现,也可以在服务器端实现,也可以部分在客户端实现,部分在服务器端实现。

作为一种可实施方式,如图4所示,图片重组步骤的实现过程如下:

第一步:用户通过浏览器请求浏览图片;

第二步:浏览器将用户请求浏览的原始图片的ID传递给服务器;

第三步:服务器根据接收到的原始图片的ID,查询原始图片的w、h、m、n的信息和分割图片的url前缀,w、h、m、n的含义见上文介绍。

第四步:服务器绘制重组图片并响应给前端浏览器。

具体地,作为一种可实施方式,绘制重组图片的实现过程如下:

首先绘制一个外层大div(Division,层叠样式表中的定位技术),定义id=bigpic,宽=w,高=h。然后在此div内部双重循环绘制分割图片。第一重循环从1到m输出,第二重循环从1到n输出,最终输出的分割图片矩阵如下所示:

1_1 1_2 1_3 … 1_m

2_1 2_2 2_3 … 2_m

3_1 3_2 3_3 … 3_m

n_1 n_2 n_3 … n_m

第五步:当浏览器页面加载完成后自动执行js脚本(此处利用了浏览器的onload(加载)事件)。脚本首先定位id=bigpic的div块,然后再查找该div内部的图片元素,并循环给所有分割图片元素追加外围轮廓线条。

第六步:浏览器端完整展示一张重组图片,如图2所示。

此外,在形成重组图片之后,可以利用md5算法分别计算原始图片的身份编码和重组图片的身份编码,若计算得到的原始图片的身份编码和重组图片的身份编码不一致,则说明重组图片为盗版图片。针对这种情况,可以通过对重组图片添加盗版标志后进行显示以提醒用户当前浏览的图片为盗版图片。也可以将对比结果反馈至相关网络管理平台。

例如,用户通过一定的技术手段,将一部分分割图片拼成了一张完整的大图,因为图片被修改过了,图片的二进制字节数据就发生了改变。所以,通过java提供的md5算法重新计算获得的图片身份编码也就发生了改变,即可认为是盗版图片。

基于同一发明构思,本发明实施例二还提供了一种图片处理装置,该装置与前述方法解决问题的原理相同,具体实现方式可参照上述方法实现,重复之处不再冗述。

参见图5,本发明实施例二提供的图片处理装置,包括分割模块100和重组模块200。分割模块100用于对用户上传的原始图片进行等比例分割,形成多个分割图片并进行存储。重组模块200用于响应于用户端的图片显示请求,根据所请求的原始图片的信息,对存储的原始图片的所有分割图片进行拼接重组,并保留拼接痕迹,形成带有拼接痕迹的重组图片进行显示。

具体地,所述分割模块100包括身份标识生成单元110、图片尺寸计算单元120、图片分割单元130以及存储单元140。所述身份标识生成单元110用于根据用户上传的原始图片,生成原始图片的ID;所述图片尺寸计算单元120用于计算原始图片的尺寸;所述图片分割单元130用于根据预设的图片分割尺寸、原始图片的尺寸,对原始图片进行等比例分割,得到多个分割图片,并记录分割图片的数量;所述存储单元140用于根据原始图片的ID对得到的分割图片进行存储。

所述重组模块200包括获取单元210、图片重组单元220以及显示单元230。所述获取单元210用于根据用户端所请求的原始图片的ID,查询对应的原始图片的尺寸、分割图片的数量、以及分割图片的存储地址,并根据分割图片的存储地址获取该原始图片的所有的分割图片;所述图片重组单元220用于根据原始图片的尺寸和分割图片的数量,对获取的分割图片进行拼接重组;所述显示单元230用于对重组后的图片元素追加轮廓线条,形成带有拼接痕迹的重组图片并进行显示。

上述实施例二提供的图片处理装置可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述图片处理装置可包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序。所述处理器执行所述计算机程序时,实现上述实施例一提供的图片处理方法实施例中的步骤。或者,所述处理器执行所述计算机程序时实现上述图片处理装置实施例中各模块/单元的功能。

本发明提供的图片处理装置中的处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述图片处理装置的控制中心,利用各种接口和线路连接图片处理装置的各个部分。

本发明提供的图片处理装置中的存储器可用于存储计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述图片处理装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

进一步地,本发明提供的图片处理装置,不仅限于处理器和存储器。本领域技术人员可以理解,所述示意图仅仅是图片处理装置的示例,并不构成对图片处理装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述图片处理装置还可以包括输入输出设备、网络接入设备、总线等。

本发明提供的图片处理装置,如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例一的方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1