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

質問編集履歴

3

インデントを修正しました。

2018/12/08 15:57

投稿

terertail
terertail

スコア12

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,5 @@
1
1
  ###ソースコード
2
- '''
2
+ ```
3
3
  #import the necessary packages
4
4
  from skimage.measure import structural_similarity as ssim
5
5
  import matplotlib.pyplot as plt
@@ -71,7 +71,7 @@
71
71
  compare_images(original, original, "Original vs. Original")
72
72
  compare_images(original, contrast, "Original vs. Contrast")
73
73
  compare_images(original, shopped, "Original vs. Photoshopped")
74
- '''
74
+ ```
75
75
  ###
76
76
  ### やったこと
77
77
 
@@ -82,12 +82,12 @@
82
82
  原因はなんでしょうか?ご教示お願いします。
83
83
 
84
84
  ### 発生している問題・エラーメッセージ
85
- '''
85
+ ```
86
86
  Traceback (most recent call last):
87
87
  File "C:\Users\Owner\compare.py", line 2, in <module>
88
88
  from skimage.measure import structural_similarity as ssim
89
89
  ImportError: cannot import name structural_similarity
90
- '''
90
+ ```
91
91
  ### 試したこと
92
92
 
93
93
  %matplotlib inlineだと「%」にinvalid syntaxエラーが吐かれた。

2

インデントを修正しました。

2018/12/08 15:57

投稿

terertail
terertail

スコア12

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,5 @@
1
1
  ###ソースコード
2
+ '''
2
3
  #import the necessary packages
3
4
  from skimage.measure import structural_similarity as ssim
4
5
  import matplotlib.pyplot as plt
@@ -70,7 +71,7 @@
70
71
  compare_images(original, original, "Original vs. Original")
71
72
  compare_images(original, contrast, "Original vs. Contrast")
72
73
  compare_images(original, shopped, "Original vs. Photoshopped")
73
-
74
+ '''
74
75
  ###
75
76
  ### やったこと
76
77
 
@@ -81,11 +82,12 @@
81
82
  原因はなんでしょうか?ご教示お願いします。
82
83
 
83
84
  ### 発生している問題・エラーメッセージ
84
-
85
+ '''
85
86
  Traceback (most recent call last):
86
87
  File "C:\Users\Owner\compare.py", line 2, in <module>
87
88
  from skimage.measure import structural_similarity as ssim
88
89
  ImportError: cannot import name structural_similarity
