ইমেজম্যাগিকের সাহায্যে বাহ্যিক খালি জায়গা ছাঁটাই স্ক্যান করা দস্তাবেজগুলিতে কাজ করে না


4

ভিতরে এমন একটি চিত্র দেওয়া হয়েছে যার ভিতরে কিছু প্রকৃত সামগ্রী রয়েছে এবং সাধারণত কিছু অযাচিত সাদা বা কালো বা স্বচ্ছতার চারপাশে, আমি ইমেজম্যাগিক ব্যবহার করে বাহ্যিক অংশগুলি ছাঁটাই বা কাটাতে চাই।

নিম্নলিখিত ছবিটি একটি কম্পিউটারে ডিজিটালি অঙ্কিত হয়েছে (এইচটিএমএল <canvas>):

canvas.png

নিম্নলিখিত ইমেজম্যাগিক কমান্ডটি আমি চেষ্টা করেছি:

$ convert canvas.png -trim +repage canvas_trimmed.png

এবং এটি পুরোপুরি কাজ করেছে:

canvas_trimmed.png

সুতরাং এই আমি চাই ঠিক কি। তবে এখন আমি এটিও স্ক্যান করা নথিগুলির সাথে কাজ করতে চাই, যা কম্পিউটার-উত্পাদিত চিত্রগুলির মতো "নিখুঁত" নয়, অর্থাত তাদের "সাদা" এবং "কালো" এর বেশি শেড রয়েছে এবং স্বচ্ছতা যা সনাক্ত করা সহজ হবে। কখনও কখনও, তাদের কাগজের সাদা পটভূমির চারপাশে কিছু কালো বার থাকে কারণ স্ক্যানারের ক্ষেত্রটি কাগজের চেয়ে বড় is

scan.jpg

এই চিত্রটি সহ, আমি প্রদত্ত ক্রমে নিম্নলিখিত কমান্ডগুলি চেষ্টা করেছি, প্রত্যেকে আরও আক্রমণাত্মক হওয়ার চেষ্টা করছি, তবে কোনও ফলই দেয় নি - আপনি মূল চিত্র এবং "ছাঁটাই" চিত্রগুলির মধ্যে কোনও পার্থক্য দেখতে পাচ্ছেন না, যেমন ছাঁটাই বা ক্রপিং মোটেই কাজ করে না:

$ convert scan.jpg -trim +repage scan_trimmed.jpg
$ convert scan.jpg -fuzz 10% -trim +repage scan_trimmed.jpg
$ convert scan.jpg -fuzz 60% -trim +repage scan_trimmed.jpg
$ convert scan.jpg -fuzz 60% -bordercolor white -border 1x1 -trim +repage scan_trimmed.jpg
$ convert scan.jpg -fuzz 60% -bordercolor black -border 1x1 -trim +repage scan_trimmed.jpg

আমি এখানে কি ভুল করছি? কম্পিউটার-উত্পাদিত চিত্রগুলিকে নির্ভরযোগ্যভাবে ছাঁটাই করা ইমেজম্যাগিক কমান্ড কীভাবে সংশোধন করা যায় যাতে এটি উপরে নির্ভরযোগ্যভাবে নির্ভর করে স্টাইলের স্ক্যান করা নথিগুলিকে ছাঁটাই করে?


আপনি যদি আপনার স্ক্যান করা চিত্রটি দেখেন তবে পক্ষগুলির স্পষ্টভাবে কিছু অ-সাদা অংশ রয়েছে। ইমেজম্যাগিকের অর্থ এটিতে এখনও এমন সামগ্রী রয়েছে যা চিত্রটি এখনও সামগ্রী থাকতে পারে এটি ছাঁটাই করতে পারে না। কোন সহজ সমাধান আমি জানি না।
জেকগল্ড

