Taranan bazı eski belgelerim var ve onları siyah beyaza dönüştürmek istiyorum. İçerik her zaman siyah ve arka plan beyaz olmalıdır:
Photoshop kullanıyorum.
Taranan bazı eski belgelerim var ve onları siyah beyaza dönüştürmek istiyorum. İçerik her zaman siyah ve arka plan beyaz olmalıdır:
Photoshop kullanıyorum.
Yanıtlar:
Taramayı kontrol ediyorsanız veya yeniden taramasını sağlayabiliyorsanız, taramadaki kontrast ayarını artırın ve siyah noktayı bulabileceğiniz en koyu metin bitine ayarlayın. Bu, aşağıdaki adımları kolaylaştıracaktır. Değilse, okumaya devam edin ...
Oldukça tipik eski belge taramasının bir parçası:
Ayrıntılar, belgeye bağlı olarak farklılık gösterecektir (örneğin, örneğinizden biraz daha yüksek kontrast vardır), ancak genel anahat aynı olacaktır.
Sarı kaydırma çubuğunun sararma arka planını aydınlatan sağa doğru olduğuna dikkat edin. Metni sadece biraz kararabildim.
Bu, oradaki yolun% 95'ini alır. Taranan bir belgede, tipik olarak sağa doğru (büyük kağıt) ve sağa doğru daha küçük bir metin (metin) olan bir histogram bulunur. Doğru ayarları bulmak için belgelerinizle deneme yapmanız gerekir.
Bu noktadan sonra, görüntüyü çoğaltabilir, kopyayı düzleştirebilir ve kalanları temizlemek için normal Photoshop rötuş araçlarını kullanabilirsiniz.
Photoshop'tan bahsediyorsunuz, ancak ilgileniyorsanız , gelişmiş gri tonlamalı temizleme ve işleme yapan bir GIMP eklentisi de var:
Buna Nuvola Araçları denir ve esasen taranmış sanat üzerine odaklanır, ancak denemek isteyebilirsiniz.
Önce:
Sonra:
Kaynak: GIMP Eklenti Kayıt Defteri
GIMP ile:
Çeşitli yöntemler de dahil olmak üzere denedim. ücretsiz FineThreshold http://www.mehdiplugins.com/english/finethreshold.htm eklentisi. Bu eklenti, belgenin homojen olarak aydınlatılması ve kağıdın da homojen kalitede olması koşuluyla hızlı bir şekilde iyi sonuçlar verir. Ancak bu benim durumum değildi. Her belgenin üst kısmının alt kısımdan daha hafif olduğunu gördüm. Sonuç olarak, her yöntem ve kısmi ayarı, sadece her sayfanın bir parçası için işe yaradı, geri kalanı için değil.
Sonunda Zoner Photo Studio v15'in bir parçası olan "Dinamik Eşik" etkisini buldum . Onun eval sürümü bir süre için ücretsiz sanırım. Mahalle hafifliğine göre s / b eşiğini dengeliyor gibi görünüyor. Uygulaması sadece tek adımlı bir işlemdir. Benim için "Büyük, +14 değeri" parametreleri çok iyi sonuç verdi. "Editör" 'ün yanı sıra, Zoner, toplu iş seçili tüm görüntüler üzerinde işlem yapabileceğiniz "Yönetici" arayüzünü de içerir. Sonunda sonucu çok eski 300 dpi lazer yazıcıya mükemmel bir kontrastla bastırabildim.
Şimdi, arıyorum kendisi için geriye kalan tek görevi otomatik olarak yapılır ÜRÜN cut-out gereksiz marjlar bir inteligent şekilde her resmin. Herhangi bir ipucu açıktır, çünkü manuel kırpma sıkıcı ve zaman alıcıdır.
Bunu yapan GIMP eklenti kayıt defterinde bir eklenti vardı. Şimdi burada arşivlendi .
Bir süre önce bunu Python'a çevirmiştim ve çok daha hızlı çalıştı.
Orijinal sorudaki resme uygulanmasının sonucu şöyle:
İşte Alan'ın cevabındaki resimdeki uygulamasının sonucu:
Neyse işte eklentinin kodu:
from __future__ import division
import random
import gimp, gimpfu
pdb = gimp.pdb
sample_count = 100
def set_image_background_to_white(image, drawable):
pdb.gimp_context_push()
pdb.gimp_image_undo_group_start(image)
pdb.gimp_progress_set_text('Correcting background')
if drawable.is_gray:
channel_count = 1
elif drawable.is_rgb:
channel_count = 3
assert not drawable.is_indexed
# get some random points in the image
sum_by_channel = [0]*channel_count
for sample_index in range(sample_count):
px = pdb.gimp_drawable_get_pixel(drawable,
random.randint(0, pdb.gimp_drawable_width (drawable)-1),
random.randint(0, pdb.gimp_drawable_height(drawable)-1))[1]
for i in range(channel_count):
sum_by_channel[i] += px[i]
pdb.gimp_progress_update(sample_index/sample_count)
if drawable.is_gray:
pdb.gimp_levels(drawable, gimpfu.HISTOGRAM_VALUE,
0, sum_by_channel[0]/sample_count,
1.,
0, 255)
elif drawable.is_rgb:
for i in range(channel_count):
pdb.gimp_levels(drawable, 1+i,
0, sum_by_channel[i]/sample_count,
1.,
0, 255)
pdb.gimp_levels(drawable, gimpfu.HISTOGRAM_VALUE,
0, 255,
0.6,
0, 255)
pdb.gimp_image_undo_group_end(image)
pdb.gimp_displays_flush()
pdb.gimp_progress_update(1.)
pdb.gimp_context_pop()
gimpfu.register('set_image_background_to_white', # name
'Set image background to white', # blurb
'No help info yet', # help
'Robert Fleming', # author
'Robert Fleming', # copyright
'2015', # date
'<Image>/Filters/Set Background to White', # menupath
'RGB*, GRAY*', # imagetypes
[], # params
[], # results
set_image_background_to_white, # function
)
gimpfu.main()