[過去ログ]
【paiza】コーディング転職 10社目【AtCoderJobs】 (1002レス)
【paiza】コーディング転職 10社目【AtCoderJobs】 http://medaka.5ch.net/test/read.cgi/prog/1638420711/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
576: 514 [sage] 2022/06/17(金) 00:47:30.64 >>574 座標を整数ではなく、0.5とかにしたのは、当時参考にしたサイトによる影響です。 https://web.archive.org/web/20150410050105/http://www.maroon.dti.ne.jp:80/twist/4C616E637A6F73B4D8BFF4A4CBA4E8A4EBB2E8C1FCA4CEB3C8C2E7BDCCBEAE.html 縮小(Shrink)では、リサイズ後の座標に比率を掛けてリサイズ前の座標に対応する、計算対象となる前後の対象範囲を求めてます。 From: (int)Math.Floor(scaleFactor * (x - 2)) To: (int)Math.Floor(scaleFactor * (x + 3)) Enlargeの方は、バグかな?と思ったのですが、Shrinkを用いて極端な拡大(例えば100倍)を行った場合、モザイク状になってしまうところ、 偶然、丁度良くスムージングが掛かった画像が得られ、見た目もこちらの方が好みなので、そのままにしておきました。 From: (int)Math.Floor(scaleFactor * x) - 2 To: (int)Math.Floor(scaleFactor * x) + 3 http://medaka.5ch.net/test/read.cgi/prog/1638420711/576
578: 仕様書無しさん [sage] 2022/06/17(金) 08:15:28.62 >>576 そのロジックって手前味噌ながら僕のコード見て貰えばわかると思うけど、まずターゲットのWxHのサイズで仮想的なピクセルの絵を作って、次にそのピクセルごとにソースの絵の対応するピクセルを求める(Factorを掛ければ出る) そしてそのソースのピクセルの周りを前後左右に2個づつ、計5x5(僕のコードはkが可変なのでkが3の場合)のウインドウでとって重みをかけて合わせたものをターゲットのピクセルにセットするものなので、括弧に入れてしまうとおかしなところからサンプリングすることになりますね 例えば10倍に拡大する場合、x(ターゲットの横幅)が30の位置だとソースの3+-2で1から5を取りたいのに、それだと2から3までを取ることになるので滑らかにするロジックが効いてない(2x2になってしまっている)ですね ガタガタするのはそのせい Enlargeの方はそこは正しいですけど、真ん中のターゲットを中心に5x5(あるいは7x7など)で正方形にするはずが、左と上に2、右と下に3ずつとズレて取っているので、+するのは3じゃなくて2が正しいですね 僕の方のコードは同じロジックで拡大縮小、アスペクト比の変換全部カバーしてます まあ僕のというか元のアルゴリズムが コンパイルしてやってみるとわかると思いますカーネルのサイズも変えられるし どっか間違ってたらプルリクくださいw http://medaka.5ch.net/test/read.cgi/prog/1638420711/578
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.029s