2014-06-26 26 views
0

我試圖通過基於縮放值基本裁剪原始圖像的尺寸來放大圖像。我的圖像是一個RGBA numpy數組。爲了在wxPython中顯示它,我將它轉換爲wxImage,然後使用Scale()函數以正確的大小顯示StaticBitmap。問題是,在某些地區(主要是附近的左下角和右上角),我的形象看起來像這樣(在某些變焦「蜱」):wxImage Scale()導致圖像變形

enter image description here

而前打勾右它(少變焦)看起來是這樣的:

enter image description here

如果numpy的陣列上使用scipy.misc.imresize(),然後將其轉換爲wxImage顯示,這個問題就會消失。我寧願不這樣做的原因是速度。它慢得多,所以變焦感覺不那麼流暢。我相當肯定這與Scale()函數有關,儘管我不確定問題是什麼。有任何想法嗎?

+0

你試過FloatCanvas了嗎?它具有內置縮放功能,可能更好地支持此功能 –

+0

@MikeDriscoll我只是看着它。通過一些例子,看看一些代碼後,我不認爲這會很有幫助,不幸的是。我現在縮放的方式允許縮小較小的增量,並且導航更快(使用滑塊或鼠標滾輪)。我還需要能夠輪換,而且我不知道需要多長時間來整合。你知道是否可以使用畫布部分,並有我自己的導航,可以與縮放功能接口?此外,它可以顯示二維浮點陣列圖像(或RGB圖像,我可以轉換)? – SFBA26

+0

我不確定,雖然我認爲它可以旋轉圖像並使用NumPy,所以我認爲它會非常快。您應該將您的問題重新發布到wxPython Google小組。他們在那裏可能會有一些好主意。 –

回答

0

如果你關心結果的質量(即除非你只是想盡可能快地產生小縮略圖),你應該使用wxImage::Scale()wxIMAGE_QUALITY_HIGH,而不是它的默認wxIMAGE_QUALITY_NORMAL質量。

如果這樣不能解決您遇到的問題,那麼看到圖像重現問題會很有趣(請在wxTrac上創建一張票並在那裏上傳)。

+0

謝謝您的建議,但我已經嘗試過並獲得了相同的結果。我試圖打開票,但我需要註冊,當我嘗試註冊時,我得到這個錯誤:「URLError:(-2,'名稱或服務未知'」 – SFBA26