Software Engineering and Applications
Vol. 10  No. 04 ( 2021 ), Article ID: 44329 , 7 pages
10.12677/SEA.2021.104055

基于.NET的绘画交流平台的研究与实现

刘城霞,范永锐

北京信息科技大学计算机学院,北京

收稿日期:2021年7月1日;录用日期:2021年7月26日;发布日期:2021年8月4日

摘要

在信息化的网络环境下,为了更直观地获得信息,绘画作为一种记录视觉情报的形式,成为网络交流的一种重要手段。本文主要研究了如何对绘画作品进行搜索以及针对绘画作品的沟通交流。其中绘画作品的搜索即可以通过图片内容求均值哈希算法实现模糊搜索,又可以通过关键字按照图片名称或标签进行搜索。绘画作品的交流主要通过在线创作、上传作品、评价作品、收藏作品等来功能来完成。最后实现了一个基于.NET的绘画交流平台以供测试和使用。

关键词

均值哈希算法,模糊搜索,绘画交流平台

Study and Implementation of the Painting Communication Platform Based on .NET

Chengxia Liu, Yongrui Fan

Computer School, Beijing Information Science and Technology University, Beijing

Received: Jul. 1st, 2021; accepted: Jul. 26th, 2021; published: Aug. 4th, 2021

ABSTRACT

In the information network environment, in order to obtain information more intuitively, painting, as a form of recording visual information, has become an important means of network communication. This paper mainly studies how to search for paintings and how to communicate with their authors. The search of painting works can achieve fuzzy search through the image content average hash algorithm, and can also search by keyword according to the image name or label. The communication of painting works is mainly completed through online creation, uploading works, evaluating works, collecting works and other functions. Finally, a painting communication platform based on .NET is implemented for testing and use.

Keywords:Average Hash Algorithm, Fuzzy Search, Painting Communication Platform

Copyright © 2021 by author(s) and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).

http://creativecommons.org/licenses/by/4.0/

1. 引言

在如今互联网不断融入生活的信息化时代中,文化娱乐产业也同网络结合,衍生出诸如在线直播、网络小说、共享视频等诸多领域。而绘画艺术也在这些新生的行业中扮演了重要角色。经研究表明,人类获得信息的80%以上来自于视觉信息,而绘画作为人类记录视觉信息的手段之一,也自然成为交流的重要手段之一。通常而言,在计算机中一副绘画作品一般在10 MB以内,在光纤、5 G网络开始普及的当下,图片可以快速地在网络上进行传输,并且观赏者和作者之间还可以互动、交流、评价,要做到这些只需要有一个能够作品发布、浏览、评价的平台。

在国内外,已有很多这样的平台,比如Pixiv,Deviantart、Pinterest、IbiSpaint等,它们一般都可以进行标签以及关键字的分类和搜索,可以对作品进行评分、留言评论等,有的还可以观看优秀作品的绘制过程,但如果要更优质的服务大多需要注册付费等。在国内,也出现了站酷、Drawyoo、插画家园、胡来网等可以进行绘画作品交流的网站,另外还有一些诸如微博等综合社交平台也可以进行绘画作品的交流,但这些平台很多更侧重于社交功能。对于更关注作品交流的角度而言,一个为凸显绘画作品本身的平台无疑是很有价值的。本文以绘画作品交流为重点进行平台研究设计,在该平台上,用户可以快速、准确地找到自身感兴趣的作品并进行评价,作者可以方便地将自己的创作作品上传,并可以在线进行修改和加工。

2. 绘画交流平台的整体功能设计

作为绘画交流平台至少应当有两类用户,普通游客和注册用户。注册用户登录后可以搜索作品、上传

Figure 1. Painting communication platform function module diagram

图1. 绘画交流平台功能模块图

作品或打开用户菜单。搜索作品时可以选择输入关键字或是上传本地图片来进行搜索,经处理得到结果后可以从查询结果中打开感兴趣的作品查看,查看作品时将可以进行评分和评论操作,根据情况将可以选择收藏/取消收藏作品、关注/取消关注该作品作者。对于普通游客则只开放搜索作品和浏览作品的功能。注册用户的功能如图1所示。

3. 图像搜索算法及其实现

当用户想要搜索和某图像相似的图像时,可以先计算该图像的指纹,搜索时将会把经计算得到的指纹数值同库中已存在的作品的指纹记录进行比较,若两比较对象间的汉明距离不超过阀值则认为两者为相似作品。

