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

前端图片主题提取

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

6K150

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

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

    CSS 提取图片主题功能探索

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

    98410

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

    我想实现类似QQ音乐的如下效果 图片 背景色是根据海报的主题生成的,最后经过了高斯模糊。 刚开始考虑用js去实现,js肯定是可以实现但是尝试了几次效果不是很好。...每个阶 都是 0~255,代表亮度。三都是0时,是最暗的黑色调,当全是255时,是最亮的白色调。...通常也被简称为1600万或千万。也称为24位(2的24次方)。 前端获取图片色调 对于来说是无法去操作它的像素点的,通常情况下,要将其生成才能去读取图片数据。...js读取本地图片生成canvas 我先尝试了在文件夹 的html文件中读取文件夹中的图片。...、将要被提取区域的高。

    2.7K20

    js提取域及获取当前时区

    本文链接:https://ligang.blog.csdn.net/article/details/44243909 最近,在做项目时用到了两个比较好的js插件,在这里推荐给大家: 提取域:tldjs.js...获取当前时区:jstz-1.0.4.min.js 一、提取域 tldjs.js可以轻松判断域的存在、提取域、提取子域等 判断域是否存在: tld.tldExists('google.com...'); // return 'true' 提取域: tld.getDomain('fr.google.google'); // return 'google.google' 获取子域: tld.getSubdomain...return '' tld.getSubdomain('moar.foo.google.co.uk'); // returns 'moar.foo' 让用户填写URL时,我们经常允许填写IP,此时提取域需注意...profileName = profileName; // 如果是IP,完成保留IP }else{ profileName = tldjs.getDomain(profileName); // 否则,提取

    4.2K41

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

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

    73130

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

    首先我构思了很多它可能的实现方式: 机器学习对图片进行色彩分析 前端提取图片主色调,做渐变处理 封面背景图做高斯模糊 对于第一种,他不在我的知识范围内,这里就不展开说明了 ?。...但之前也有朋友问过我如何对前端图片主题进行提取的问题,正好之前也做过类似的需求,这里就展开做个说明吧。 我们这里以一个图片网站为例,来展示实际业务中应用较广的场景: ?...在弱网下,图片加载速度较慢,此时在图片完全加载之前,提取图片的主色调,然后填充为背景色。这样用户体验能有较大的提升。 那具体是怎么实现的呢??...最后一步,对上面得到的值对象做一个排序: 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算法提取基本色的可视化。原代码是英文注释,我结合自己理解改成了中文注释。因为代码非原创,所以仅作学习分享。

    62220

    分享一个拟南芥双芯片表达矩阵的提取~

    额,我感觉搜索引擎的重点放在了芯片数据提取上而不是公司名称上。 搜索无果,我寻思这个公司的芯片应用范围应该不是很广泛(相比人类)。...再上网以此为关键词上网搜索一下 熟悉的人,陌生的推文~ 浏览了一下,发现用limma包就能做,我一下就想到了自己之前的推文 《#真芯简单 No2 Step1 Agilent安捷伦双芯片数据提取》https...://mp.weixin.qq.com/s/rYqFN2L7-Zv91Ah_JwOc4w 都是双果然还是存在联系。...=length(exp[1,])/2)) #顺序就是cy3然后cy5 exp[1:4,1:4] pheatmap::pheatmap(exp[1:4,1:8]) 小结:原来limma包不止可以用来提取的...Agilent芯片的原始数据,其他的双芯片也可以提取,并且还可以自行设置过滤的参数~ limma包,牛的!

    20110
    领券