জটিল জিনিস কেন? আপনার স্ক্যানার ড্রাইভারে স্বয়ংক্রিয় ক্রপ ফাংশনটি ব্যবহার করুন এবং আপনার কাজ শেষ হয়েছে। কিছু স্ক্যানার ড্রাইভার আপনার স্ক্যান করা উদাহরণ হিসাবে প্রদর্শিত হিসাবে গা dark় প্রান্ত অপসারণ প্রস্তাব। সম্ভবত ইমেজম্যাগিকও এমন অন্ধকার প্রান্তগুলি অপসারণের প্রস্তাব দেয়।
ব্যবহারকারী 291737

@ ব্যবহারকারী 291737 ধন্যবাদ! আমি আশা করি এটি সম্ভব ছিল, তবে তা হয়নি। এটা তোলে ব্যবহারের ক্ষেত্রে যেখানে এটি সম্ভব নয় কিছু কল্পনা করা খুবই সহজ: আপনার স্ক্যানার যা ফিচার, আপনি অন্য কারো জন্য প্রক্রিয়াকরণ (যারা তাদের স্ক্যানার ব্যবহার করা হয় যা আপনার অ্যাক্সেস রয়েছে না) কাজ করা যেতে পারে, ইত্যাদি সমর্থন নাও করতে পারে
কাকের ডাক

1
কীভাবে সম্ভাব্য- শেভ দিয়ে পরীক্ষা করা যায় এবং আপনি কীভাবে প্রান্তগুলি শেভ করতে পারেন এবং তারপরে আপনি যে যুক্তিটি ব্যবহার করেন তা ব্যবহার করতে পারেন? আপনি যদি সুযোগ পান তবে এটি উভয় লিঙ্কটি সন্ধান করতে সহায়তা করে তবে আমাকে জানান
পিম্প জুস IT

উত্তর:


4

আপনি শেভ ব্যবহার করতে পারেন এবং কেবল প্রান্তগুলি শেভ করতে পারেন এবং তারপরে প্রক্রিয়াটি চালানোর জন্য আপনি পরে যুক্তিটি ব্যবহার করতে পারেন।

