خواندن تصویر در OpenCV از مسیر یونیکد

خواندن تصویر در OpenCV از مسیر یونیکد

How to use cv::imread for non-ASCII file names?

چگونه از imread برای نام فایلهای غیراسکی استفاده کنیم؟

یکی از مشکلات نسخه های فعلی OpenCV این است که امکان خواندن از مسیر یونیکد وجود ندارد و اگر مثلا در مسیر فایل یا نام فایل، حروف فارسی وجود داشته باشد، امکان خواندن تصویر وجود ندارد. راه حلی که من استفاده کردم و جواب می دهد قطعه کد زیر است که ابتدا فایل را به صورت یک فایل باینری توسط توابع استاندارد C++ می خوانیم سپس با تابع imdecode بافر حافظه را تبدیل به cv::Mat می کنیم:

cv::Mat ReadImage(const wchar_t* filename)
{
    FILE* fp = _wfopen(filename, L"rb");
    if (!fp)
    {
        return Mat::zeros(۱, ۱, CV_8U);
    }
    fseek(fp, ۰, SEEK_END);
    long sz = ftell(fp);
    char* buf = new char[sz];
    fseek(fp, ۰, SEEK_SET);
    long n = fread(buf, ۱, sz, fp);
    _InputArray arr(buf, sz);
    Mat img = imdecode(arr, CV_LOAD_IMAGE_COLOR);
    delete[] buf;
    fclose(fp);
    return img;
}
شاید به این مقاله هم علاقه داشته باشی
رفع خطای عدم ارتباط با دیتابیس در آی پلاک
تصویر شرکت شهاب

شرکت شهاب

شرکت شهاب با تکیه بر تیمی متخصص در حوزه های پردازش تصویر، هوش مصنوعی و یادگیری عمیق، تجربه گسترده ای در اجرای پروژه های نظارت تصویری و کنترل تردد دارد و محتوای وب سایت آن بر پایه دانش عملی، تحقیق و توسعه مستمر تهیه شده است. شهاب با برخورداری از گواهینامه های معتبر، حضور فعال در رویدادهای علمی و ارائه محصولات نوآورانه ای همچون نرم افزار پلاک خوان آی پلاک ، سامانه تشخیص چهره روبینا و انواع دوربین های پلاک خوان، اعتبار خود را در صنعت تثبیت کرده است. این شرکت با رعایت اصول شفافیت، امنیت، دقت علمی و مسئولیت پذیری در پشتیبانی، تلاش می کند اعتماد کاربران را جلب کرده و محتوایی کاربردی، به روز و مبتنی بر استانداردهای بین المللی ارائه دهد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دانلود دمو رایگان آی پلاک

به دنبال پلاک خوان هستید؟