分割图像并比较每个部分

2024-06-03 12:24:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图将一幅图像分成n个相等的部分,然后比较每个块,以定义插图中的“平衡”。 例如,在下面显示的图像中,与顶部相比,底部往往与顶部相似。在

enter image description here

我写了这篇文章,但是我被卡住了,不知道该怎么办,有什么帮助吗?在

import math
import io
import numpy as np
from sklearn.cluster import KMeans
from PIL import Image
import image_slicer
from scipy import sum, average


tiles = image_slicer.slice('img/eq1.jpg', 2, save=False)
vectors = []
for tile in tiles:
    image = tile.image
    image = image.convert('RGB')

    colors = np.array(image).tolist()
    colors = [average(x, -1) for x in colors][0]

    vectors.append(colors)

#lista = np.array(tile.image)
#print np.array(tile.image)   

    image.show()

from sklearn.metrics.pairwise import cosine_similarity

print cosine_similarity(vectors)

Tags: infrom图像imageimportfornpsklearn
1条回答
网友
1楼 · 发布于 2024-06-03 12:24:36

好吧,我解决了这个问题写这个:

import math
import io
import numpy as np
from sklearn.cluster import KMeans
from PIL import Image
import image_slicer
from scipy import sum, average
from scipy.linalg import norm
import sklearn.metrics.pairwise


tiles = image_slicer.slice('img/ad.jpg', 4, save=False)
vectors = []
for tile in tiles:
    image = tile.image
    image = image.convert('RGB')

    colors = np.array(image).tolist()
    colors = [average(x, -1) for x in colors][0]

    vectors.append(colors)

#lista = np.array(tile.image)
#print np.array(tile.image)   

#    image.show()

from sklearn.metrics.pairwise import cosine_similarity

print np.around(sklearn.metrics.pairwise.manhattan_distances(vectors))

相关问题 更多 >