ノイズをフィルタリングした後、画像をブラウズして表示するための簡単なGUIを作成しています。ここで、メインクラスは、ここで自己としてコードの一部と呼ばされている:PIL.Imageコンソールから画像をロードしますが、PyCharmのGUIで実行するとエラーが発生します
def load_original_image(self): ##<------ file picker show box
if self.chk != 0: self.upperFrame.withdraw()
self.filename = tk.filedialog.askopenfile(mode="r")
self.upperFrame = Toplevel()
self.chk +=1 #<---- this i am using as a status check variable
## Simply saving images below in gif format as tkinter doesn't load image in jpeg format
disImg = Image.open(self.filename);disImg.save("imgORI.gif")
disImg = Image.open("imgORI.gif");disImg = PhotoImage(disImg)
panelCEM = Label(self.upperFrame,image=disImg);panelCEM.image = disImg;panelCEM.pack()
imgX = Image.open(self.filename)
def processImage(self):
filterCutOff = self.SliderBtn1.get()
sdCutOff = self.SliderBtn2.get()
img = Image.open(self.filename)
<rest of the code is processing the image using filters>
これらの2つの方法は、最初のものは、ユーザが画像のパスを参照し、それをロードすることができ、同じクラスの一部であります表示。 2番目のコードはロードされたイメージを処理します。 しかし、GUIは表示する元のイメージを読み込むことができません。また、次のエラーを処理しようとするとポップアウトすることもありません。
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
I「は、第二の方法は、」画像を処理するために呼び出されたときに、画像符号化誤差が出てくるため、その原画像は、いくつかの問題を作成してロードするために「第一の方法を」疑います。
pythonコンソールでコードラインを個別に実行しようとすると、エンコードエラーなしでイメージが正しく読み込まれます。私がGUIコードの一部としてPyCharm(IDE)を使って実行したときだけ、エラーが発生します。
これは今では私の神経の上で実行されている誰かが私を助けることができますか?より明確にするために必要な情報があれば教えてください。研究の一部であるため、コード全体を公開することはできないという事実をご了承ください。私はタスクのためにPython3.5と互換性のあるライブラリを使用しています。
'print(self.filename)'を追加するなど、基本的なデバッグを試してみましたか?私は結果があなたを驚かせるだろうと思う。 –
あなたが言ったことをやったことがありましたが、 'self.filename'は私にファイルハンドラを与え、ファイルを開くことができます。しかし、それはもちろん動作しませんでした。 – Ashutosh