搜索过程的核心就在于如何取得图片的指纹。其中可以采用感知哈希算法 [1] [2] [3]、均值哈希算法 [4] 或者差值哈希算法 [5],以及各种改进算法 [6] - [10] 来提取文件特征并生成可用于比较的指纹,进而进行图片、视频等媒体资源的比较和检索。而均值哈希算法是基于低频信号的哈希算法,它的速度快,易实现,也是本文所采用的算法。

3.1. 高频信号的降频处理

均值哈希算法的基本原理是对图片进行降频处理得到可以作为图片指纹的Hash值。一般,高频信号是指的发生快速变化的信号,比如,在一幅彩色的图像中,物体边缘(亮度或灰度对比周围环境产生了激烈变化)的地方相对于其他部分就是高频。一般来说,图片中的高频成分决定了具体的细节部分,如颜色、亮度、透明度等,而低频部分则决定图像的整体结构。如图2所示。

Figure 2. High frequency information is gradually lost from left to right

图2. 从左到右高频信息逐渐丢失

3.2. 均值哈希算法的过程

a) 将图像缩小到8*8的尺寸,去除图像的高频成分,同时避免在接下来的计算中可能因原图大小尺寸带来的差异。

b) 将缩小后的图像转化为灰度图,至此原图将只保留明暗和结构的基本信息。在实际开发中,可以先将原始图像转化为位图(bmp格式)文件,然后按照从左到右、从上到下的顺序将获取每个像素的颜色,并根据灰度公式Gray = R*0.299 + G*0.587 + B*0.114转化为灰度色并以byte形式保存,最后将会得到一个长度为64的byte数组。

c) 计算当前64个像素的图像的平均灰度值,即将上一步得到的byte数组求和后计算平均值。

d) 将图中每个像素的灰度值同上面得出的平均值进行比较。大于或等于平均值,记为1;小于平均值,记为0。最后将比较得到的0和1组合起来,将会成为一个64位的数据,此数据即可代表被检测图片的指纹记录。若按照字符串的内容以0记为黑、1记为白的规则重新转化为8*8的64像素图像将会得到一张描述了原图像的缩略图的结构的二值黑白图。上面四个步骤的结果如图3所示。

(a) 待处理原图 (b) 去高频后图 (c) 灰度图 (d) 哈希均值后指纹图

Figure 3. Step results graph of average hash algorithm

图3. 均值哈希算法的分步骤结果图

得到了图像的指纹后,进行搜索的时候只需要计算各图像的指纹之间的汉明距离,汉明距离在一定阀值范围的认为是相似图片,否则认为是不同图片。

3.3. 均值哈希算法的实现

有了均值哈希算法的步骤,可以按照四个步骤依次去实现均值哈希算法,流程图如图4所示。

Figure 4. Image search flow chart

图4. 图像搜索流程图

其中转换灰度图即去除图的颜色信息,具体实现代码参看图4右侧代码。比较均值求指纹过程具体实现代码参考图4左侧代码。需要指纹比较时,将会根据两个比较对象之间的差距判定两者是否是类似作品。即统计两个64字符串间的不同位数,其结果将是两者间的汉明距离。最后根据汉明距离是否超过了阀值对两张图片相似与否进行判断。统计上一般认为,两张图片的汉明距离在5以内时可认为二者非常相似;超过10时则认为两者是完全不同的图片。

4. 绘画交流平台的设计及实现

绘画交流平台的浏览者希望能通过平台找到符合期望的作品,也可以给创作者进行作品反馈、评价等。而注册用户希望能有一个平台进行交流,并能在线的进行创作,以及根据反馈修改作品等。本节首先进行数据库的设计,然后设计平台中几个比较重要的功能。

4.1. 数据库部分

在该平台中,无论是用户、作品,还是评价、消息等都会涉及到数据库的存储。通过分析,可认为数据库将由用户信息、作品信息、评论信息、消息提醒这四部分实体组成。具体关系如图5所示。

Figure 5. E-R Diagram of painting communication platform

图5. 绘画交流平台数据库E-R图

其中,用户信息表将用来存储关于网站用户的密码、使用头像、关注用户等信息。作品信息表将存储网站作品的标题、种类、分数等信息。消息信息表将存储消息通知的种类、涉及作品、发送者与接受者等信息。评论信息表将存储评论的发言者、发布时间、内容、涉及作品等信息。

4.2. 按关键字搜索

