3

画像が写真なのか絵なのかを判断するための非常に高速なアルゴリズムを知っている人はいますか?

主な目的は、BMP画像に最適な形式がPNGまたはJPEGであるかどうかを判断することです。線のあるファイルがjpegでぼやけてほしくないのに、同時にロスのない写真を保存したくありません。

現時点では、PNGと高品質のJPEGから最小のファイルサイズを選択しています。これは99%で機能するようです。しかし、ドローイングの写真や、それをだますようなグラデーションがたくさんあるドローイングのようなものは常にあります。

4

1 に答える 1

2

フィルタを使用して、1。画像を白黒にし、2。コントラストを上げてからピクセルをカウントし、黒/灰色のピクセルよりも多くの白のピクセルが得られるかどうかを確認できます。

多分このように:

if( whitePixels.Count >= ( whitePixels.Count + blackAndGreyPixels.Count ) / 100 * 70 ) {
    // is drawing
} else {
    // is photograph
}

70%のマークをテストする必要があります。これは、画像のサイズと比較する画像の種類によって異なります。

これが、SIMPLEアルゴリズムがどのように機能するかを理解するのに役立つことを願っています。

これについてさらにヘルプが必要な場合は、使用する言語(サーバー側の場合はPHP、クライアント側の場合は.NET)を指定してから、コードの例を示します。

これが役立つと思われる場合は、投票/回答としてマークしてください。

grエース

于 2012-10-29T10:35:31.870 に答える