দ্রষ্টব্য: আপনি যে পরিমাণ শেভ করবেন (উদাহরণস্বরূপ "-Save" 40x40বা " 10x10ইত্যাদি পরে যুক্তি ) গুরুত্বপূর্ণ তাই আপনার চিত্রগুলির জন্য আপনার পরিবেশে এই সেটিংটি সর্বজনীনভাবে কাজ করে তা নিশ্চিত করার জন্য পুরোপুরি পরীক্ষা করতে ভুলবেন না।

লজিক উদাহরণ

@ECHO ON

SET Convert="C:\Program Files\ImageMagick\Convert.exe"
%convert% C:\Folder\Circle.jpg -shave 40x40 C:\Folder\ShavedCircle.jpg
<The rest of your logic against C:\Folder\ShavedCircle.jpg now>

আগে

এখানে চিত্র বর্ণনা লিখুন

পরে

এখানে চিত্র বর্ণনা লিখুন


আরও সংস্থান

  • শেভ করুন, একটি চিত্র থেকে প্রান্তগুলি সরিয়ে দিন

    "-বর্ডার" বা "-ফ্রেম" অপারেটরগুলির বিপরীতটি " -শ্যাভ " হয়, যদি একই আর্গুমেন্ট দেওয়া হয় তবে এই আদেশগুলি দ্বারা যুক্ত স্থান সরিয়ে ফেলবে।

    এই তিনটি অপারেটর সম্পর্কে মনে রাখার প্রধান বিষয় হ'ল তারা চিত্রগুলির বিপরীত দিকগুলিতে কেবল একটি পক্ষ বা সংলগ্ন দিকগুলি জুড়ে স্থান যুক্ত করে সরিয়ে দেয়।

    আপনি যদি কেবল একটি চিত্রের একটি প্রান্ত অপসারণ করতে চান তবে তার পরিবর্তে আপনাকে "-চপ" অপারেটরটি ব্যবহার করতে হবে। (নীচে চপ উদাহরণ দেখুন)।

    সমস্ত অপারেটরগুলির মতো "-বর্ডার", "-ফ্রেম" এবং " -শেভ " কেবল আসল চিত্রটি ভার্চুয়াল ক্যানভাসে প্রভাবিত করে না ভার্চুয়াল ক্যানভাসে not

    উৎস


এর জন্য ধন্যবাদ! ওয়েল, -shaveবিকল্পটি ভাল কাজ করে, কমপক্ষে এটি প্রদর্শিত হয়। আমি এই বিকল্পটি জানতাম না (কোনওভাবে সর্বদা এটি উপেক্ষা করা হয়েছিল) এবং এটি প্রান্তগুলির জন্য বেশ সহায়ক। -shave 90x90নমুনা চিত্রের মতো কিছু ব্যবহার করে সমস্ত প্রান্ত চলে গেছে। তবে , কিনারাগুলি কখনও একমাত্র সমস্যা হয়নি। এমনকি এগুলি সম্পূর্ণরূপে অপসারণ করার পরেও এবং এমনকি লেন্সেন্ট সেটিংস সহ যেমন -fuzz 80%উপরের সাদা অংশটি কেবল তখনই সরিয়ে দেওয়া হয়। মনে হচ্ছে সাদা জায়গাগুলিতে কিছু "ময়লা" রয়েছে, যা স্ক্যানার দ্বারা উত্পাদিত হয়েছে, যা -trimকাজ করা থেকে বাধা দেয় । যদিও এর চেয়ে ভাল সমাধান আর নেই।
কাওয়

সত্যই এখনও নিশ্চিত নয় কারণ এটি আসলে সমস্যার সমাধান বা সম্পূর্ণ প্রশ্নের উত্তর দেয়নি, তবে এর একটি অংশকে সম্বোধন করেছে। যাইহোক, আমি ইতিমধ্যে অনুগ্রহটি প্রদান করেছি (+100)।
কাওয়

এটি আসলে যে প্রশ্নটি নিয়ে আমি কাজ করছি তা থেকেই চিত্রটি হ'ল : i.stack.imgur.com/yVhlM.jpg আমি সেই চিত্রটির সাথে সমস্ত কমান্ড এবং বিকল্প চেষ্টা করেছি। আমার জন্য কাজ করে না।
কাওয়

আবার ধন্যবাদ! আপনার দ্বিতীয় উত্তরের সাথে একসাথে, এটি সত্যই নিখুঁতভাবে কাজ করে।
কাওয়

2

ইমেজম্যাগিকের সাহায্যে চিত্রগুলি থেকে ময়লা স্পট বা নয়েজ সরান

নীচে আমি আপনার প্রশ্নের ইমেজ থেকে ইমেজ ফাইলে থাকা ময়লা ছোঁড়া থেকে মুক্তি পেতে ব্যবহার করেছি, তবে আমি এগিয়ে গিয়েছিলাম এবং শেভটি90x90 প্রথমটি দিয়ে ব্যবহার করেছি যা আপনি নিশ্চিত করেছেন যে আমি যে সমস্যার সমাধান করেছি তার থেকে সমাধানটি সমাধান করেছি সম্মানিত অনুগ্রহ।

লজিক উদাহরণ

@ECHO ON

SET Convert="C:\Program Files\ImageMagick\Convert.exe"
%convert% C:\Folder\Circle.jpg -shave 90x90 C:\Folder\ShavedCircle.jpg
%convert% C:\Folder\ShavedCircle.jpg -write MPR:source ^
  -morphology close rectangle:3x4 ^
  -morphology erode square    MPR:source -compose Lighten -composite ^
  -morphology erode square    MPR:source -composite ^
  -morphology erode square    MPR:source -composite ^
  -morphology erode square    MPR:source -composite ^
  -morphology erode square    MPR:source -composite ^
  -morphology erode square    MPR:source -composite ^
  -morphology erode square    MPR:source -composite ^
  -morphology erode square    MPR:source -composite ^
  -morphology erode square    MPR:source -composite ^
C:\Folder\cleaned.jpg

আগে

এখানে চিত্র বর্ণনা লিখুন

পরে

এখানে চিত্র বর্ণনা লিখুন


বেজে ওঠার শব্দের প্রকৃতির কারণে, সমস্ত কালো গোলমাল বর্ণগুলি অক্ষর থেকে কমপক্ষে 1 পিক্সেল দ্বারা পৃথক করা হয়।

এই শব্দটি সরানোর জন্য একটি ভাল পদ্ধতির প্রতিচ্ছবিটি বিভক্ত করা উচিত যাতে প্রতিটি অক্ষরের কমপক্ষে একটি "বীজ" অংশ থেকে যায়, তারপরে মূল চিত্রটি একটি মুখোশ হিসাবে ব্যবহার করার সময় এই বীজগুলি মুছে ফেলবে; ফলস্বরূপ প্রতিটি চিঠির জন্য বন্যা ভরাট।

এইভাবে অক্ষরের আকার এবং অন্যান্য বড় ব্লবগুলি পুরোপুরি সংরক্ষণ করা হয় এবং ছোট ব্লবগুলি অদৃশ্য হয়ে যায়।

বৃহত্তম অক্ষর যা এখনও প্রতিটি অক্ষরের আকারের একটি অংশ ফেলে দেয় উদাহরণস্বরূপ ডেটার জন্য একটি 3x4 আয়তক্ষেত্র বলে মনে হয়; নিরাপদ দিকে থাকতে সম্ভবত আরও ছোট কিছু ব্যবহার করুন।

এই কমান্ডটি প্রথমে 3x4 আয়তক্ষেত্রটি বিভক্ত করে, অক্ষরগুলি আবার পুরো না হওয়া অবধি শেষ হয়

কোড

convert cleanup.tif -write MPR:source ^
  -morphology close rectangle:3x4 ^
  -morphology erode square    MPR:source -compose Lighten -composite ^
  -morphology erode square    MPR:source -composite ^
  -morphology erode square    MPR:source -composite ^
  -morphology erode square    MPR:source -composite ^
  -morphology erode square    MPR:source -composite ^
  -morphology erode square    MPR:source -composite ^
  -morphology erode square    MPR:source -composite ^
  -morphology erode square    MPR:source -composite ^
  -morphology erode square    MPR:source -composite ^
  cleaned.png

উৎস


আরও সংস্থান


অন্যান্য কমান্ডের আগে এটি করা ( -trim) ইচ্ছামত ইমেজটি পরিষ্কার এবং ছাঁটাই করে দেয়। অনেক ধন্যবাদ!
কাওয়

1

অন্তত মূল প্রশ্নে ( scan.jpg) -এ প্রদর্শিত আমার নির্দিষ্ট উদাহরণের জন্য যা পরিশেষে নিখুঁত ফলাফল সরবরাহ করেছিল তা হ'ল নিম্নলিখিত দুটি-পদক্ষেপের সমাধান:

convert \
    scan.jpg \
    -write MPR:source \
    -morphology close rectangle:3x4 \
    -clip-mask MPR:source \
    -morphology erode:8 square \
    +clip-mask \
    scan_intermediate.jpg

convert scan_intermediate.jpg -shave 40x40 -fuzz 10% -trim +repage scan_final.jpg

এই দ্রবণটি তিনটি অংশ নিয়ে গঠিত:

  1. আমার মূল প্রশ্ন থেকে আদেশ
  2. এই উত্তরে প্রদর্শিত গোলমাল অপসারণ
  3. -shaveঅপারেটর প্রস্তাব এই উত্তর
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.