按关键字搜索是指的按照输入的关键字在绘画作品标题以及标签中寻找,对数据库中的记录进行模糊检索,当检索到于标题或标签中包含关键字的作品后将会把该条记录收录到结果中并根据设置进行排序,最后将排序结果输出到搜索页面上。

4.3. 在线创作功能

创作者可以在平台上传自己的创作作品,并且创作者在上传作品时可以对作品进行描述说明以便标识。创作者还可以直接在平台上进行在线创作,这主要通过画布来实现。但在创作时,当鼠标于画布上操作时应该能够看到绘图的过程,比如,用圆形工具画圆时,将可以预览圆随鼠标操作产生的变化。为此整个画板由两层画布组成:一层画布用来支持画笔动作的预览,它在每次操作后都会清空并重新绘制;另一层则用来保存实际的图像状态,最后要呈现的图片将从该层画布得到。对于第一层画布的操作最后都会保存到第二层画布,且在保存完成后第一层画布将会清除自己的内容。

另外,该功能也可以打开已创作的作品,继续进行编辑、绘图等工作,处理完成后覆盖原作品。

5. 基于.NET的绘画交流平台的测试

由于该绘画交流平台是面向大众的,因此采用了基于.NET的网站的形式实现了该平台。平台主界面布局如图6(a)所示,实际效果如图6(b)所示。

(a) 主界面布局图 (b) 主界面运行图

Figure 6. Main page layout and actual main page of the platform

图6. 平台主界面布局及实际界面图

当选择图像搜索时,选择一个本地图片,先求得图片的指纹,然后和库里的图片进行对比,搜索出相似图片。如图7所示。

(a) 选择待搜索图像 (b) 搜索得到的相似图像

Figure 7. Search of painting works

图7. 绘画作品的搜索

其他功能篇幅原因不再一一赘述。

对比之前相关的网站,本网站的优点就是功能比较集中,让热爱绘画的人能够快速、准确地找到自己需要的画作,并进行相互交流。

6. 总结与展望

本文介绍了一个专为绘画所做的交流平台,目的是针对绘画作品进行交流。平台中对图像的搜索采用了均值哈希算法,这个算法简单、速度快,但稳定性还不够。后续还可以对算法进一步改进,使得搜索功能能够更加快速且稳定。

基金项目

本项目得到北京市自然基金(4204100)资助。

文章引用

刘城霞,范永锐. 基于.NET的绘画交流平台的研究与实现
Study and Implementation of the Painting Communication Platform Based on .NET[J]. 软件工程与应用, 2021, 10(04): 509-515. https://doi.org/10.12677/SEA.2021.104055

参考文献

  1. 1. 牛夏牧, 焦玉华. 感知哈希综述[J]. 电子学报, 2008, 36(7): 1405-1411.

  2. 2. 杜玲, 陈振. 图像篡改检测感知哈希技术综述[J]. 计算机科学与探索, 2019, 13(5): 721-741.

  3. 3. 姚永明, 杨纯, 吴凌燕, 沈烨. 关于对图像哈希算法的研究与应用[J]. 西安文理学院学报(自然科学版), 2016, 19(5): 30-33.

  4. 4. 李恩, 温志盛, 章育林, 朱小玲, 陈海娜. 基于OpenCV与均值哈希算法的人脸相似识别系统[J]. 工业设计, 2016(8): 132-133.

  5. 5. 刘帆, 王颖, 蒋遂平. 基于差分的图像感知哈希算法[J]. 计算机工程与设计, 2021, 42(3): 782-789.

  6. 6. 邹承明, 薛栋, 郭双双, 赵广辉. 一种改进的图像相似度算法[J]. 计算机科学, 2016, 43(6): 72-76.

  7. 7. 徐伟, 刘颖, 朱婷鸽. 基于DCT和SVD的图像哈希水印算法[J]. 计算机工程与设计, 2020, 41(1): 145-149.

  8. 8. 丁旭, 何建忠. 一种由DCT和SURF改进的图像感知哈希算法[J]. 小型微型计算机系统, 2014, 35(11): 2553-2557.

  9. 9. 陈昌红, 彭腾飞, 干宗良. 基于深度哈希算法的极光图像分类与检索方法[J]. 电子与信息学报, 2020, 42(12): 3029-3036.

  10. 10. 邓良, 许庚林, 李梦杰, 陈章进. 基于深度学习与多哈希相似度加权实现快速人脸识别[J]. 计算机科学, 2020, 47(9): 163-168.

期刊菜单