
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
こんにちは.
>文字と画像の境界が曖昧になってしまわないでしょうか?
これはいかなる画像拡大法を用いてもそうなることであり,そして仕方の無いことです.
詳細は省略しますが,拡大を行ったところでエッジ近傍の鋭さを表す,
「画像の高周波成分」が復活するわけではないからです.
この意味では高周波成分を強調するバイキュービックは良い選択です.
この方法が拡大と同時に「エッジ強調処理」をかけるようなものだからです.
周波数云々のことが分からない場合はフーリエ変換などの文献や書籍を当たってください.
なお,高周波成分の復活(強調ではありません)は,
いわゆる「信号処理学」の分野になってしまいますので,
この場所で簡単に説明することができるような内容ではありません.
とりあえず,拡大アルゴリズムが指定できる画像処理ソフト(gimpなど)
で拡大を行ってみて視覚的に判断してはどうでしょうか.
私の回答はかなり「理論寄り」の回答であり,「やってみた方が分かりやすい」こともありますので.
No.3
- 回答日時:
こんにちは.
画像拡大で必要なのは要するに「間の画素値を作る」ことです.
これは「拡大後の画素値が何処から来たか」を計算することによります.
例えば,100*100の画像を3/2倍に拡大すると150*150になるのはわかると思います.
ここで,拡大後の画像の(100,100)の画素は,元の画像の(100*2/3,100*2/3)=(66.66,66.66)に対応します.
ところが,元の画像の画素値は整数座標でしか分からないわけですから,
「間の画素値を作る」必要が生じます.
通常は,(66.66,66.66)近傍の画素値を寄せ集めて「間の画素値を作る」ことになります.
最も単純なのは「最も近くの画素値を平均すること」です(バイリニア法と言います).
さらに「もう一回り外側の画素値も重みをつけて使うこと」が考えられます.
ここで最も良く使われるのが「バイキュービック法」です.
数学的には「間の値を作ること」を「内挿」と言います.
理論的に最も完全な内挿方法はフーリエ変換から導かれる,
「Sinc関数による重み付け」です.
なのですが,この関数は一画素を作るのに全ての画素値を使わねばなりません.
これでは計算量の面で現実的ではないので,有限の近傍で計算を打ち切ります.
一次近傍→バイリニア法
二次近傍→バイキュービック法等
三次近傍→Lanczos3等
です.下の二つはいずれもSinc関数を近似する目的で構成されています.
バイキュービック法が縮小に向かないのは,
これが「高周波成分を強調するため」です.
縮小時に高周波成分を強調すると逆にギザギザ感が増すことになります.
この回答へのお礼
お礼日時:2008/12/04 17:23
回答ありがとうございます。
お返事遅れて申し訳ありません。
回答を受けてバイキュービック法を少し調べたのですが、例えば濃淡画像に2値の文字が混ざった画像を拡大した時、文字と画像の境界が曖昧になってしまわないでしょうか?
そこをクッキリさせるにはどうしたらいいでしょう?
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
OpenCVで寸法測定
-
Windows Media Playerを開くと...
-
String^の^自体が何を意味して...
-
Google ColaboでGUI作成
-
VB.NET とドットNET(.NET...
-
設定ファイルを扱うライブラリ...
-
VB と VC++ と VC#の違いは?
-
C#のクラスが理解出来ない
-
C言語の初歩的入門書
-
ヤフー知恵袋みたいなサイトを...
-
declaration of 'index' shadow...
-
IPアドレス、サブネットマスク...
-
DLL読み込み時エラー
-
なぜHTMLのソースコードが無料...
-
iPhoneのカメラロールへ画像を...
-
本の誤植について
-
オブジェクトブラウザの「stdol...
-
自作ライブラリとプロジェクト...
-
本格的なGUIを作るのにおすすめ...
-
大阪梅田でプログラミング関係...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
色混ぜのアルゴリズム
-
生年月日(yyyy/MM/dd) → 年齢...
-
TEXを使いたい
-
画面の枠に触れている部分を削除
-
画像の透明化
-
HBITMAPを初期化するとは?
-
C言語 極座標変換
-
平滑化フィルタなどフィルタリ...
-
姿勢センサでプロジェクタの台...
-
OpenCVで寸法測定
-
直線と線分の交差判定について...
-
画像の2値化について
-
画像をFFTした際のスペクトル分...
-
OpenCVで、画像の平均階調値よ...
-
行列の積の処理を高速化したい
-
C言語の作成依頼です。
-
画像の拡大
-
Canny法に用いる閾値の決定法に...
-
C++/CLIで画像処理
-
VB BitmapをExcelに貼り付け 大...
おすすめ情報