質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.45%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

970閲覧

Python 画像判別をしたい

yositigu

総合スコア17

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2021/10/07 11:26

添付の2つの画像はどちらもペイントで開くと真っ白で同じ画像に見えますが、何らかの差分がある認識です。

Pythonで2つの画像が同一でないことを判定したいのですが、判定する方法がわからず、教えてください。

下記プログラムで差分があるか見てみるが、結果が同じになってしまいました。
画像自体は差分があることはわかっています。

Python

1from PIL import Image 2import PIL 3import numpy as np 4 5# 画像のパス 6gif_path = '3220.png' 7# gif_path = '3228.png' 8img_array = np.asarray(Image.open(gif_path)) 9 10print(np.unique(img_array))

'3228.png'というのは下記画像です。
https://area.uqcom.jp/api2/F_5G_SUB6/13/7267/3228.png

'3220.png'というのは下記画像です。
https://area.uqcom.jp/api2/4G_800/13/7274/3220.png

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2021/10/07 11:39

> 画像自体は差分があることはわかっています。 それをどうやって知りましたか?またどんな差分でしょうか?
jbpb0

2021/10/07 12:56

import cv2 img1 = cv2.imread("3220.png") img2 = cv2.imread("3228.png") print(img1[0:3, 0:3, :]) print(img2[0:3, 0:3, :])
jbpb0

2021/10/07 13:04

「3220.png」は、RGBが全部255の真っ白な普通の画像 「3228.png」は、αが0の完全に透明な画像なので、この画像の値が何であろうと見えず、背景が見えるだけです なので、この画像の値を調べても意味は無いです (上のコメントでは、その意味が無いコードを書きましたが) > どちらもペイントで開くと真っ白で同じ画像に見えます ペイントの背景が真っ白なのでしょうね
guest

回答1

0

以下のようにパレットモードからRGBモードに変換すれば区別できます。

python

1from PIL import Image 2import PIL 3import numpy as np 4 5# 画像のパス 6gif_path = '3220.png' 7# gif_path = '3228.png' 8img_array = np.asarray(Image.open(gif_path).convert('RGB')) 9 10print(np.unique(img_array))

投稿2021/10/07 13:22

ppaul

総合スコア24666

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.45%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問