داده های برداری و داده های رستری خصوصیات و بالتبع رفتار متفاوت از یکدیگر دارند که در اینجا به مقایسه داده برداری و رستری می پردازیم.
از آنجایی که اغلب داده های ورودی و خروجی به فرمت رستر و پردازش ها روی داده های وکتور است لذا برای پردازش ها به تبدیل رستر به وکتور و برای پلات کردن به تبدیل وکتور به رستر نیازمندیم.
روش های الگوریتمی و سخت افزاری مختلفی برای این منظور وجود دارد. فاکتورهایی که روی زمان و هزینه ی این عملیات اثر دارند عبارتند از پیچیدگی ذات مسئله، کمبود الگوریتم های کارا، انتخاب نامناسب الگوریتم ها، ترجمه ی ضعیف الگوریتم ها به کدهای کامپیوتری و ترکیبی از این عوامل.
تا وقتی که فرآیند تبدیل در سطح تئوری موردتوجه قرار گیرد مشکلات سیستماتیک اجتناب پذیر نمی باشد و علت مشکلات performance دقیقا قابل تشخیص نیست.
در تبدیل رستر به وکتور سه عملیات اساسی داریم که عبارتند از:
دو عملیات فرعی دیگر نیز وجود دارد که عبارتند از:
فرآیند کاهش خطوط به ضخامت واحد در قدرت تفکیک داده شده است. سه روش برای انجام آن وجود دارد که عبارتند از:Medial Axis, Balooning, Peeling
فرض می شود که همه ی داده ها به صورت یک ماتریس باینری نمایش داده شده اند (۰ برای پس زمینه و ۱ برای موقعیت های اشغال شده). در این روش عملیات از هر دو طرف خط شروع می شود. در اینجا از ماتریس ۸همسایگی استفاده می شود.
اگر سه معیار زیر برآورده شود پیکسل مرکزی حذف می شود:
مزایا:
معایب:
دوال Peeling است. در آن ناحیه های بین خطوط تا وقتی که خطوط جداکننده ی بین آنها دیگر نتواند بدون ایجاد شکستگی در مرز کاهش یابد گسترش می یابد. شامل دو مرحله است:
در مرحله ی اول از ماتریس ۴همسایگی استفاده می شود. نسبت به مرحله ی دوم سرعت این مرحله بیشتر و دقت آن کمتر است. در این مرحله مناطق باز بین خطوط ضخیم با تعقیب لبه های داخلی هر منطقه ی باز در جهت مشابه به صورت متناوبی گسترش می یابد. در این مرحله از همان سه معیار Peeling استفاده می شود.
در مرحله ی دوم از ماتریس ۸همسایگی استفاده می شود لذا دقت استخراج نودها بیشتر است و از یک گذر دوم برای چک تقاطع خطوط برای بازسازی توپولوژی استفاده می شود.
معایب:
در این روش حداکثر فاصله ی همه ی نقاط از همه ی لیه های خط اصلی به دست می آید. شامل ۴ گذر است. در گذر اول مقدار هر پیکسل اشغال شده برابر با حداقل بین مقدار پیکسل بالایی + ۱ و مقدار پیکسل پایینی + ۱ درنظر گرفته می شود. در گذر دوم مقدار هر پیکسل برابر با حداقل بین مقدار خود پیکسل، مقدار پیکسل سمت راست آن + ۱ و مقدار پیکسل سمت چپ آن + ۱ درنظر گرفته می شود. دو فرآیند اضافی نیز برای استخراج binary skeleton اعمال می شود. در نتیجه مقدار هر پیکسل برابر با تعداد پیکسل هایی است که آن پیکسل از نزدیکتری پیکسل غیر خط فاصله دارد.
مزایا:
معایب:
سری خاصی از داده ها یا مختصات ها را که یک پاره خط را تشکیل می دهند مشخص می کند. دو روش برای این عملیات وجود دارد:
حال به توضیح هر یک از روش های فوق می پردازیم:
هر خطی به صورت پیکسل به پیکسل در هر جهت تعقیب می شود تا به انتهای خط برسیم و سپس آن خط از ورودی حذف می شود. لذا یک خط بیش از یکبار trace نمی شود. در این روش به فضای حافظه ی زیادی نیاز نداریم. در این روش می توان ورودی را به مستطیل ها یا patch های تقسیم کرد و عملیات را روی آنها انجام داد (devide & compure).
مزایا:
معایب:
به ترتیب خطوط اسکن عملیات صورت می گیرد. در هر خط اسکن همه ی خطوطی که با خط اسکن داده شده متقاطع هستند به صورت همزمان پردازش می شوند. در اینجا هر خط اسکن تنها یک بار خوانده می شود. خطوط به هم پیچیده ی واحد به عنوان چند پاره خط شناسایی می شوند. برای تصحیح این امر باید آنها را در تقاطع خطوط به هم متصل کرد یا به عنوان یک مرحله ی جداگانه آنها را دوباره به هم وصل کرد.
مزایا:
معایب:
فرآیند تعیین روابط توپولوژی (همسایگی) بین همه ی خطوط است. این مرحله در واقع محصول فرعی line thining یا line extraction می باشد. تقاطع خطوط قبل از این مرحله تشخیص داده شده است، نوع (T,X,+,Y) و موقعیت همه ی تقاطع ها در جدول جداگانه ای مشخص می شود لذا از این جدول برای بازسازی توپولوژی استفاده می شود.
در صورت اعمال یکپارچه ی روش های مختلف در مراحل مختلف پردازش کلی آسان و موثر می شود و کارایی افزایش می یابد. مزایای آن بیشتر از حالتی است که تنها از یک روش در هر مرحله استفاده می شود. یک مثال از این فرآیند ترکیب روش های Scan Line و Vector Line Following است.
این روش ها در صورت مواجهه با شرایط زیر با مشکلاتی روبرو می شوند:
همچنین راهنمایی های کلی در customise کردن تکنیک ها برای کاربرد خاص وجود ندارد.
تاکنون برای مقایسه این روش ها آماره های کارایی مناسبی از نظر تئوری یا تجربی ارائه نشده است. در این زمینه تنها می توان به عبارات کلی زیر اشاره کرد:
سرعت کلی پردازش با تعداد دفعاتی که هر رستر از حافظه ی ثانویه فراخوانده می شود رابطه ی معکوس دارد. لذا فرآیند های تکراری از این لحاظ خوب نمی باشند. سرعت کلی برخی الگوریتم ها با طول کلی خط رابطه ی مستقیم دارد. لذا با توجه به این معیار به نظر می رسد که روش scan line بهتر از روش line following می باشد.
با توجه به این معیار به نظر می رسد که روش های وکتور مبنا بهتر از روش scan line عمل می کنند.
با توجه به مطالب فوق به این نتیجه می رسیم که ما باید به صورت همزمان به این موترد توجه کنیم و سپس در مورد انتخاب روش مناسب تصمیم گیری کنیم.
در پیاده سازی های صورت گرفته از ترکیبات مختلفی از الگوریتم ها و روش ها استفاده شده است. از جمله ی این موارد می توان به موارد زیر اشاره کرد: