کار با دوربین در اپلیکیشن

دوربین، در نگاه اول سادهترین قابلیت اپلیکیشن است: دکمه بزن، عکس بگیر.
در عمل، یکی از پرباگترین بخشهاست — چون به سختافزار، مجوز، حافظه و سیستمعامل همزمان وابسته است، و هر کدام روی دستگاههای مختلف رفتار متفاوتی دارند.
دو مسیر، و کدام را انتخاب کنید
دوربین سیستم. اپ شما دوربین پیشفرض را باز میکند و عکس را تحویل میگیرد.
مزیت: ساده، آشنا برای کاربر، و همهٔ قابلیتهای دوربین دستگاه در دسترس است.
عیب: کنترلی روی کادر و کیفیت ندارید. کاربر میتواند عکس قدیمی از گالری هم بدهد.
دوربین درونبرنامهای. پیشنمایش داخل اپ شما.
مزیت: کنترل کامل — کادر راهنما، بررسی کیفیت در لحظه، اجبار به عکس تازه.
عیب: پیچیدهتر، و باید روی دستگاههای متنوع تست شود.
قاعده: اگر تصویر قرار است پردازش شود، دوربین درونبرنامهای. اگر فقط پیوست است، دوربین سیستم کافی است.
آن نکتهٔ «عکس از گالری» در احراز هویت حیاتی است: تصویری که از گالری آمده میتواند عکسِ عکس باشد — همان چیزی که در احراز هویت با تصویر مدرک گفتیم باید تشخیص داده شود.
راهنمای زنده، مهمترین بخش
اگر یک چیز از این مقاله بماند: جلوگیری از عکس بد، از تلاش برای خواندنش ارزانتر است.
آنچه باید در لحظهٔ عکسگرفتن بررسی شود:
کادر راهنما با شکل و نسبت درست — مستطیل کارت، قاب سند، بیضی چهره.
تشخیص لبه. اگر سند کامل در کادر نیست، بگویید.
تشخیص تاری، با سنجش شدت لبهها. دکمهٔ عکس تا وقتی تصویر تار است غیرفعال بماند — مؤثرترین کنترل ممکن.
بررسی نور. خیلی تاریک یا بازتاب شدید.
زاویه. اگر گوشی کج است، هشدار بدهید.
و پیامها را کوتاه و عملی بنویسید: «کمی عقبتر بگیرید»، «نور کافی نیست». نه «خطا در پردازش تصویر». همان اصولی که در ریزنوشته گفتیم.
این کنترلها را روی خود دستگاه اجرا کنید — کاربردی که در هوش مصنوعی روی خود دستگاه گفتیم بهراحتی شدنی است.
مجوز، و لحظهٔ درست پرسیدن
در اولین اجرا نپرسید. وقتی بپرسید که کاربر دکمهٔ «افزودن عکس» را زده — آنوقت دلیل بدیهی است و نرخ پذیرش چند برابر میشود.
پیش از درخواست سیستمی، خودتان توضیح دهید چرا لازم است.
و حالت رد شدن را مدیریت کنید. کاربری که مجوز نداده، باید بتواند از گالری انتخاب کند یا به تنظیمات هدایت شود. اپی که در این حالت خالی میماند، باگ دارد.
جزئیاتش در تجربهٔ اولین اجرا.
حجم و حافظه
دوربین گوشی امروز تصاویر بسیار بزرگی تولید میکند. اگر خام نگه دارید:
- حافظه پر میشود و اپ میافتد — بهویژه روی دستگاه ضعیف.
- آپلود طول میکشد و حجم اینترنت کاربر را میخورد.
قواعد:
بلافاصله پس از گرفتن، تغییر اندازه دهید. به بزرگترین اندازهای که پردازش لازم دارد — نه بیشتر. برای OCR سند، معمولاً عرض دو تا سه هزار پیکسل کافی است.
فشردهسازی متعادل. فشردهٔ زیاد، آثاری میسازد که دقت پردازش را پایین میآورد — همان دامی که در پیشپردازش تصویر گفتیم.
تصویر را روی دیسک نگه دارید، نه در حافظه.
فایلهای موقت را پاک کنید.
و اگر چند عکس گرفته میشود، یکییکی پردازش کنید، نه همه با هم.
آپلود
جدا از داده. فرم باید ثبت شود حتی اگر عکسها هنوز نرفتهاند.
قابل ازسرگیری، برای شبکهٔ قطعوصلشونده.
در صف، با تلاش مجدد.
گزینهٔ فقط وایفای برای حجم بالا.
و نمایش وضعیت: چند تا رفته، چند تا مانده. کاربری که نمیداند عکسش ارسال شده، دوباره میگیرد.
الگوی کاملش در جمعآوری داده میدانی.
حالتهایی که همیشه فراموش میشوند
از پروژههای واقعی — هرکدام یک باگ تولیدی بوده:
چرخش تصویر. عکس گرفتهشده در حالت افقی، ممکن است با فرادادهٔ چرخش ذخیره شود. اگر سرور آن فراداده را نادیده بگیرد، تصویر چرخیده پردازش میشود و هیچکس نمیفهمد چرا OCR کار نمیکند. فراداده را اعمال و بعد حذف کنید.
کشته شدن اپ وسط کار. دوربین حافظهٔ زیادی میگیرد؛ سیستمعامل ممکن است اپ را در پسزمینه ببندد. وقتی کاربر برمیگردد، عکس گرفتهشده باید سر جایش باشد.
تماس ورودی وسط عکسگرفتن.
فضای ذخیرهسازی پر. پیام روشن بدهید، نه خطای عمومی.
دوربین در حال استفاده توسط اپ دیگر.
دستگاه بدون دوربین پشت یا با چند دوربین.
مجوز که کاربر بعداً از تنظیمات گرفته.
اسکن سند، الگوی رایج
اگر کاربردتان اسکن سند است، این ترتیب جواب میدهد:
۱. پیشنمایش با کادر راهنما ۲. تشخیص خودکار لبههای سند ۳. بررسی کیفیت — تاری، نور، کامل بودن ۴. عکس پس از سبز شدن همهٔ شرطها ۵. تصحیح چشمانداز روی دستگاه ۶. نمایش نتیجه به کاربر برای تأیید ۷. آپلود
مرحلهٔ ۶ را حذف نکنید. کاربری که نتیجه را ببیند و تأیید کند، عکس بد کمتری میفرستد — و اگر بد بود، همانجا دوباره میگیرد بهجای اینکه ساعتها بعد رد شود.
تست
روی دستگاه واقعی، نه شبیهساز. دوربین شبیهساز، دوربین نیست.
روی دستگاه ضعیف، که مسائل حافظه آنجا ظاهر میشوند.
در شرایط نوری مختلف: آفتاب مستقیم، نور کم، نور مهتابی.
با سندهای واقعی، نه چاپ تمیز آزمایشگاهی.
فهرست کامل حالتهایی که باید تست شوند در تست اپلیکیشن موبایل.