2

ズームインして詳細に表示したい画像があります。サイズは不明で、ほとんどが白黒で、テキストが付いています。ズームインすると、テキストが判読できなくなり、表示するのに十分なピクセル/テクセルがないことが原因だと思ったので、画像を2倍に拡大しました。拡大したので、まだ判読できません。

それから私はOpenCVを次のように使い始めました:

void resizeFirst(){
  Mat src = imread( "../floor.png", 1 );
  Mat tmp;
  resize(src,tmp,Size(),3,3,INTER_CUBIC);
  Mat dst = tmp.clone();
  Size s(3,3);
  //blur( tmp, dst, s, Point(-1,-1) );//homogeneous
  GaussianBlur(tmp, dst, s, 3);//gaussian
  //medianBlur ( tmp, dst, 5 );//median
  //bilateralFilter ( tmp, dst, 5, 5*2, 5/2 );
  addWeighted(tmp, 1.5, dst, -0.5, 0, dst);
  imwrite("sharpenedImage.png",dst);
}

void blurFirst(){
  Mat src = imread( "../floor.png", 1 );
  Size s(3,3);
  Mat dst;
  GaussianBlur(src, dst, s, 3);//gaussian
  addWeighted(src, 2, dst, -1, 0, dst);
  Mat tmp;
  resize(dst,tmp,Size(),3,3,INTER_CUBIC);
  imwrite("sharpenedImage0.png",tmp);
}

出力は良くなりますが、画像はまだ鮮明ではありません。画像を拡大するときにテキストを鮮明に保つ方法について誰かが何かアイデアがありますか?

編集:以下はサンプル画像です。

元の画像

強化された画像

1つ目は小さい解像度のオリジナルで、2つ目はサイズを変更して以下のようにガウスシャープニングを試みました

4

1 に答える 1

2

サイズ変更機能は、さまざまな補間方法を提供します

INTER_NEAREST nearest-neighbor interpolation
INTER_LINEAR bilinear interpolation (used by default)
INTER_AREA resampling using pixel area relation. It may be the preferred method for image decimation, as it gives moire-free results. But when the image is zoomed, it is similar to the INTER_NEAREST method
INTER_CUBIC bicubic interpolation over 4x4 pixel neighborhood
INTER_LANCZOS4 Lanczos interpolation over 8x8 pixel neighborhood

すべての補間方法を試して、最も適した方法を使用してください。ただし、サイズ変更機能は画像の縦横比を変更します。

于 2013-01-20T08:42:18.777 に答える