首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

前端图片主题提取

图片主题图片所占比例较大的页面中,能够配合图片起到很好视觉效果,给人一种和谐、一致的感觉。同时也可用在图像分类,搜索识别等方面。...通常主题提取都是在后端完成的,前端将需要处理的图片以链接或id的形式提供给后端,后端通过运行相应的算法来提取主题后,再返回相应的结果。...由此,我尝试着利用 canvas在前端进行图片主题提取。 一、主题算法 目前比较常用的主题提取算法有:最小差值法、中位切分法、八叉树算法、聚类、色彩建模法等。...我们也可以用来提取图片主题,其原理是是将图像每个像素颜色看作是以R、G、B为坐标轴的一个三维空间中的点,由于三个颜色的取值范围为0~255,所以图像中的颜色都分布在这个颜色立方体内,如下图所示。...所以看来准确性还是可以的,约76%的颜色与cgi提取结果相近,在大于100的中抽查后发现有部分图片两者提取到的主题各有特点,或者平分秋色,比如 ? ?

5.9K150

CSS 提取图片主题功能探索

本文将介绍一种利用 CSS 获取图片主题的小技巧。一起看看~ 背景 起因是微信技术群里有个同学发问,有什么方法能够获取图片的主呢?有一张图片,获取他的主色调: ?...利用获取到的这个颜色值,来实现类似这样的功能 -- 容器中有一张图片,希望背景色可以适配图片的主,像是这样: ? 大家出谋划策,有说利用 Canvas 进行计算的,有推荐专门的开源库的,都挺好。...emm,利用 CSS 确实可以通过一种讨巧的方式,近似的获取到图片的主色调,在对主的要求不是特别精确的情况下,不失为一种办法,下面一起来一探究竟。...利用 filter: blur() 及 transform: sacle() 获取图片主题 这里,我们利用模糊滤镜以及放大效果,可以近似的拿到图片主题。 假定我们有这样一张图片: ?...需要进行一定的调试 模糊滤镜本身是比较消耗性能的,如果一个页面存在多个这种方法获取到的背景,可能对性能会造成一定的影响,实际使用的时候需要进行一定的取舍 最后 好了,本文到此结束,介绍了一种利用 CSS 获取图片主题的小技巧

89210
您找到你想要的搜索结果了吗?
是的
没有找到

🥬 🐶的uniapp学习之🦌 【提取图片主题生成背景 】

我想实现类似QQ音乐的如下效果 图片 背景色是根据海报的主题生成的,最后经过了高斯模糊。 刚开始考虑用js去实现,js肯定是可以实现但是尝试了几次效果不是很好。...这个过程我的理解:大概就是把图片分成 1px * 1px的像素点。计算出每个相同颜色像素点出现的次数。统计出最多的就是主题。得到的是rgb颜色 rgb(255,255,255) 这种。...通常也被简称为1600万或千万。也称为24位(2的24次方)。 前端获取图片色调 对于来说是无法去操作它的像素点的,通常情况下,要将其生成才能去读取图片数据。...js读取本地图片生成canvas 我先尝试了在文件夹 的html文件中读取文件夹中的图片。...、将要被提取区域的高。

2.4K20

产品经理:喂那个前端,你从图片提取主题

首先我构思了很多它可能的实现方式: 机器学习对图片进行色彩分析 前端提取图片主色调,做渐变处理 封面背景图做高斯模糊 对于第一种,他不在我的知识范围内,这里就不展开说明了 。...但之前也有朋友问过我如何对前端图片主题进行提取的问题,正好之前也做过类似的需求,这里就展开做个说明吧。...我们这里以一个图片网站为例,来展示实际业务中应用较广的场景: 在弱网下,图片加载速度较慢,此时在图片完全加载之前,提取图片的主色调,然后填充为背景色。这样用户体验能有较大的提升。...arr.sort((a, b) => { return b.count - a.count; }); console.log("arr", arr); 排序后得到如下结果: 到这里我们就得到了图片值出现次数从大到小的排序数组...,我们来看排在第一位的rgba(206,205,201,255): 再把测试图片贴一下: 肉眼可见的主题已经被提取出来了!

60330

从网易云音乐的背景聊聊如何对图片主题进行提取

