2010-01-05 52 views
0

我要換算成每pixcel 24位(RGB)每像素的TIFF圖像中間體8位沒有任何代碼轉換,請分享或告訴我在C尖銳的算法中轉換24Bit的8位TIFF

回答

1

你的意思是你如何將RGB圖像變成灰度圖像?一種簡單的基於感知的方法是將其轉換爲YIQ colorspace並丟棄色度信息。你可以通過這個公式生成亮度部分:

l = (0.299*r) + (0.583*g) + (0.114*b) 
1

這裏是一個很好的教程用C#代碼:

http://www.switchonthecode.com/tutorials/csharp-tutorial-convert-a-color-image-to-grayscale

聲明:我在Atalasoft工作。

如果您對商業解決方案感興趣,可以使用DotImage來完成此操作。轉換單個成幀TIFF的代碼是

AtalaImage img = new AtalaImage("file.tif"); 
img = img.GetChangedPixelFormat(PixelFormat.Pixel8bppGrayscale); 
img.Save("gray.tif", new TiffEncoder(), null); 

如果您有多頁TIFF,您只需循環播放它們即可。