پرش به محتوای اصلی
طراح و سازنده تجهیزات پیشرفته تصویربرداری
یکشنبه ۲۶ مهر ۱۴۰۵

مقاله

نرم‌افزار آلترون در یک نگاه: یک برنامه برای همه‌ی دوربین‌ها

rahni

اگر در یک سالن تولید هم دوربین خطی دارید، هم دوربین ناحیه‌ای و شاید یک دوربین حرارتی، لابد این سؤال برایتان پیش آمده: باید برای هر کدام یک برنامه‌ی جدا یاد بگیرم؟ جواب ما نرم‌افزار آلترون است. همان نرم‌افزاری که همراه هر دوربین تحویل می‌دهیم. با آن دوربین را وصل می‌کنید، تصویرش را می‌بینید، پردازش می‌کنید و ذخیره می‌کنید. همه در یک پنجره.

پنجره‌ی اصلی نرم‌افزار آلترون با نمودار شدت خط و تنظیمات دوربین خطی
پنجره‌ی اصلی نرم‌افزار آلترون با نمودار شدت خط و تنظیمات دوربین خطی

در یادداشت‌های این مجموعه هر بار یکی از قابلیت‌های آلترون را جدا باز می‌کنیم. اما قبل از جزئیات، بهتر است با منطق خود برنامه آشنا شوید. بقیه‌ی قسمت‌ها روی همین پایه سوار می‌شوند.

مسیر تصویر را خودتان می‌چینید

آلترون یک برنامه‌ی بسته با چند منوی ثابت نیست. تصویر در آن از یک مسیر عبور می‌کند که به آن گراف جریان داده یا فلوگراف می‌گوییم. هر ایستگاه این مسیر یک نود است. هر نود هم یک پلاگین است که فقط یک کار مشخص انجام می‌دهد.

یک نمونه‌ی واقعی، گراف آماده‌ی دوربین خطی رنگی است: دوربین، تصحیح سطح سیاه (BLC)، تصحیح میدان تخت (Flat Field)، تصحیح فضایی، تعادل سفیدی و گاما. در انتهای مسیر هم نمایشگر تصویر، نمودار خط و ذخیره‌ی TIFF قرار دارند. گراف دوربین ناحیه‌ای رنگی نودهای دیگری دارد، مثلاً دیبایر که رنگ را از الگوی بایر سنسور می‌سازد.

اگر نودی را بردارید، آن مرحله انجام نمی‌شود. اگر جای دو نود را عوض کنید، نتیجه هم عوض می‌شود. هر گراف در یک فایل با پسوند .dfg ذخیره می‌شود. همین انعطاف است که یک برنامه را برای کارهای خیلی متفاوت قابل استفاده می‌کند: بازرسی صنعتی، تصویر حرارتی، طیف‌سنجی و فتوفینیش.

پنج نوع پلاگین

هر نود گراف به یکی از این پنج خانواده تعلق دارد. اگر این پنج را بشناسید، ساختار کل نرم‌افزار را شناخته‌اید:

  • Camera Controller: سر زنجیره است و تصویر از همین‌جا وارد می‌شود. هر گراف دقیقاً یک Camera Controller دارد.
  • Processing: وسط زنجیره است. داده را می‌گیرد، تغییر می‌دهد و تحویل می‌دهد.
  • Data Holder: یک نسخه از داده را نگه می‌دارد تا برنامه‌ی خودتان از طریق SDK آن را بردارد.
  • Data Saving: انتهای یک شاخه است و داده را روی دیسک می‌نویسد.
  • Data Viewer: انتهای یک شاخه است و داده را روی صفحه نشان می‌دهد.

خطی یا ناحیه‌ای؛ چرا از همان اول مهم است؟

کنار نام هر پلاگین یکی از سه برچسب ASC، LSC یا ASC/LSC آمده است. ASC یعنی فقط برای دوربین‌های اسکن ناحیه‌ای که هر بار یک قاب کامل می‌گیرند. LSC یعنی فقط برای دوربین‌های اسکن خطی که هر بار یک ردیف پیکسل می‌گیرند و بعد دوم تصویر را حرکت جسم می‌سازد. ASC/LSC یعنی هر دو.

