Re: [問題] 讀灰階影像的問題(灰階值錯誤)

看板C_Sharp (C#)作者 (rotareti)時間12年前 (2012/10/05 16:26), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串5/6 (看更多)
※ 引述《timon (Tim On Five)》之銘言: : 非常感謝大家的幫忙,在各位的推文與回文我也學到很多。 : 我不知道這樣解釋對不對,如下: : 如果是test.jpg是16階影像的話,這種結果是說得通的(16轉256每個值會*16)。 : 可是我拿這張圖使用matlab和Photoshop來看每個Pixel的灰階值, : 取得第一行第一列(1, 1)的灰階值是97,(2, 2)=95,(3, 3)=89...。 : 以上測試每個Pixel的灰階值都分布在0-255(不是16的倍數)都是正常的。 : 這不是說明原圖應該是256階8-bit的灰階影像嗎?? (不知道這樣說法正不正確@@") : 非常抱歉,我實在搞不太清楚...再次謝謝大家!! 這個現象 (* 17) 是發生在轉成 bitmap 的時候, 測試了一下, 在 Windows XP(無) 跟 Windows 7(有) 的結果是不同的, 應該是 MS 在底層實作上改了什麼造成. 如果要取得像 Photoshop 得到的數值, 可以透過下面這樣的程式: //add reference to PresentationCore, System.Xaml using System.Windows.Media.Imaging; using (FileStream stream = new FileStream("test.jpg", FileMode.Open)) { JpegBitmapDecoder decoder = new JpegBitmapDecoder(stream, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.None); byte[] buf = new byte[90000]; decoder.Frames[0].CopyPixels(buf, 300, 0); } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.23.102

10/06 12:57, , 1F
這種XP跟WIN7差異上產生的靈異現象 真的很討厭
10/06 12:57, 1F

10/06 12:58, , 2F
一般人也很難探究到OS底層到底發生了什麼差異問題
10/06 12:58, 2F
文章代碼(AID): #1GRfcU_0 (C_Sharp)
文章代碼(AID): #1GRfcU_0 (C_Sharp)