90
+ '''
89
91
  ### 試したこと
90
92
 
91
93
  %matplotlib inlineだと「%」にinvalid syntaxエラーが吐かれた。

1

ソースコードの表示がおかしかったのでその変更

2018/12/08 15:55

投稿

terertail
terertail

スコア12

title CHANGED
File without changes
body CHANGED
@@ -1,101 +1,98 @@
1
- ### 前提・実現したいこと
2
-
3
- http://kamonohashiperry.com/archives/699
4
- 上記のページの「以下は、類似度計算の実行用コードとなります。」
5
- 以降のプログラムを実行した際invalid syntaxエラーを吐かれ
6
- エラーを吐いたところをコメント化して実行したら
7
- 以下のようなエラーが起こりました。
8
- 原因はなんでしょうか?ご教示お願いします。
9
-
10
- ### 発生している問題・エラーメッセージ
11
-
12
- Traceback (most recent call last):
13
- File "C:\Users\Owner\compare.py", line 2, in <module>
14
- from skimage.measure import structural_similarity as ssim
15
- ImportError: cannot import name 'structural_similarity' from 'skimage.measure' (C:\Anaconda3\envs\nnabla\lib\site-packages\skimage\measure\__init__.py)
16
-
17
-
18
- ### 該当のソースコード
1
+ ###ソースコード
19
-
20
- # import the necessary packages
2
+ import the necessary packages
21
3
  from skimage.measure import structural_similarity as ssim
22
4
  import matplotlib.pyplot as plt
23
5
  import numpy as np
24
6
  import cv2
25
- #matplotlib inline
7
+ matplotlib inline
26
- ↑最初は%matplotlib inlineでした。
27
- そして実行するとinvalid syntaxエラーが起きました。
28
8
 
29
9
  def mse(imageA, imageB):
30
- # the 'Mean Squared Error' between the two images is the
10
+ the 'Mean Squared Error' between the two images is the
31
- # sum of the squared difference between the two images;
11
+ sum of the squared difference between the two images;
32
- # NOTE: the two images must have the same dimension
12
+ NOTE: the two images must have the same dimension
33
13
  err = np.sum((imageA.astype("float") - imageB.astype("float")) ** 2)
34
14
  err /= float(imageA.shape[0] * imageA.shape[1])
35
15
 
36
- # return the MSE, the lower the error, the more "similar"
16
+ return the MSE, the lower the error, the more "similar"
37
- # the two images are
17
+ the two images are
38
18
  return err
39
19
 
40
20
  def compare_images(imageA, imageB, title):
41
- # compute the mean squared error and structural similarity
21
+ compute the mean squared error and structural similarity
42
- # index for the images
22
+ index for the images
43
23
  m = mse(imageA, imageB)
44
24
  s = ssim(imageA, imageB)
45
25
 
46
- # setup the figure
26
+ setup the figure
47
27
  fig = plt.figure(title)
48
28
  plt.suptitle("MSE: %.2f, SSIM: %.2f" % (m, s))
49
29
 
50
- # show first image
30
+ show first image
51
31
  ax = fig.add_subplot(1, 2, 1)
52
32
  plt.imshow(imageA, cmap = plt.cm.gray)
53
33
  plt.axis("off")
54
34
 
55
- # show the second image
35
+ show the second image
56
36
  ax = fig.add_subplot(1, 2, 2)
57
37
  plt.imshow(imageB, cmap = plt.cm.gray)
58
38
  plt.axis("off")
59
39
 
60
- # show the images
40
+ show the images
61
41
  plt.show()
62
42
 
63
- # load the images -- the original, the original + contrast,
43
+ load the images -- the original, the original + contrast,
64
- # and the original + photoshop
44
+ and the original + photoshop
65
45
  original = cv2.imread("resize/re_pic006.jpg")
66
46
  contrast = cv2.imread("resize/re_pic005.jpg")
67
47
  shopped = cv2.imread("resize/re_pic003.jpg")
68
48
 
69
- # convert the images to grayscale
49
+ convert the images to grayscale
70
50
  original = cv2.cvtColor(original, cv2.COLOR_BGR2GRAY)
71
51
  contrast = cv2.cvtColor(contrast, cv2.COLOR_BGR2GRAY)
72
52
  shopped = cv2.cvtColor(shopped, cv2.COLOR_BGR2GRAY)
73
53
 
74
- # initialize the figure
54
+ initialize the figure
75
55
  fig = plt.figure("Images")
76
56
  images = ("Original", original), ("Contrast", contrast), ("Photoshopped", shopped)
77
57
 
78
- # loop over the images
58
+ loop over the images
79
59
  for (i, (name, image)) in enumerate(images):
80
- # show the image
60
+ show the image
81
61
  ax = fig.add_subplot(1, 3, i + 1)
82
62
  ax.set_title(name)
83
63
  plt.imshow(image, cmap = plt.cm.gray)
84
64
  plt.axis("off")
85
65
 
86
- # show the figure
66
+ show the figure
87
67
  plt.show()
88
68
 
89
- # compare the images
69
+ compare the images
90
70
  compare_images(original, original, "Original vs. Original")
91
71
  compare_images(original, contrast, "Original vs. Contrast")
92
72
  compare_images(original, shopped, "Original vs. Photoshopped")
93
73
 
74
+ ###
75
+ ### やったこと
76
+
77
+ http://kamonohashiperry.com/archives/699
78
+ 上記のページの「以下は、類似度計算の実行用コードとなります。」
79
+ 以降のプログラムを実行した際、
80
+ 以下のようなエラーが起こりました。
81
+ 原因はなんでしょうか?ご教示お願いします。
82
+
83
+ ### 発生している問題・エラーメッセージ
84
+
85
+ Traceback (most recent call last):
86
+ File "C:\Users\Owner\compare.py", line 2, in <module>
87
+ from skimage.measure import structural_similarity as ssim
88
+ ImportError: cannot import name structural_similarity
94
89
  ### 試したこと
95
90
 
96
91
  %matplotlib inlineだと「%」にinvalid syntaxエラーが吐かれた。
97
92
  なので#でコメント化した。
93
+ python3.7でやっていたので元ページと同じくpython2.7にした。
98
94
 
99
95
  ### 補足情報(FW/ツールのバージョンなど)
100
-
101
- ここにより詳細な情報記載しください。
96
+ pip install ssimやっ
97
+ ssim-0.2.2
98
+ をインストールした。