首先我构思了很多它可能的实现方式: 机器学习对图片进行色彩分析 前端提取图片主色调,做渐变处理 封面背景图做高斯模糊 对于第一种,他不在我的知识范围内,这里就不展开说明了 ?。...但之前也有朋友问过我如何对前端图片主题进行提取的问题,正好之前也做过类似的需求,这里就展开做个说明吧。 我们这里以一个图片网站为例,来展示实际业务中应用较广的场景: ?...在弱网下,图片加载速度较慢,此时在图片完全加载之前,提取图片的主色调,然后填充为背景色。这样用户体验能有较大的提升。 那具体是怎么实现的呢??...最后一步,对上面得到的值对象做一个排序: for (let prop in colorList) { arr.push({ // 如果只获取rgb,则为`rgb(${prop})`...到这里我们就得到了图片值出现次数从大到小的排序数组,我们来看排在第一位的rgba(206,205,201,255): ? 再把测试图片贴一下: ? 肉眼可见的主题已经被提取出来了!? 反思 ?

1.5K40

【手撕算法】K-means算法实现主题提取

今天结合一个在知乎看到的问题来说: 一张图片上有上百种颜色,如何在一张图上筛选出小于五种的基本色,或者在一张图上进行颜色划分归类?...为了做品牌,我们需要从符合品牌调性的图片提取品牌,但一张图片的颜色有上百种 我们怎么把这些颜色归类划分 提取呢? 有答友已经回答了该问题,我们今天就是C++实现K-means算法来解决这个问题。...K-means算法原理 K-means算法需要我们自己定义K值,如前面知乎的问题,需要提取图片的五种基本色,所以我们就定义K为5,即将图片分为5个簇。...算法实现 主函数:读取图片,定义Kmeans算法的K值以及迭代次数,并对图片进行K-means算法。...稍微改了一下末尾代码实现了K-means算法提取基本色的可视化。原代码是英文注释,我结合自己理解改成了中文注释。因为代码非原创,所以仅作学习分享。

48520

SCSS+WindiCSS实现主题切换

最近在给自己写主页(同时也是博客),我做了一个切换主题的功能。每次进入页面时,会随机选择一套配色,让页面显得灵动一些,就像下面这样: 这是如何实现的呢?...不妨先从自定义颜色入手 WindiCSS 自定义颜色 定义一个固定的颜色 // windi.config.js export default defineConfig({ theme: {...($color)} #{blue($color)}; } /* getColorValue(#2196f3) -> 33 150 243 */ 我预想中的情况是——只要给一个 primary 的基础,...接下来,只需要定义一个数组,把需要的主题放进去,跑个循环即可(从 Material Design 的文档里随便挑了几个养眼的颜色): $themeColorList: ( #2196f3, #...剩下的工作该划掉了 如果希望修改主题,只需要给根元素(html 或 body)增加对应类名即可(例如 theme-1 / theme-2),实现的方式很多,因为我使用了 Nuxt.js,下面是我的解决方案

1.3K20

OpenCV K-means 实现主提取

本节内容: OpenCV 中的 cv.kmeans 函数及参数介绍 实现一个图片的主提取,并按照比例大小生成彩色卡片 OpenCV kmeans 算法 1retval, bestLabels, centers...image.shape 7print((image.shape)) 8 9# 构建图像数据 10# K-means 只能处理向量形状的数据,不能处理矩阵型数据, 11# 这里 reshape(-1, 3) 代表图片的所有像素点...center) # 因为像素值是 0-255 故对其聚类中心进行强制类型转换 30 31x_offset = 0 32for c in np.argsort(clusters)[::-1]: # 这里对主按比例从大到小排序...cv.rectangle(card, (x_offset, 0), (x_offset + dx, 50), 38 (int(b), int(g), int(r)), -1) # 每个主画出一个矩形...39 x_offset += dx # 偏置就是每个主的宽度 40 41cv.imshow("color table", card) 42cv.waitKey(0) 43cv.destroyAllWindows

2.9K20

主题切换+国际化 三连

就拿主题切换+国际化开刀吧。本文会说一下provoder、BLoC和redux的三种实现主题切换+国际化的实现方式,所以称三连击。 ?...---- 一.provoder实现主题切换和国际化:provider: ^03.1.0+1 1-主题切换 点击颜色切换按钮,进行全局主题切换。 ?...fontSize: 18, fontWeight: FontWeight.bold), ... ---- 所以只要有需要颜色的地方,都可以使用这种方法从状态中拿主题...这里只用两个状态来说,也就是主题和国际化。 ---- 1-redux三大件 点击颜色切换按钮,进行全局主题切换。...---- 1.主题的BloC 状态类 可以根据自己的爱好写出自己的风格。下面是我比较喜欢的风格。将状态量放在抽象类中,其他状态去继承他来实现状态的分化。只要你想,也可以加一些常用状态。

3.3K20

技巧 | 从Element项目中探索任意主题设定

然后再通过js,将css设置到head中的style上,完成主题切换。 不过需要注意:返回的css文件,不仅仅是简单的将颜色替换为我们刚才选择的那个主题,还需要进行一些“颜色的计算”。...这个确实不好找,element-ui后端将主题简单的规则,我们也无从得知。 然而,经过我一番尝试,发现公式很简单:将任意的主题和“不同程度的白色”进行“混合”得到的。...先将模板主题文件下载下来。 然后复制到js中。...,从选择主题,到生成对应主题的css文件的流程,此后,当切换任意颜色时。...那么我们自定义的组件是如何拿到我们设置的主题,以及通过主题计算出来的相关颜色呢? 可以使用css变量。 三、使用css变量 关于什么是css变量,以及怎么用。

1.2K10

react+antd 使用脚手架动态修改主题

最近做了一个需求,后台管理系统添加一个可以动态修改ant-design主题。查询了大多数的文章,发现基本都是抄来抄去,而且文章记录的也一点也不详细。...刚刚把这个功能做完了,顺便记录一下如何去修改主题。主要使用到的包是antd-theme-generator。使用起来非常方便,而且在热更新时,不会出现 js 内存爆栈现象。...主题思想:主要使用 antd 的 less 变量,修改全局的 less 变量,完成样式的更新。以下是 less 等版本信息。...新增src/assets/theme/var.less文件,在里面定义 less 全局变量达到控制主题。...现在可以在 react 组件里使用window.less.modifyVars方法来修改主题变量了! 如何在组件里的 less 文件使用 less 变量。

2.1K00
领券