質問編集履歴

6

s

2017/12/14 06:28

投稿

chikuwa.ntm
chikuwa.ntm

スコア7

test CHANGED
File without changes
test CHANGED
@@ -16,6 +16,12 @@
16
16
 
17
17
 
18
18
 
19
+
20
+
21
+ cray_scale(event)へ修正したのですが、またエラーメッセージが出てしましました。
22
+
23
+
24
+
19
25
  ###発生している問題・エラーメッセージ
20
26
 
21
27
 
@@ -30,7 +36,13 @@
30
36
 
31
37
  return self.func(*args)
32
38
 
39
+ File "C:\Python36(略), line 29, in gray_scale
40
+
41
+ img_gray = cv2.imread(filename, cv2.IMREAD_GRAYSCALE)
42
+
33
- TypeError: gray_scale() takes 0 positional arguments but 1 was given
43
+ NameError: name 'filename' is not defined
44
+
45
+
34
46
 
35
47
 
36
48
 
@@ -46,6 +58,20 @@
46
58
 
47
59
  ```
48
60
 
61
+ from PIL import Image
62
+
63
+ import tkinter.filedialog as tkfd
64
+
65
+ import cv2, tkinter, numpy
66
+
67
+
68
+
69
+ root = tkinter.Tk()
70
+
71
+
72
+
73
+ root.title("選択画像")
74
+
49
75
  def imgselect():
50
76
 
51
77
    filename = tkinter.filedialog.askopenfilename(filetypes=[("画像ファイル", (".gif", ".png", ".jpg" ))])
@@ -56,7 +82,23 @@
56
82
 
57
83
 
58
84
 
85
+ menubar = tkinter.Menu(root)
86
+
87
+ filemenu = tkinter.Menu(menubar,tearoff=0)
88
+
89
+ menubar.add_cascade(label="ファイル", menu=filemenu)
90
+
91
+ filemenu.add_command(label="新しい画像",command=imgselect)
92
+
93
+ filemenu.add_separator()
94
+
95
+ filemenu.add_command(label="閉じる",command=exit)
96
+
97
+ root.config(menu=menubar)
98
+
99
+
100
+
59
- def gray_scale():
101
+ def gray_scale(event):
60
102
 
61
103
  img_gray = cv2.imread(filename, cv2.IMREAD_GRAYSCALE)
62
104
 
@@ -70,4 +112,8 @@
70
112
 
71
113
  button1.grid(row=0,column=0)
72
114
 
115
+
116
+
117
+ root.mainloop()
118
+
73
119
  ```

5

ああ

2017/12/14 06:28

投稿

chikuwa.ntm
chikuwa.ntm

スコア7

test CHANGED
File without changes
test CHANGED
@@ -48,7 +48,7 @@
48
48
 
49
49
  def imgselect():
50
50
 
51
- filename = tkinter.filedialog.askopenfilename(filetypes=[("画像ファイル", (".gif", ".png", ".jpg" ))])
51
+   filename = tkinter.filedialog.askopenfilename(filetypes=[("画像ファイル", (".gif", ".png", ".jpg" ))])
52
52
 
53
53
  img = cv2.imread(filename)
54
54
 

4

2017/12/14 06:14

投稿

chikuwa.ntm
chikuwa.ntm

スコア7

test CHANGED
File without changes
test CHANGED
@@ -44,7 +44,7 @@
44
44
 
45
45
 
46
46
 
47
-
47
+ ```
48
48
 
49
49
  def imgselect():
50
50
 
@@ -69,3 +69,5 @@
69
69
  button1.bind("<Button-1>", gray_scale)
70
70
 
71
71
  button1.grid(row=0,column=0)
72
+
73
+ ```

3

syuusei

2017/12/14 06:12

投稿

chikuwa.ntm
chikuwa.ntm

スコア7

test CHANGED
File without changes
test CHANGED
@@ -60,7 +60,7 @@
60
60
 
61
61
  img_gray = cv2.imread(filename, cv2.IMREAD_GRAYSCALE)
62
62
 
63
- cv2.imshow("Gray Scale",img)
63
+ cv2.imshow("Gray Scale",img_gray)
64
64
 
65
65
 
66
66
 

2

修正

2017/12/14 04:54

投稿

chikuwa.ntm
chikuwa.ntm

スコア7

test CHANGED
File without changes
test CHANGED
@@ -48,7 +48,7 @@
48
48
 
49
49
  def imgselect():
50
50
 
51
- filename = tkfd.askopenfilename(filetypes=[("画像ファイル", (".gif", ".png", ".jpg" ))])
51
+ filename = tkinter.filedialog.askopenfilename(filetypes=[("画像ファイル", (".gif", ".png", ".jpg" ))])
52
52
 
53
53
  img = cv2.imread(filename)
54
54
 

1

修正

2017/12/14 04:53

投稿

chikuwa.ntm
chikuwa.ntm

スコア7

test CHANGED
File without changes
test CHANGED
@@ -8,13 +8,11 @@
8
8
 
9
9
 
10
10
 
11
- askopenfilenameからcv2.imshowで元画像の表示までは出来たのですが、そこから先がうまく行きません
11
+ askopenfilenameからcv2.imshowで元画像の表示までは出来たのですが、そこから先がうまく行きません
12
12
 
13
+ 元画像でaskopenfilenameでパスを取ってると思うので以降それを参照、cv2の処理をしたいのですがどこが駄目なのでしょうか。
13
14
 
14
-
15
+ エラーメッセージはダイアログから画像選択→元画像表示→ボタンを押した時に出ます
15
-
16
-
17
-
18
16
 
19
17
 
20
18
 
@@ -24,13 +22,29 @@
24
22
 
25
23
  ```
26
24
 
25
+ Exception in Tkinter callback
26
+
27
+ Traceback (most recent call last):
28
+
29
+ File "C:\Python36\lib\tkinter\__init__.py", line 1699, in __call__
30
+
27
- エラーメッセージ
31
+ return self.func(*args)
32
+
33
+ TypeError: gray_scale() takes 0 positional arguments but 1 was given
34
+
35
+
36
+
37
+
28
38
 
29
39
  ```
30
40
 
31
41
 
32
42
 
33
43
  ###該当のソースコード
44
+
45
+
46
+
47
+
34
48
 
35
49
  def imgselect():
36
50
 
@@ -42,12 +56,16 @@
42
56
 
43
57
 
44
58
 
45
- ###試したこと
59
+ def gray_scale():
46
60
 
61
+ img_gray = cv2.imread(filename, cv2.IMREAD_GRAYSCALE)
62
+
47
- 課題に対してアプローチしたことを記載してください
63
+ cv2.imshow("Gray Scale",img)
48
64
 
49
65
 
50
66
 
51
- ###補足情報(言語/FW/ツール等のバージョンなど)
67
+ button1 = tkinter.Button(root, text="グレスケー", width=20)
52
68
 
69
+ button1.bind("<Button-1>", gray_scale)
70
+
53
- より詳細な情報
71
+ button1.grid(row=0,column=0)