আমার কাছে কিছু পুরানো নথি রয়েছে যা স্ক্যান করা হয়েছে এবং আমি সেগুলি কালো এবং সাদাতে রূপান্তর করতে চাই। সামগ্রী সর্বদা কালো এবং পটভূমি সাদা হওয়া উচিত:
আমি ফটোশপ ব্যবহার করি
আমার কাছে কিছু পুরানো নথি রয়েছে যা স্ক্যান করা হয়েছে এবং আমি সেগুলি কালো এবং সাদাতে রূপান্তর করতে চাই। সামগ্রী সর্বদা কালো এবং পটভূমি সাদা হওয়া উচিত:
আমি ফটোশপ ব্যবহার করি
উত্তর:
আপনার যদি স্ক্যানিংয়ের উপর নিয়ন্ত্রণ থাকে বা এগুলি পুনরায় ছাড়িয়ে নিতে পারেন তবে স্ক্যানের বিপরীতে সেটিংস বাড়িয়ে তুলুন এবং আপনি যে পাঠ্যটি খুঁজে পেতে পারেন তার কালোতম বিন্দুতে কালো বিন্দুটি সেট করুন। এটি নীচের পদক্ষেপগুলি আরও সহজ করে তুলবে। যদি তা না হয় তবে পড়ুন ...
এখানে মোটামুটি সাধারণ পুরানো ডকুমেন্ট স্ক্যানের অংশ:
দস্তাবেজের উপর নির্ভর করে বিশদগুলি পৃথক হবে (উদাহরণস্বরূপ এটি আপনার নমুনার তুলনায় কিছুটা উচ্চতর বিপরীতে রয়েছে) তবে বিস্তৃত রূপরেখাটি একই হবে।
লক্ষ্য করুন যে ইয়েলো স্লাইডারটি ডানদিকে খুব দূরে, হলুদ পটভূমি হালকা করে। আমি পাঠ্যটি কেবলমাত্র কিছুটা অন্ধকার করতে পেরেছি।
এটি আপনাকে সেখানে 95% পথ দেয়। একটি স্ক্যান করা নথিতে সাধারণত হিস্টোগ্রাম থাকে ডানদিকে (কাগজটি) এবং বাম দিকে (পাঠ্য) দিকে একটি ছোট গলদযুক্ত। সঠিক সেটিংস খুঁজতে আপনাকে আপনার দস্তাবেজগুলির সাথে পরীক্ষা করতে হবে।
এই জায়গা থেকে, আপনি চিত্রটি সদৃশ করতে পারেন, সদৃশ সমতল করতে পারেন এবং বাকীটি পরিষ্কার করতে আপনার নিয়মিত ফটোশপ পুনর্নির্মাণ সরঞ্জাম ব্যবহার করতে পারেন।
আপনি ফটোশপের কথা উল্লেখ করেছেন, তবে আপনি যদি আগ্রহী হন তবে একটি জিম্প প্লাগইন রয়েছে যা উন্নত গ্রেস্কেল পরিষ্কার এবং প্রক্রিয়াজাতকরণ করে:
এটিকে নুভোলা সরঞ্জাম বলা হয় এবং এটি মূলত স্ক্যান করা আর্টের উপর দৃষ্টি নিবদ্ধ করে তবে আপনি এটি ব্যবহার করে দেখতে পারেন।
আগে:
পরে:
সূত্র: জিআইএমপি প্লাগিন রেজিস্ট্রি
জিআইএমপি সহ:
আমি বিভিন্ন উল্লিখিত পদ্ধতিগুলি সহ চেষ্টা করেছি। বিনামূল্যে FineThreshold http://www.mehdiplugins.com/english/finethreshold.htm প্লাগইন। এই প্লাগইনটি দ্রুত সরবরাহ করে যাতে ডকুমেন্টটি একজাতীয়ভাবে আলোকিত হয় এবং কাগজটি নিজেও একজাতীয় মানের হয় provided তবে এটা আমার ঘটনা ছিল না। আমি অভিজ্ঞতা পেয়েছি যে প্রতিটি নথির উপরের দিকটি নীচের চেয়ে হালকা ছিল। ফলস্বরূপ, প্রতিটি পদ্ধতি এবং এর আংশিক সেটিংটি কেবলমাত্র প্রতিটি পৃষ্ঠার অংশের জন্য ভাল কাজ করেছিল, এটির বাকি অংশগুলির জন্য নয়।
অবশেষে আমি "ডায়নামিক থ্রেশহোল্ডিং" প্রভাবটি পেয়েছি যা জোনার ফটো স্টুডিও ভি 15 এর অংশ । আমার ধারণা এটির সংস্করণটি কিছু সময়ের জন্য বিনামূল্যে। এটি আশেপাশের হালকাতা অনুযায়ী খ / ডাব্লু থ্রেশহোল্ডকে অফসেট করে। এটির অ্যাপ্লিকেশনটি কেবলমাত্র এক-পদক্ষেপ প্রক্রিয়া। আমার জন্য "বৃহত্তর, মান +14" পরামিতিগুলি খুব ভালভাবে কাজ করেছে। "সম্পাদক" জোনের পাশাপাশি "ম্যানেজার" ইন্টারফেসও রয়েছে যা আপনি সমস্ত নির্বাচিত চিত্রের উপর ব্যাচ প্রক্রিয়া করতে পারেন। শেষ পর্যন্ত আমি ফলাফলটি খুব বিপরীতে 300 ডিপিআই লেজার প্রিন্টারে মুদ্রণ করতে সক্ষম হয়েছি।
এখন, কেবলমাত্র অবশিষ্ট কাজটি যার জন্য আমি সন্ধান করছি তা হ'ল অপ্রয়োজনীয় মার্জিনগুলি কাটাতে স্বতন্ত্র পদ্ধতিতে প্রতিটি চিত্রের স্বয়ংক্রিয় ক্রোপ । যেকোন ইঙ্গিতগুলি স্বাগত জানায় কারণ ম্যানুয়াল ক্রপিং পাশাপাশি সময় সাপেক্ষে বিরক্তিকর।
জিম্প প্লাগইন রেজিস্ট্রিতে একটি প্লাগইন ছিল যা এটি করেছিল। এটি এখন এখানে সংরক্ষণাগারভুক্ত ।
কিছু সময় আগে আমি পাইথনে এটি অনুবাদ করেছি এবং এটি অনেক দ্রুত ছড়িয়ে পড়ে।
মূল প্রশ্নটিতে ইমেজটিতে এর প্রয়োগের ফলাফল এখানে রয়েছে:
অ্যালানের উত্তরে চিত্রটিতে এর প্রয়োগের ফলাফল এখানে রয়েছে:
যাইহোক, এখানে প্লাগইনের কোডটি রয়েছে:
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()