مثلاً BLC برچسب LSC دارد و دیبایر برچسب ASC. پس قبل از افزودن هر نود بدانید دوربینتان از کدام نوع است.

پنجره‌ی اصلی را چطور بخوانیم؟

  • نوار منو در بالا: File، Theme، Tools، View، Help و Admin.
  • فهرست Connected Cameras: دوربین‌های وصل‌شده خودکار در این فهرست می‌آیند، هر کدام با شماره‌سریال و توضیح.
  • ستون چپ: کادر جست‌وجوی Ui Search اینجاست. سه تب Diagnostics، Performance و Internal Info هم اینجا هستند. با آن‌ها می‌فهمید دوربین و سیستم واقعاً چه می‌کنند.
  • ناحیه‌ی مرکزی: هر نمایشگر گراف اینجا یک تب می‌سازد.
  • ستون راست: تنظیمات نودی که انتخاب کرده‌اید اینجا نشان داده می‌شود. اگر نود دوربین را انتخاب کنید، کنترل‌های دوربین را اینجا می‌بینید.

یک توصیه برای روزهای اول: به جای گشتن در تب‌ها، نام تنظیم را در Ui Search تایپ کنید، مثلاً Exposure یا Gamma. اگر گزینه‌ی Focus on result روشن باشد، مکان‌نما مستقیم روی همان کنترل می‌رود و می‌توانید فوراً مقدارش را عوض کنید.

وقتی می‌خواهید گراف را عوض کنید

ویرایشگر گراف از مسیر Tools › Flow Graph Editor باز می‌شود. در این ویرایشگر، رنگ هر جعبه نشان می‌دهد نود از کدام خانواده است.

اشتباهی که زیاد می‌بینیم این است که گراف ویرایش و ذخیره می‌شود، ولی تغییر اعمال نمی‌شود. دلیلش ساده است: بعد از ذخیره باید در پنجره‌ی اصلی دکمه‌ی Recreate All را بزنید تا زنجیره‌ی هر دوربین از نو ساخته شود.

ابزارهای کنار برنامه‌ی اصلی

  • Lens Calculator (منوی Tools): پیش از خرید، فاصله‌ی کانونی لنز را از فاصله‌ی کاری و میدان دید لازم حساب می‌کند.
  • Color Correction Calculator (منوی Tools): از روی کارت رنگی، ماتریس تصحیح رنگ را می‌سازد.
  • Raw Data Viewer (منوی Tools): دقیقاً نشان می‌دهد چه چیزی روی دیسک نوشته شده است.
  • SDK – Code Generator (منوی Help): از گراف فعلی کد نمونه می‌سازد، برای زبان‌هایی مثل C++، C#، Python و MATLAB.
  • Manage Virtual Cameras (دکمه‌ای در پنجره‌ی اصلی): اگر هنوز دوربین به دستتان نرسیده، یک دوربین مجازی خطی یا ناحیه‌ای بسازید و کل مسیر را بدون سخت‌افزار امتحان کنید.

در قسمت‌های بعدی سراغ همین‌ها می‌رویم، یکی‌یکی و با جزئیات عملی. معرفی کلی نرم‌افزار را هم در صفحه‌ی آلترون ببینید.

توضیح عمومی‌تری درباره‌ی بینایی ماشین را در ویکی‌پدیا (انگلیسی) پیدا می‌کنید.

اگر می‌خواهید بدانید آلترون با دوربین یا خط تولید شما چطور جور می‌شود، سؤالتان را از طریق صفحه‌ی تماس برایمان بفرستید.

همکاری‌ها

سازمان‌ها، دانشگاه‌ها، صنایع و شرکت‌هایی که از محصولات ما استفاده کرده‌اند

  • هدایت هوشمند نوژن سپهر