Saya ingin mencetak beberapa gambar garis pada A3, tetapi tidak terlalu besar - sekitar 600x800px.
Saya mencoba fungsi yang jelas di Gimp, seperti mengubah ukuran kemudian meningkatkan dengan rautan wavelet atau topeng unsharp, dengan blur gausian selektif sebelum itu, tetapi hasil cetak tidak baik.
Mereka juga tidak mudah untuk vektorisasi, tetapi mungkin mengutak-atik beberapa alat tracing dapat memberi saya hasil yang lebih baik daripada mengubah ukuran bitmap. Sebelum saya mulai mengeksplorasi opsi ini, saya berpikir untuk meminta saran:
Adakah yang bisa berbagi resep, baik dengan menggunakan algoritma pemrograman (numpy / scipy atau matlab) atau dengan menggunakan alat yang tersedia di Gimp atau Photoshop, untuk mencapai ukuran kualitas gambar garis?
sumber
Jawaban:
Saya tidak yakin apakah ini cara terbaik dalam kasus Anda, tetapi saya berhasil dengan kombinasi filter Gaussian dan Median.
Berikut adalah contoh yang saya buat seluruhnya di Paint.NET. Gambar asli:
Ubah ukuran menjadi 400% (Tetangga Terdekat):
Gaussian Blur (radius: 6.0 px):
Filter median (jari-jari: 4 px, persentil: 50%):
Level untuk meningkatkan kontras:
Kurva untuk memotong bayangan buram (ambang akan bekerja lebih baik, tetapi ini tidak tersedia di Paint.NET secara default):
Perhatikan bahwa gambar tipis tanpa aliasing perlu diperkuat. Anda dapat mencapai ini dengan menerapkan Levels sebelum filter Median.
Parameter filter yang saya gunakan adalah murni eksperimental - bermain dengan ini dapat menghasilkan hasil yang lebih baik. Mungkin zoom dengan cara tangga dapat memperbaikinya juga.
sumber
Lihatlah algoritma penskalaan pixel art , khususnya algoritma hqx . Mereka biasanya terbatas pada faktor penskalaan bilangan bulat (yaitu 2x, 3x, 4x) sehingga mereka tidak sepenuhnya untuk tujuan umum tetapi harus dilakukan dengan cukup baik pada gambar garis.
sumber
Ini di luar kepala saya, tetapi dengan asumsi Anda sedang berurusan dengan gambar yang dapat diperlakukan sebagai biner (baik pixel milik garis gambar atau tidak) Anda dapat mencoba memperbesar gambar Anda (dengan blur berikutnya) kemudian thresholding untuk binarize gambar yang diperbesar, dan kemudian melakukan penipisan morfologis.
Di MATLAB, Anda akan melihat fungsi imresize , im2bw dan bwmorph .
Semoga ini membantu...
sumber
Sudahkah Anda mencoba mengonversi gambar menjadi versi vektor yang serupa, saya tahu Flash dan Inkscape memiliki:
http://inkscape.org/doc/tracing/tutorial-tracing.html
https://www.google.com/search?q=flash+image+to+vector
sumber