【发布时间】:2019-10-02 05:58:22
【问题描述】:
您好,我正在尝试比较一组图像,我希望在这些图像中生成具有每个单独图像的最大像素的最终图像。假设我有 3 张图像(转换为 10x10 矩阵),其中我知道每个块的像素值> 现在我想逐块比较这些值并生成最终的单独图像,其中每个图像的块值最大。
为此,我更改了图像尺寸(250x250),使得每个块都是 25x25 的正方形
我什至尝试比较两张图片并从两张图片中获取最大像素并显示它们
image = cv2.resize(im,(250,250))
hs,ws,c= image.shape
print(hs, ws,c)
hs = round(h/10)
ws = round(w/10)
resized = cv2.resize(image, (ws,hs), interpolation = cv2.INTER_AREA)
cv2.imshow("Resized image", resized)
cv2.waitKey(0)
cv2.destroyAllWindows()
print(list(resized))
#comparing two images
data = np.maximum.reduce([resized,resized1])
from matplotlib import pyplot as plt
plt.imshow(data, interpolation='nearest')
plt.show()
所以这是两个图像,平铺图像是块#比较两个图像的结果。现在使用这两个图像,我想生成与原始照片类似的最终图像,而不是平铺版本,但最终照片应该具有来自两张原始照片的像素(每张照片的最大值)。我希望它能解决问题
【问题讨论】:
-
对不起,我不听你的问题。请详细说明并显示图表或图像。
-
@fmw42 我有一组图像(比如 6 个),将其分成 10x10 块(每个图像)。我为所有人做了边缘检测。现在,我想从这六幅图像中生成最终图像,使最终图像的像素值是所有这些单独图像中的最大值。将每个图像视为一个层,最终图像必须具有来自最大 6 个图像块的像素。我说得有道理吗?
-
使用 AREA 插值调整图像大小,以便调整图像大小,使较小图像中的每个像素代表较大图像中的 10x10 区域。对每个尺寸的图像执行此操作。然后在每个尺寸缩小的图像之间逐个像素地获得最大值。请参阅我在stackoverflow.com/questions/58178208/… 的帖子。对每个图像执行此操作。然后得到所有 6 个缩小图像的最大值。如果我理解错了,请尝试重新解释或提供图表
-
@fmw42 我已经更新了这个问题。希望它能提供一些清晰
标签: python opencv image-processing computer-vision