創建棕褐色調所需的基本操作是什麼?我的參考點是perl imagemagick庫,所以我可以輕鬆使用任何基本操作。我試圖量化(使其灰度),着色,然後增強圖像,但它仍然有點模糊。如何創建棕褐色調?
回答
如果您使用imagemagic命令行,這很容易。
http://www.imagemagick.org/script/convert.php
轉換時使用 「-sepia音門檻」 的說法。
奇怪的是,PerlMagick API似乎不包括方法,直接這樣做:
http://www.imagemagick.org/script/perl-magick.php
...以及任何棕褐色方法沒有提及。
看看它是如何在AForge.NET庫中實現的,C#代碼是here。
的基礎似乎是
- 它轉換到YIQ色彩空間
- 修改
- 變換回RGB
全alrogithm是在源代碼中,加解釋了RGB→YIQ和YIQ→RGB變換。在C#中的深褐色轉換器的
的代碼鏈接的選項不再工作... =( – 2012-02-25 22:14:20
可以有人更新鏈接? – codejammer 2012-12-19 06:58:37
@codejammer http://bit.ly/ZP0Y3x – 2012-12-19 16:02:56
示例代碼是在我的答案在這裏可供選擇:What is wrong with this sepia tone conversion algorithm?
算法來自this page,每個輸入像素的顏色變換以下列方式:
outputRed = (inputRed * .393) + (inputGreen *.769) + (inputBlue * .189)
outputGreen = (inputRed * .349) + (inputGreen *.686) + (inputBlue * .168)
outputBlue = (inputRed * .272) + (inputGreen *.534) + (inputBlue * .131)
如果這些輸出值中的任何一個大於255,則只需將其設置爲 爲255.這些特定值是Microsoft推薦的 棕褐色調的值。
這是在C#中,但是,基本概念是相同的。您可能可以將其轉換爲perl。
private void SepiaBitmap(Bitmap bmp)
{
Rectangle rect = new Rectangle(0, 0, bmp.Width, bmp.Height);
System.Drawing.Imaging.BitmapData bmpData = bmp.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadWrite,
System.Drawing.Imaging.PixelFormat.Format32bppRgb);
IntPtr ptr = bmpData.Scan0;
int numPixels = bmpData.Width * bmp.Height;
int numBytes = numPixels * 4;
byte[] rgbValues = new byte[numBytes];
System.Runtime.InteropServices.Marshal.Copy(ptr, rgbValues, 0, numBytes);
for (int i = 0; i < rgbValues.Length; i += 4)
{
rgbValues[i + 2] = (byte)Math.Min((.393 * red) + (.769 * green) + (.189 * (blue)), 255.0); //red
rgbValues[i + 1] = (byte)Math.Min((.349 * red) + (.686 * green) + (.168 * (blue)), 255.0); //green
rgbValues[i + 0] = (byte)Math.Min((.272 * red) + (.534 * green) + (.131 * (blue)), 255.0); //blue
if ((rgbValues[i + 2]) > 255)
{
rgbValues[i + 2] = 255;
}
if ((rgbValues[i + 1]) > 255)
{
rgbValues[i + 1] = 255;
}
if ((rgbValues[i + 0]) > 255)
{
rgbValues[i + 0] = 255;
}
}
System.Runtime.InteropServices.Marshal.Copy(rgbValues, 0, ptr, numBytes);
this.Invalidate();
bmp.UnlockBits(bmpData);
}
- 1. 棕褐色色調在iOS中的PDF
- 2. 將視頻音調變成棕褐色
- 3. easeljs棕褐色和灰度
- 4. 清理棕褐色(x)的
- 5. ImageMagick棕褐色效果
- 6. 棕褐色45給我0.9999
- 7. 任何NSImage的棕褐色版本
- 8. 操縱照片到棕褐色
- 9. 棕褐色在相機預覽視圖
- 10. 插入罪惡,棕褐色,並在brain.h
- 11. 在Python中處理圖像爲棕褐色色調
- 12. Javascript:棕褐色或雙色調圖像效果?
- 13. 如何將普通視圖顏色更改爲棕褐色?
- 14. 這個棕褐色調轉換算法有什麼問題?
- 15. 如何在javascript中使用反轉棕褐色?
- 16. 如何將圖像轉換爲java中的棕褐色?
- 17. 如何將一個棕褐色效果添加到UIImageView?
- 18. 如何將棕褐色的弧度轉換爲度數
- 19. 如何使用Native Development Kit(NDK)在C語言中實現棕褐色調?
- 20. 徘徊時獲取棕褐色效果圖像和全綵色?
- 21. 使用numpy將棕褐色效果應用於3D陣列
- 22. Java將圖像輸出爲灰度和棕褐色
- 23. SciLab中的圖像處理(將圖像轉化爲棕褐色)
- 24. 在Android中將位圖轉換爲棕褐色
- 25. 棕褐色在黑莓中的圖像效果
- 26. 在iOS中使用棕褐色圖像效果時出錯?
- 27. 將圖像轉換爲黑白或棕褐色的c#
- 28. 對UIImage應用棕褐色,RGB,GrayScale效果
- 29. 適用於iOS Core圖像濾鏡的值範圍曝光,色調,棕褐色,溫度,色調,暈影
- 30. 如何給一個棕褐色效果在iPhone應用程序的圖像
因爲我有Perl中的ImageMagick的對象,這不是最直接的方式,但它可以工作...但它似乎並不需要使用其他顏色的效果 – user83358 2009-07-01 21:54:19