簡體   English   中英

如何從c#放大圖像(任何類型)而不會丟失質量

[英]how to enlarge an image (any type) from c# without losing quality

問題說這一切......

應用程序將在asp.net和c#(4.0)

這是不可能的。 想想一個10位10位色彩的非常簡單的情況。 因此,有10 * 10 * 8 = 800位的信息。 現在嘗試將其放大為具有8位顏色的100 x 100位圖。 這需要80000位信息。 這些額外信息將來自哪里? 有各種各樣的插值方案可以嘗試猜測信息應該是什么,但這是我們能做的最好的。 必須有質量損失,因為我們不知道應該是什么信息。

以下是一些插值方案:

  1. 最近的鄰居
  2. 雙線性
  3. 雙立方
  4. hq2x

這些方法具有不同的品質。 一些導致鋸齒狀(最近鄰居),另一些導致圖像軟化(雙線性),而另一些導致振鈴偽影 (雙三次)。

如果將圖像放大到原始尺寸以外,則會導致圖像質量下降。 沒有辦法解決這個問題。

也就是說,存在用於調整大小的不同方法/算法,其中一些可能引入比其他方法更低的質量降級。 嘗試調整大小參數以找出最適合您情況的參數。

這不是不可能的! 查看Genuine Fractals插件。 它使用“基於分形的插值算法”來放大圖像而不會降低質量。

它是Photoshop的插件,但說明高質量的放大確實是可能的。 (我想知道是否可以通過.Net應用程序調用它?嗯......)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM