我試圖理解我爲什麼不從下面的代碼行獲得預期的結果:爲什麼這PBM圖像的行爲古怪
pix=np.asarray(Image.open(File))) #I am reading a pbm file into memory
img = Image.fromarray((pix), '1') #rewriting
img.save("test1.pbm")
newpix=~pix #inverting the image
img = Image.fromarray((newpix), '1')
img.save("test2.pbm")
原始圖像和test1.pbm(圖像1)是相同的,但test2.pbm(圖片2)不是我所期望的(前景像素變成背景像素,反之亦然)。我在這裏附上圖片(轉換爲jpeg)。我究竟做錯了什麼?
另一個問題是,對於test1.pbm中的大多數前景像素,該值爲False。但這並不反映在已保存的圖像中。
我使用Imagemagick將這兩幅圖像從原始圖像http://www.mathgoodies.com/lessons/graphs/images/line_example1.jpg轉換而來。
我使用Python和原始圖像,當讀取時,返回一個布爾數組。 – rivu 2014-09-30 15:42:06
如果您在執行img.save(「test1.pbm」)之前將'img'的元素乘以255,會發生什麼?如果你然後計算'newpix'的每個元素爲'255-oldvalue'? – 2014-09-30 16:13:21