teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

自分で作成したプログラムを載せました。

2017/08/10 15:13

投稿

r3y2u1
r3y2u1

スコア14

title CHANGED
File without changes
body CHANGED
@@ -27,10 +27,32 @@
27
27
 
28
28
 
29
29
 
30
+ /*****ここからは自分で作成したプログラムです。*****/
31
+ import os
32
+ import glob
33
+ from PIL import Image
34
+ import imagehash
35
+ import shutil
30
36
 
37
+ hash = imagehash.phash(Image.open(r'./testdir/bw.jpg')) #比べる元画像
31
38
 
39
+ print(hash) #確認用
32
40
 
41
+ files = glob.glob('./testdir/*') #比較したい画像が入っているフォルダ
33
42
 
43
+ for f in files:
44
+ (dirname,filename)=os.path.split(f) #ファイル名を取得
45
+ otherhash = imagehash.phash(Image.open(f)) #比較する画像
46
+ flag = hash - otherhash #ハミング距離
47
+ if flag <= 60: #ある値よりflagが小さかったらファイル名とハミング距離を表示
48
+ print(filename)
49
+ print(hash - otherhash)
50
+
51
+ else:
52
+ print('a') #確認用
53
+
54
+
55
+
34
56
  ```
35
57
  エラーメッセージ
36
58
  ```
@@ -40,8 +62,10 @@
40
62
  ここにご自身が実行したソースコードを書いてください
41
63
  ```
42
64
 
43
- ###試したこと
65
+ ###試したこと![![イメージ説明](99f148b59637f84244ceebce37b52745.jpeg)](97c1c8d6a719a05e0d1bdd450cc9a67a.jpeg)
44
66
  課題に対してアプローチしたことを記載してください
45
67
  scipyのscipyのrealtransform.pyの def _dct(x, type, n=None, axis=-1, overwrite_x=False, normalize=None):で離散コサイン変換をしていると思うのですがプログラミング初心者なためあまり理解ができていない状態です。どのような処理を行っているか教えていただきたいです。
46
68
  ###補足情報(言語/FW/ツール等のバージョンなど)
47
- より詳細な情報
69
+ より詳細な情報
70
+ can110さんに作成していただいた確認用コードをイメージに載せた画像で動かして見ました。またその結果も載せてあります。
71
+ 自分で作成したプログラムの元画像のhashは0101000001010000となりました。