問題

ここで画像の説明を入力してください こんにちは私は個々の画像から最終的な画像を生成したい画像のセットを比較しようとしています。各ブロックのピクセル値を知っている3つの画像(10x10行列に変換)があるとします。今私はこれらの値をブロックごとに比較し、各画像から最大ブロック値を持つ最終的な別個の画像を生成したいと思います。

そうするために、各ブロックが25x25の正方形であるように画像の寸法(250x250)を変更しました

私は2つの画像を比較し、両方の画像から最大ピクセルを取り出して表示しようとしました

 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()
 

original image Processed image original image 1

したがって、これらは2つの画像であり、タイル画像は2つの画像を比較するブロック#の結果です。これらの2つの画像を使用して、タイル版ではなく元の写真に似た最終的な画像を作成したいのですが、最終的な写真は元の写真(それぞれから最大)の両方からのピクセルを持つ必要があります。私はそれが質問をクリアすることを願っています

  ベストアンサー

視覚化のために、のサイズ変更部分全体をスキップし、以前のを取得し、(250 x 250)イメージのサイズを変更しました。

私のアプローチは次のとおりです。サイズ変更されたすべての画像を(width x height x numberOfChannels x numberOfImages)のNumPy配列に格納し、NumPyの max axis=3に沿って使用すると、すべての画像に最大BGR値(または必要に応じてグレースケール)を持つ最終画像(width x height x numberOfChannels)が得られます。

ここにいくつかの模範的なコードがあります:

 import cv2
import numpy as np

# Set up empty images array
width, height, nChannels, nImages = (250, 250, 3, 3)
images = np.zeros((width, height, nChannels, nImages), np.uint8)

# Read and resize exemplary input images
images[:, :, :, 0] = cv2.resize(cv2.imread('WeQow.png'), (width, height))
images[:, :, :, 1] = cv2.resize(cv2.imread('gIHOd.png'), (width, height))
images[:, :, :, 2] = cv2.resize(cv2.imread('lAdfO.jpg'), (width, height))

# Generate maximum image along last axis, i.e. the images.
# For each BGR value you get the maximum over all images.
image = images.max(axis=3)

# Show images
cv2.imshow('image0', images[:, :, :, 0])
cv2.imshow('image1', images[:, :, :, 1])
cv2.imshow('image2', images[:, :, :, 2])
cv2.imshow('image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
 

これらは3つの入力画像です。

Input 1

Input 2

Input 3

最終的な出力画像は次のようになります。

Output

それが役立つことを願っています!

  同じタグがついた質問を見る

pythonopencvimage-processingcomputer-vision