質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

3回答

609閲覧

c#での画像拡大による劣化について質問です

takem

総合スコア10

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

1クリップ

投稿2017/06/07 04:57

c#で画像を拡大・トリミングして保存する処理を実装していますが、
拡大することで保存後の画像が劣化してしまいます。

実装に関しては下記サイトを参考にしました。
http://imagingsolution.blog107.fc2.com/blog-entry-287.html

そこで質問なのですが、

https://teratail.com/questions/13696
こちらの方の投稿も拝見させていただいたのですが、
劣化を防ぐ方法としては下記のようなやり方が最善なのでしょうか。

System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;

②OpencvSharpという画像処理用ライブラリがあるようなのですが
これもc#で使用するものなので、画像は劣化してしまうのでしょうか。

③ ①のやり方が最善の場合、実用化が厳しいため他の案を考える必要があります。
フォトショップ等の画像処理ソフトを使うしかないのか、
もし他になるべく画像を劣化させずに画像処理できる言語等ありましたら
ご教示いただきたいです。

質問が多く申し訳ありませんが、どうかご教示のほどよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ちょっと試してみました。
元画像(400x400)の画像を100x100でトリミングし、2倍に拡大した物を右側に表示しています。
Defalut、HighQualityBilinear、HighQualityBicubicはInterpolationModeを変更した物です。
waifu2x-converterはwaifu2x-converter (for Windows)を使用して元画像を2倍に拡大したものです。

またwaifu2x-converter (for Windows)で拡大するのにi7-2600@3.40GHzメモリ16Gの環境で
約40秒かかりました。

追記:
waifu2x-converterでの拡大ですが、元画像(400x400)を拡大した時の時間です。
トリミング後(100x100)をwaifu2x-converterで拡大すれば、時間は短くなります。

イメージ説明

投稿2017/06/07 07:23

編集2017/06/07 09:15
YAmaGNZ

総合スコア10242

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kiichi54321

2017/06/07 07:31

waifu2xが一番きれいですね。かかる時間も長いですが。
takem

2017/06/07 09:06

試していただきありがとうございます! 確かにwaifu2xが一番きれいですね。あとは速度との兼ね合いでしょうか。。 検討させていただきます。
guest

0

1000x1000(px)の画像を800x800(px)にトリミングすると、画像の持つ情報量は減ります(削った部分の情報を失うからです)

トリミングされた画像と元の画像を、元々のサイズ見れば同じ画質です(800x800の部分は全く同じな訳ですから)

しかし、トリミングされた画像と元の画像の大きさに拡大すると、画質は下がります(同じ大きさの画像を、少ない情報量で表すために荒くなります)
これはトリミングという情報削減作業によってもたらされるものですから、避けようがありません。

質問にある「劣化」は、このような事を指しているのでしょうか?
それとも、これとは異なる観点から劣化と判断されたのでしょうか?

投稿2017/06/07 05:49

coco_bauer

総合スコア6915

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takem

2017/06/07 06:01

ご回答ありがとうございます。 劣化は、coco_bauerさんのおっしゃる通りの事を指しています。 フォトショップでトリミングしたものより画質が劣るのは、情報の補完の仕方が問題なのでしょうか。 よろしくお願いいたします。
guest

0

画像の拡大時の補完アルゴリズムの問題なので、色々試すがいいかと。
目的によって求められるクオリティが違うので。
とはいえ、問題を理解していませんが、拡大したら情報が足りないので、もともと無理なんじゃないのか?という気もする。

とはいえ、画像補完関係で感動したのは、ディープラーニングで解決する方法で、これです。C#との連携とか諸々はよくわりませんが。
https://bita.jp/dml/waifu2x_ai

投稿2017/06/07 05:36

kiichi54321

総合スコア1984

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YAmaGNZ

2017/06/07 05:50

waifu2x-converter (for Windows)があります。 これはコマンドラインツールとして動作しますので、プログラムから呼び出せると思います。 ただ、変換スピードが実用に耐えれるのかは分かりませんが・・・・
takem

2017/06/07 06:02

ご回答ありがとうございます。 補完アルゴリズムの問題なのですね。。調べてみます。
takem

2017/06/07 06:04

YAmaGNZさん プログラムからも呼び出せるものがあるのですね。 情報ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問