مقدمه
استخراج شماره پلاک با n8n
N8Nابزاری است که به کمک آن می توانید در مدتزمان کوتاهی، فرایندهای خود را با هوش مصنوعی خودکار کنید و از مزایای اتوماسیون هوشمند بهره مند شوید.
N8N برای چه کسب و کارهایی مناسب است:
اگر سازمان شما کوچک می باشد و هم اکنون بسیاری از کار های خود را با نرم افزار هایی همچون اکسل انجام می دهید، N8N برای کسب و کار شما ایده آل است و در صورتی که کسب و کاری متوسط یا بزرگ دارید می توانید بخش های بسیاری از فرایند های غیر کلیدی خود را با این ابزار هوشمند کنید.
اگر به پیادهسازی اختصاصی، اتصال n8n به نرمافزارهای سازمانی یا سفارشیسازی Workflowها متناسب با کسبوکارتان نیاز دارید، Danix با بررسی نیازهای کسبوکار شما، میتواند این فرایند را از طراحی تا استقرار برای شما انجام دهیم.
برای کسب و کارهای کوچک به این لینک مراجعه کنید و برای کسب و کارهای بزرگ و متوسط میتوانید از این لینک استفاده نمایید.
همچنین اگر ترجیح میدهید شخصاً نصب و راهاندازی را انجام دهید، میتوانید از اطلاعات موجود در مقالات، دسته N8N استفاده کنید .همچنین می توانید template موجود در این workflow را به صورت رایگان از این قسمت دانلود کنید.
پسوورد فایل فشرده: danixai.com
استخراج شماره پلاک با n8n
قبل از شروع در استخراج شماره پلاک با n8n
اگر هنوز n8n را نصب نکردهاید، پیشنهاد میکنیم ابتدا مقاله «آموزش n8n» را مطالعه کنید. در آن مقاله، مراحل نصب با Node.js و Docker، راهاندازی اولیه و ساخت اولین Workflow بهصورت کامل آموزش داده شده است. پس از نصب و راهاندازی، به این مقاله بازگردید و مراحل پیادهسازی این Workflow را دنبال کنید.
این Workflow چه کاری انجام میدهد؟
این Workflow یک فرم ساده برای دریافت تصویر ایجاد میکند. کاربر باید تصویر خودرو را از طریق فرم آپلود کند. در Template فعلی، فرمتهای JPG و PNG برای آپلود تصویر مجاز هستند.
پس از ارسال فرم، تصویر در اختیار Workflow قرار میگیرد. Node مربوط به Settings دو مقدار مهم یعنی مدل هوش مصنوعی و Prompt را مشخص میکند.
سپس Basic LLM Chain تصویر و Prompt را دریافت کرده و آنها را برای مدل متصلشده ارسال میکند. مدل مورد استفاده در این Template از طریق OpenRouter فراهم میشود.
Prompt از مدل میخواهد شماره پلاک خودروی جلویی تصویر را استخراج کند و هیچ متن اضافهای در پاسخ قرار ندهد. نتیجه در نهایت به Node مربوط به FormResultPage منتقل میشود.
FormResultPage نیز نتیجه مدل را در صفحه پایانی فرم نمایش میدهد. بنابراین مسیر کلی Workflow به شکل زیر است:
FromTrigger → Settings → Basic LLM Chain → FormResultPage
در کنار این مسیر، OpenRouter LLM به Basic LLM Chain متصل است و مدل هوش مصنوعی را برای پردازش تصویر فراهم میکند.
کاربردهای این Workflow در استخراج شماره پلاک با n8n
این Template را میتوان در سناریوهای مختلف پردازش تصویر توسعه داد. چند کاربرد مهم آن عبارتاند از:
- استخراج شماره پلاک خودرو از تصاویر دوربین.
- کمک به پردازش تصاویر پارکینگها.
- ایجاد نمونه اولیه سیستم تشخیص اطلاعات خودرو.
- استخراج اطلاعات متنی از تصاویر خودرو.
- بررسی تصاویر ثبتشده در ورودی و خروجی پارکینگ.
- ساخت ابزارهای ساده تحلیل تصویر با n8n.
- ایجاد سیستم OCR هوشمند برای اطلاعات خاص.
- آزمایش مدلهای مختلف Vision در OpenRouter.
- ساخت فرم آنلاین برای تحلیل تصاویر توسط هوش مصنوعی.
- اتصال نتایج تحلیل تصویر به Database یا سایر سرویسهای سازمانی.
البته این Workflow یک سیستم کامل پلاکخوان صنعتی محسوب نمیشود. دقت نتیجه به کیفیت تصویر، زاویه دوربین، اندازه پلاک، نور، وضوح تصویر و قابلیت مدل انتخابشده بستگی دارد.
پیشنیازها در استخراج شماره پلاک با n8n
برای اجرای Template به موارد زیر نیاز دارید:
- نصب و راهاندازی n8n.
- دسترسی به قابلیت Form در n8n.
- یک حساب OpenRouter.
- API Key مربوط به OpenRouter.
- Credential مربوط به OpenRouter در n8n.
- دسترسی به یک مدل Vision که قابلیت دریافت تصویر داشته باشد.
- یک تصویر JPG یا PNG برای آزمایش.
- آشنایی مقدماتی با Nodeهای n8n.
- آشنایی اولیه با Prompt و مدلهای چندرسانهای.
در Template، Credential با نام OpenRouter account استفاده شده است. Credential موجود در فایل Template را نباید مبنای استفاده واقعی قرار دهید؛ باید Credential خودتان را در محیط n8n تنظیم کنید.
همچنین مدل پیشفرض Workflow، openai/gpt-4o است. هنگام استفاده واقعی باید بررسی کنید که مدل انتخابی در OpenRouter در دسترس حساب شما باشد و قابلیت تحلیل تصویر را پشتیبانی کند.
دانلود Template در استخراج شماره پلاک با n8n
فایل JSON این Workflow را از این قسمت دانلود کنید.
پسوورد فایل فشرده: danixai.com
آموزش Import کردن Workflow در استخراج شماره پلاک با n8n
- وارد داشبورد n8n شوید.
- روی Import from File کلیک کنید.
- فایل JSON را انتخاب کنید.
- Workflow ایجاد خواهد شد.
- Credentialهای موردنیاز را تنظیم کنید.
ساختار Workflow در استخراج شماره پلاک با n8n
ساختار اصلی Workflow به این صورت است:
FromTrigger
↓
Settings
↓
Basic LLM Chain
↓
FormResultPage
همزمان Credential و مدل هوش مصنوعی از طریق اتصال AI به Basic LLM Chain متصل هستند:
OpenRouter LLM
↓
Basic LLM Chain
در نتیجه Basic LLM Chain دو نوع اطلاعات دریافت میکند. ورودی اصلی آن شامل داده فرم و تصویر است و ورودی AI آن از OpenRouter LLM تأمین میشود.
این تفکیک باعث شده Workflow ساختار نسبتاً تمیزی داشته باشد. تنظیمات مربوط به مدل و Prompt در یک Node قرار گرفتهاند و Credential مدل نیز در Node جداگانه مدیریت میشود.
آموزش کامل تمام Nodeها در استخراج شماره پلاک با n8n
FromTrigger
FromTrigger نقطه شروع Workflow است و از نوع Form Trigger محسوب میشود.
وظیفه این Node ایجاد فرم دریافت تصویر از کاربر است. عنوان فرم در Template برابر با Analyse image قرار گرفته و توضیح فرم نیز از کاربر میخواهد تصویری را برای تحلیل آپلود کند.
مهمترین بخش تنظیمات این Node، فیلد فایل است. این فیلد اجباری است و کاربر باید یک فایل تصویری انتخاب کند.
فرمتهای .jpg و .png در تنظیمات acceptFileTypes مشخص شدهاند. بنابراین Template در حالت فعلی برای این دو فرمت طراحی شده است.
این Node در زمان ارسال فرم، تصویر را به داده Workflow تبدیل میکند تا Nodeهای بعدی بتوانند آن را پردازش کنند.
گزینه responseMode روی lastNode قرار گرفته است. بنابراین کاربر پس از اجرای کامل Workflow، نتیجه Node نهایی را در همان فرایند فرم دریافت میکند.
Settings
Settings از نوع Set است و وظیفه آن نگهداری تنظیمات اصلی تحلیل است.
این Node دو مقدار اصلی دارد:
modelprompt
مقدار مدل در Template برابر با openai/gpt-4o است. این مقدار به Node OpenRouter LLM منتقل میشود تا مدل مورد استفاده مشخص شود.
مقدار Prompt نیز دستور تحلیل تصویر را مشخص میکند. Prompt از مدل میخواهد شماره پلاک خودروی جلویی تصویر را پیدا کند و فقط کاراکترهای استخراجشده را برگرداند.
استفاده از یک Node جداگانه برای این تنظیمات مزیت مهمی دارد. اگر بخواهید مدل یا Prompt را تغییر دهید، لازم نیست ساختار اصلی Basic LLM Chain را دستکاری کنید.
همچنین گزینه includeOtherFields فعال است. این تنظیم باعث میشود دادههای دیگر ورودی نیز هنگام عبور از Set Node حفظ شوند.
Basic LLM Chain
Basic LLM Chain قلب اصلی Workflow است.
این Node از قابلیتهای LangChain در n8n استفاده میکند و وظیفه آن ارسال Prompt و تصویر به مدل زبانی متصلشده است.
متن اصلی از Expression مربوط به $json.prompt دریافت میشود. بنابراین Promptی که در Settings تعریف شده، مستقیماً در این Node مورد استفاده قرار میگیرد.
نکته مهم دیگر تنظیم imageBinary است. Template مشخص کرده که تصویر از Binary Data با کلید Image دریافت شود.
به همین دلیل نام فیلد فایل در Form Trigger اهمیت دارد. اگر نام داده Binary تغییر کند، باید مقدار binaryImageDataKey نیز متناسب با آن تغییر کند.
این Node به OpenRouter LLM نیز از طریق اتصال ai_languageModel متصل است. در نتیجه مدل هوش مصنوعی از Node جداگانه دریافت میشود.
خروجی Basic LLM Chain شامل پاسخ مدل است و این خروجی به FormResultPage منتقل میشود.
OpenRouter LLM
OpenRouter LLM مسئول فراهم کردن مدل هوش مصنوعی برای Basic LLM Chain است.
درOpenRouter یک سرویس واسط برای دسترسی به مدلهای مختلف هوش مصنوعی از طریق API است. مزیت مهم چنین ساختاری این است که توسعهدهنده میتواند در بسیاری از سناریوها مدلهای مختلف را از طریق یک سرویس و Credential مدیریت کند.
در Template، مقدار مدل بهصورت Dynamic از مقدار model دریافت میشود. بنابراین Settings کنترل میکند که Basic LLM Chain از چه مدلی استفاده کند.
Credential با نام OpenRouter account برای احراز هویت استفاده شده است. این Credential باید در محیط n8n خودتان ایجاد شود.
اگر بخواهید مدل را تغییر دهید، در این Template کافی است مقدار مدل در Settings را تغییر دهید؛ البته مدل جدید باید قابلیت پردازش تصویر را داشته باشد.
FormResultPage
FormResultPage آخرین Node Workflow است و از نوع Form است.
وظیفه آن نمایش نتیجه تحلیل به کاربر است. عنوان صفحه نتیجه در Template برابر با Extracted information: قرار گرفته است.
متن نمایش دادهشده نیز از مقدار $json.text دریافت میشود. این مقدار همان نتیجهای است که Basic LLM Chain از مدل هوش مصنوعی دریافت کرده است.
بنابراین اگر مدل فقط شماره پلاک را برگرداند، کاربر نیز همان مقدار را در صفحه نتیجه مشاهده میکند.
این Node باعث میشود برای مشاهده نتیجه نیازی به ساخت رابط کاربری جداگانه نداشته باشید. n8n فرم اولیه و صفحه نتیجه را مدیریت میکند.
Connection بین Nodeها در استخراج شماره پلاک با n8n
اتصالهای Workflow از نظر منطقی بسیار ساده هستند.
اولین اتصال از FromTrigger به Settings است. بنابراین بعد از ارسال تصویر، تنظیمات مدل و Prompt وارد جریان میشوند.
سپس Settings به Basic LLM Chain متصل شده است. در این مرحله Prompt و اطلاعات تصویر برای پردازش آماده هستند.
OpenRouter LLM نیز از طریق اتصال مخصوص ai_languageModel به Basic LLM Chain متصل است. این اتصال با Connection معمولی main تفاوت دارد و برای تأمین مدل هوش مصنوعی استفاده میشود.
در پایان Basic LLM Chain خروجی خود را به FormResultPage میدهد. بنابراین نتیجه تحلیل به کاربر نمایش داده میشود.
Prompt استفادهشده در Workflow در استخراج شماره پلاک با n8n
Prompt یکی از مهمترین قسمتهای این Template است.
دستور فعلی بسیار مشخص طراحی شده و از مدل میخواهد شماره پلاک خودروی جلویی را از تصویر استخراج کند. همچنین از مدل خواسته شده هیچ متن یا ساختار اضافی در پاسخ قرار ندهد.
این محدودیت خروجی برای اتوماسیون بسیار مهم است. اگر مدل بهجای شماره پلاک جملهای مانند «شماره پلاک خودرو این است…» برگرداند، پردازش نتیجه در مراحل بعدی دشوارتر میشود.
برای کاربردهای دیگر میتوانید Prompt را تغییر دهید. برای مثال میتوان از مدل خواست نوع خودرو، رنگ خودرو یا چند ویژگی مشخص تصویر را استخراج کند.
البته برای اطلاعات حساس یا کاربردهای امنیتی، نباید نتیجه مدل را بدون اعتبارسنجی و کنترل مناسب بهعنوان داده قطعی در نظر گرفت.
نحوه شخصیسازی Workflow در استخراج شماره پلاک با n8n
تغییر Prompt
برای تغییر رفتار Workflow، ابتدا Settings را باز کنید.
در قسمت prompt میتوانید دستور جدیدی برای مدل بنویسید. بهتر است Prompt شامل هدف دقیق، اطلاعات موردنظر و فرمت خروجی باشد.
برای مثال اگر هدف استخراج چند اطلاعات است، میتوانید مدل را ملزم کنید نتیجه را در قالب مشخصی برگرداند.
تغییر مدل AI
مدل در Settings تعریف شده است. بنابراین برای تغییر مدل کافی است مقدار model را تغییر دهید.
OpenRouter مدلهای مختلفی ارائه میکند، اما هر مدلی الزاماً قابلیت تحلیل تصویر ندارد. بنابراین قبل از تغییر مدل، باید مطمئن شوید مدل انتخابشده Vision یا قابلیت ورودی تصویر را پشتیبانی میکند.
تغییر فرمت تصویر
در FromTrigger در حال حاضر JPG و PNG مجاز هستند.
اگر n8n و سرویس مدل انتخابی شما از فرمتهای دیگری پشتیبانی کنند، میتوانید تنظیمات فایل را تغییر دهید. با این حال، بهتر است محدودیتهای مدل و سرویس را قبل از فعال کردن فرمت جدید بررسی کنید.
تغییر صفحه نتیجه
FormResultPage نیز قابل شخصیسازی است. میتوانید عنوان صفحه و پیام نتیجه را تغییر دهید.
اگر خروجی Workflow ساختاریافتهتر شود، میتوانید اطلاعات مختلف را در قسمت نتیجه به شکل مناسبتری نمایش دهید.
تغییر Trigger
در حالت فعلی، کاربر فرم را باز کرده و تصویر را آپلود میکند.
اما در یک پروژه واقعی میتوان Workflow را با روشهای دیگری نیز اجرا کرد. برای مثال، تصویر میتواند از یک Webhook یا سیستم دیگری دریافت شود.
در این حالت باید مطمئن شوید داده تصویر در ساختاری قرار دارد که Basic LLM Chain بتواند آن را بهعنوان Binary Image دریافت کند.
مزایای استفاده از این Workflow در استخراج شماره پلاک با n8n
- ساخت سیستم ساده تحلیل تصویر بدون نیاز به کدنویسی زیاد.
- امکان دریافت تصویر از طریق فرم n8n.
- استفاده از مدلهای Vision برای استخراج اطلاعات.
- امکان تغییر مدل بدون بازطراحی Workflow.
- امکان تغییر Prompt از یک محل مشخص.
- نمایش مستقیم نتیجه به کاربر.
- ساختار ساده و مناسب برای یادگیری n8n.
- قابلیت توسعه برای OCR و Document Processing.
- امکان اتصال به سایر سرویسها و Databaseها.
- مناسب برای ساخت Prototype سریع.
نکات مهم در استخراج شماره پلاک با n8n
- تصویر باید با فیلد Binary مورد انتظار Basic LLM Chain دریافت شود.
- اگر نام فیلد تصویر را تغییر دادید، مقدار
binaryImageDataKeyرا نیز بررسی کنید. - همه مدلهای OpenRouter قابلیت تحلیل تصویر ندارند.
- کیفیت تصویر تأثیر مستقیمی بر کیفیت استخراج پلاک دارد.
- تصویر بسیار کوچک یا تار ممکن است باعث تشخیص اشتباه شود.
- زاویه خودرو و میزان دیدهشدن پلاک اهمیت زیادی دارد.
- Prompt را کوتاه اما دقیق نگه دارید.
- برای خروجی قابل پردازش، قالب پاسخ را صریحاً مشخص کنید.
- Credential OpenRouter را در محیط خودتان تنظیم کنید و به Credential موجود در فایل Template وابسته نباشید.
- مصرف API مدل را هنگام استفاده گسترده کنترل کنید.
- نتیجه مدل را برای کاربردهای حساس بدون Validation استفاده نکنید.
- اگر سیستم برای استفاده سازمانی طراحی میشود، Logging و مدیریت خطا را به Workflow اضافه کنید.
خطاهای رایج (Troubleshooting) در استخراج شماره پلاک با n8n
تصویر به مدل ارسال نمیشود
علت: کلید Binary مورد انتظار Basic LLM Chain با نام داده تصویر مطابقت ندارد.
راهحل: خروجی FromTrigger را بررسی کنید و مطمئن شوید تصویر در Binary با کلید Image قرار گرفته است. سپس مقدار Binary Image Data Key را بررسی کنید.
مدل انتخابشده تصویر را پردازش نمیکند
علت: مدل انتخابشده در OpenRouter قابلیت Vision یا ورودی تصویر ندارد.
راهحل: مدل را با یک مدل دارای قابلیت پردازش تصویر جایگزین کنید و مقدار model در Settings را تغییر دهید.
OpenRouter خطای احراز هویت میدهد
علت: Credential مربوط به OpenRouter تنظیم نشده، API Key اشتباه است یا اعتبار حساب کافی نیست.
راهحل: Credential مربوط به OpenRouter را بررسی کنید و مطمئن شوید API Key معتبر است. همچنین وضعیت حساب و دسترسی مدل را بررسی کنید.
مدل شماره پلاک را اشتباه استخراج میکند
علت: تصویر تار، کوچک، دارای زاویه نامناسب یا دارای نور نامناسب است. همچنین ممکن است پلاک بخشی از تصویر را تشکیل دهد و مدل نتواند جزئیات را بهدرستی تشخیص دهد.
راهحل: از تصویر باکیفیتتر استفاده کنید و Prompt را دقیقتر کنید. برای کاربردهای حساس نیز خروجی را با روش دیگری اعتبارسنجی کنید.
صفحه نتیجه مقدار مورد انتظار را نمایش نمیدهد
علت: FormResultPage انتظار دارد نتیجه در فیلد text قرار داشته باشد، اما ساختار خروجی Node قبلی ممکن است متفاوت باشد.
راهحل: خروجی Basic LLM Chain را بررسی کنید و ببینید مقدار متن پاسخ در چه Propertyای قرار دارد. سپس Expression مربوط به FormResultPage را مطابق خروجی واقعی تنظیم کنید.
فرمت تصویر پذیرفته نمیشود
علت: FromTrigger فقط .jpg و .png را در تنظیمات فعلی مجاز کرده است.
راهحل: اگر فرمت دیگری لازم دارید، تنظیمات Accept File Types را تغییر دهید و سپس سازگاری آن فرمت را با مدل و مسیر پردازش بررسی کنید.
توسعه Workflow برای کاربردهای حرفهای در استخراج شماره پلاک با n8n
این Template را میتوان پایه یک سیستم گستردهتر برای پردازش تصاویر قرار داد.
برای مثال، بعد از استخراج پلاک میتوان نتیجه را در یک Database ذخیره کرد. در چنین حالتی میتوان شماره پلاک، زمان پردازش، شناسه تصویر و نتیجه تحلیل را ذخیره کرد.
همچنین میتوان قبل از ذخیره اطلاعات، یک مرحله Validation ایجاد کرد. این مرحله میتواند بررسی کند که خروجی مدل با الگوی مورد انتظار پلاک مطابقت دارد یا خیر.
در یک سیستم پیشرفتهتر، میتوان تصویر را از دوربین یا سیستم مدیریت پارکینگ دریافت کرد. سپس Workflow تصویر را به مدل Vision ارسال کرده و نتیجه را در سیستم مقصد ثبت کند.
با اضافه کردن IF، Code، Database یا HTTP Request میتوان این Template را به یک فرایند اتوماسیون کامل تبدیل کرد.
تفاوت این Workflow با OCR سنتی در استخراج شماره پلاک با n8n
در OCR سنتی، معمولاً تصویر ابتدا به یک موتور تشخیص متن ارسال میشود و سپس متن استخراجشده توسط برنامه پردازش میشود.
در این Template، مدل چندرسانهای مستقیماً تصویر را دریافت میکند و بر اساس Prompt، اطلاعات موردنظر را استخراج میکند.
این روش برای ساخت Prototype بسیار ساده است، زیرا تعداد مراحل Workflow کاهش پیدا میکند. با این حال، برای سیستمهای صنعتی و حساس باید دقت، هزینه، سرعت و قابلیت اطمینان مدل بهصورت واقعی آزمایش شود.
OCR تخصصی و مدلهای Vision عمومی نیز اهداف متفاوتی دارند. بنابراین انتخاب روش مناسب باید بر اساس کیفیت موردنیاز و نوع پروژه انجام شود.
چرا OpenRouter در این Workflow استفاده شده است؟
OpenRouter در این Template نقش واسط مدل هوش مصنوعی را دارد. بهجای اینکه منطق Workflow مستقیماً به یک مدل خاص وابسته شود، مدل از طریق Node مربوط به OpenRouter در اختیار Basic LLM Chain قرار میگیرد.
این طراحی باعث میشود تغییر مدل سادهتر شود. مدل در Settings مشخص شده و Node OpenRouter آن را برای Chain فراهم میکند.
این ساختار برای آزمایش مدلهای مختلف نیز مفید است. میتوانید مدلهای مختلف دارای قابلیت پردازش تصویر را آزمایش کرده و نتایج آنها را روی تصاویر مشابه مقایسه کنید.
جمعبندی
Workflow استخراج شماره پلاک با n8n نمونهای ساده اما کاربردی از ترکیب n8n، فرمهای ورودی و مدلهای هوش مصنوعی چندرسانهای است.
در این Template، کاربر تصویر را از طریق Form Trigger ارسال میکند. سپس Node Settings مدل و Prompt را مشخص میکند و Basic LLM Chain تصویر را همراه دستور موردنظر به مدل ارسال میکند.
مدل از طریق OpenRouter در اختیار Chain قرار گرفته است. در حالت پیشفرض، openai/gpt-4o برای تحلیل تصویر انتخاب شده، اما ساختار Workflow امکان تغییر مدل را نیز فراهم میکند.
در پایان، نتیجه تحلیل از طریق FormResultPage به کاربر نمایش داده میشود. همین ساختار ساده میتواند پایهای برای پروژههای پیشرفتهتر باشد.
با اضافه کردن Database، Validation، مدیریت خطا، Webhook و سیستم ثبت رویداد، میتوان Workflow را برای سناریوهای واقعی توسعه داد.
البته نتیجه مدل هوش مصنوعی نباید در کاربردهای حساس بدون کنترل و اعتبارسنجی استفاده شود. کیفیت تصویر و توانایی مدل انتخابی نیز نقش مهمی در دقت استخراج پلاک دارند.



