2011-04-25 49 views
0

是否有可能檢測到圖像是否在C#中顯示爲「負像」?換句話說,顏色是倒置的?如何檢測圖像是否顯示爲負(反轉)?

+0

我認爲這是一個非常難的問題,不管語言。您可能需要有一組負面圖像來「訓練」您的算法才能找到它們,但即使如此,您也只能在一定程度上確定它們,並且您可能總會得到錯誤的結果(標記爲負值非負,反之亦然)。 – joce 2011-04-25 22:54:51

+0

嘗試檢測棋盤圖像是否翻轉,例如,或70%灰卡。 :-) – 2011-04-25 22:57:51

回答

2

如果你沒有要比較的原始圖像(然後你試圖做的是檢測圖像是否爲另一個圖像的負面),那麼你只能嘗試猜測它是某種負面的形象,但你不能100%確定它。
的負面形象僅僅是其中每個像素的色彩是圖像:
紅= 255 - originalRed
綠色= 255 - originalGreen
藍= 255 - originalBlue

1

如果你知道任何特定像素的顏色應該是你可以測試,看看它是否匹配或倒置。

除此之外,我想不出一種適用於任何圖像的萬無一失的方法。你可以看看顏色分佈,但這取決於圖像。

1

您需要對倒置和非倒置圖像的屬性進行一些統計分析,以獲得一些檢查標準。例如,也許有一些顏色在正常圖像中不常見,但在倒置圖像中很常見。也許正常圖像的中心通常比邊緣明亮,或者頂部比底部明亮。

沒有方法是100%準確的,因爲任何圖像最終都與其他圖像一樣有效。