python numpy中astype使用不当导致图像出现artifact
生活随笔
收集整理的這篇文章主要介紹了
python numpy中astype使用不当导致图像出现artifact
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在網絡訓練中,發現生成的圖像不對勁,如下面左圖所示,文字完全不對。后來發現,是因為在python中把float類型的變量直接轉成uint8的時候,負數部分就變成了極大的整數,變成了圖中的白點。應該是采用截斷的方法,把小于0大于255的都截斷,然后再轉換成uint8。得到的結果如右圖所示。
?一段驗證性的代碼,如果把a轉成uint8,我們會發現-5就變成了(256-5)=251,而300就變成了(300-256)=44。所謂白色的地方出現了黑點,而黑字上也有了白點。
import numpy as npa = [-5, -10, 240, 300]a = np.reshape(a,[4,1])b = a.astype(np.uint8)print(a) [[ -5][-10][240][300]]print(b) [[251][246][240][ 44]]
?
轉載于:https://www.cnblogs.com/sunny-li/p/10265755.html
總結
以上是生活随笔為你收集整理的python numpy中astype使用不当导致图像出现artifact的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大厂是如何甄别应聘者简历的包装程度的?
- 下一篇: 天啦噜!知道硬盘很慢,但没想到比 CPU