查找图像每个部分的平均颜色

尼皮

我正在寻找使用 Python 实现以下目标的最佳方法:

  1. 导入图像。
  2. 添加一个包含 n 个部分的网格(以下示例中显示了 4 个部分)。
  3. 对于每个部分,找到主色。

天空

期望输出

输出一个数组、列表、字典或类似的东西来捕捉这些主色值。

甚至可能是显示颜色的 Matplotlib 图(如像素艺术)。

我尝试了什么?

可以使用图像切片器对图像进行切片:

import image_slicer
image_slicer.slice('image_so_grid.png', 4)

然后,我可能会使用类似这样得到的平均颜色但是我相信有更好的方法来做到这一点。

使用 Python 执行此操作的最佳方法是什么?

罗宾·阿尔瓦伦加

这适用于 4 个部分,但您需要弄清楚如何使其适用于 'n' 个部分:

import cv2

img = cv2.imread('image.png')

def fourSectionAvgColor(image):
    rows, cols, ch = image.shape
    colsMid = int(cols/2)
    rowsMid = int(rows/2)

    numSections = 4
    section0 = image[0:rowsMid, 0:colsMid]
    section1 = image[0:rowsMid, colsMid:cols]
    section2 = image[rowsMid: rows, 0:colsMid]
    section3 = image[rowsMid:rows, colsMid:cols]
    sectionsList = [section0, section1, section2, section3]

    sectionAvgColorList = []
    for i in sectionsList:
        pixelSum = 0
        yRows, xCols, chs = i.shape
        pixelCount = yRows*xCols
        totRed = 0
        totBlue = 0
        totGreen = 0
        for x in range(xCols):
            for y in range(yRows):
                bgr = i[y,x]
                b = bgr[0]
                g = bgr[1]
                r = bgr[2]
                totBlue = totBlue+b
                totGreen = totGreen+g
                totRed = totRed+r

        avgBlue = int(totBlue/pixelCount)
        avgGreen = int(totGreen/pixelCount)
        avgRed = int(totRed/pixelCount)
        avgPixel = (avgBlue, avgGreen, avgRed)
        sectionAvgColorList.append(avgPixel)
    return sectionAvgColorList

print(fourSectionAvgColor(img))
cv2.waitKey(0)
cv2.destroyAllWindows()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用ImageMagick查找图像的平均颜色?

来自分类Dev

查找图像中每个像素最接近的RGB颜色

来自分类Dev

ImageMagick-查找图像中三角形的平均颜色

来自分类Dev

分割图像并比较每个部分

来自分类Dev

php / png / jpeg中的平均图像颜色

来自分类Dev

计算特定区域的平均图像颜色

来自分类Dev

给定DIV后面图像的平均颜色,

来自分类Dev

基于平均图像颜色的 CSS 阴影

来自分类Dev

无法循环获取平均图像颜色

来自分类Dev

SQL查找每个地区每个学生交付的平均公斤数

来自分类Dev

所选区域的图像的平均颜色给出错误的图像

来自分类Dev

重击:在图像的特定部分填充颜色

来自分类Dev

如何从图像画布中裁剪颜色部分?

来自分类Dev

更改图像 Javascript/HTML 部分的颜色

来自分类Dev

如何使用卷积查找图像的相同部分

来自分类Dev

如何使用卷积查找图像的相同部分

来自分类Dev

查找地图中每个键的平均对象字段

来自分类Dev

查找数组中每个数组的平均值

来自分类Dev

查找每个用户发送的平均电子邮件

来自分类Dev

查找地图中每个键的平均对象字段

来自分类Dev

查找列表中每个子列表的平均值

来自分类Dev

在每个组中查找平均值

来自分类Dev

平均四个像素的图像会产生闪烁的颜色

来自分类Dev

Python-计算图像平均颜色的最快方法

来自分类Dev

如何使用OpenCV从图像中删除局部平均颜色

来自分类Dev

如何找出图像蒙版区域的平均颜色(rgb)

来自分类Dev

计算每个图像块的平均值-Python

来自分类Dev

如何更改此折线图中每个部分的颜色?

来自分类Dev

如何找到图像给定部分的平均值

Related 相关文章

热门标签

归档