تشخیص BLOBs در تصویر به کمک OpenCV
BLOB یا B inary L arge OB ject به معنای گروهی از نقاط به هم پیوستهی در یک تصویر باینری هستند. Large در اینجا به این معنا است که اشیایی با اندازههایی مشخص، مدنظر هستند و اشیاء کوچک، به عنوان نویز درنظر گرفته خواهند شد و پردازش نمیشوند.
برای نمونه در تصویر ذیل، تصویر سمت چپ، تصویر اصلی است و تصویر سمت راست، نمونهی باینری سیاه و سفید آن. سپس عملیات تشخیص Blobs بر روی تصویر اصل ...
کدهای IL و تایید آن ها ساختار استکی
IL از ساختار استک استفاده میکند. به این معنی که تمامی دستور العملها داخل آن push شده و نتیجهی اجرای آنها pop میشوند. از آنجا که IL به طور مستقیم ارتباطی با ثباتها ندارد، ایجاد زبانهای برنامه نویسی جدید بر اساس CLR بسیار راحتتر هست و عمل کامپایل، تبدیل کردن به کدهای IL میباشد. بدون نوع بودن(Typeless )
...
Syntax برای کار با CoffeeScript، ابتدا باید با ساختار Syntax آن آشنا شد. CoffeeScript در بسیاری از موارد با جاوااسکریپت یکسان است در حالیکه در قسمت قبل گفته شد که CoffeeScript زیر مجموعهای جاوااسکریپت نیست؛ بنابراین برخی از کلمات کلیدی مانند function و var در آن مجاز نیست و سبب بروز خطا در زمان کامپایل میشوند. وقتی شما شروع به نوشتن فایل CoffeeScript میکنید، باید تمام کدهایی را که مینویسید، با Syntax کامل CoffeeScript بنویسید ...
شما در حال نوشتن یک نرم افزار هستید و برای این نرم افزار ممکن است ماهها وقت صرف کرده باشید؛ پس باید به دنبال راهی باشید که بتوانید از آن محافظت کنید. راههای متعددی برای Trial کردن نرم افزار وجود دارند که یکی از این راهها استفاده از سریال سخت افزارهای کامپیوتر کاربر است. همانطور که میدانید هر سخت افزار یک شمارهی سریال مخصوص خودش را دارد و بدین طریق میتوان یک شماره سریال منحصر به فرد را تولید کرد. ما در این مقاله برای بدست آوردن کلیهی ...
مقدمه
CoffeeScript یک زبان برنامه نویسی برای تولید کدهای جاوااسکریپت است که Syntax آن الهام گرفته از Ruby و Python است و بسیاری از ویژگیهایش، از این دو زبان پیاده سازی شده است.
سوالی که ممکن است برای هر کسی پیش بیاید این است که چرا باید از CoffeeScript استفاده کرد و یا چرا نوشتن CoffeeScript بهتر از نوشتن مستقیم جاوااسکریپت است؟
از جمله دلایلی که ...
در مقاله قبلی مبحث کامپایلر JIT را آغاز کردیم. در این قسمت قصد داریم مبحث کارآیی CLR و مباحث دیباگینگ را پیش بکشیم.
از آنجا که یک کد مدیریت نشده، مبحث کارهای JIT را ندارد، ولی CLR مجبور است وقتی را برای آن بگذارد، به نظر میرسد ما با یک نقص کوچک در کارآیی روبرو هستیم. گفتیم که جیت کدها را در حافظهی پویا ذخیره میکند. به همین خاطر با terminate شدن یا خاتمه دادن به برنامه، این کدها از بین میروند یا اینکه اگر ...
تشخیص قسمتهای مشابه تصاویر در OpenCV
در شکل زیر، دو تصویر سمت چپ و راست، اندکی با هم تفاوت دارند و در تصویر سوم، نقاط مشابه یافت شدهی توسط OpenCV ترسیم شدهاند:
کدهای مثال فوق را در ذیل مشاهده میکنید: var img1 = new Mat(@"..\..\Images\left.png", LoadMode.GrayScale);
Cv2.ImShow("Left", img1);
Cv2.WaitKey(1); // do events
var img2 = new Mat(@"..\..\Images\right.png", LoadMode.GrayScale);
Cv ...
اجرای کدهای اسمبلی
همانطور که قبلا ذکر کردیم یک اسمبلی شامل کدهای IL و متادیتا هاست. IL یک زبان غیر وابسته به معماری سی پی یو است که مایکروسافت پس از مشاورههای زیاد از طریق نویسندگان کامپایلر و زبانهای آکادمی و تجاری آن را ایجاد کرده است. IL یک زبان کاملا سطح بالا نسبت به زبانهای ماشین سی پی یو است. IL میتواند به انواع اشیاء دسترسی داشته و آنها را دستکاری نماید و شامل دستورالعمل هایی برای ایجاد و آماده سازی اشیاست. صدا زد ...
قطعه بندی (segmentation) تصویر با استفاده از الگوریتم watershed
در تصویر ذیل، تصویر یک راهرو را مشاهده میکنید که توسط ماوس قطعه بندی شدهاست (تصویر اصلی یا سمت چپ). تصویر سمت راست، نسخهی قطعه بندی شدهی این تصویر به کمک الگوریتم watershed است.
همانطور که در تصویر نیز مشخص است، نمایش هر ناحیهی قطعه بندی شده، شبیه به سیلان آب است که با رسیدن به مرز قطعهی بعدی متوقف شدهاست. به همین جهت به آن watershed (آب پخشان) ...
در قسمت قبلی با اسمبلیها تا حدی آشنا شدیم. امروز میخواهیم یاد بگیریم که چگونه اسمبلیها در حافظه بارگذاری میشوند. همانطور که میدانید CLR مسئول اجرای کدهای داخل اسمبلیهاست. به همین دلیل یک نسخهی دات نت فریم ورک هم باید در ماشین مقصد نصب باشد. به همین منظور مایکروسافت بستههای توزیع شوندهی دات نت فریمورک را فراهم کرده تا به سادگی بر روی سیستم مشتری نصب شوند و بعضی از ویندوزها نیز نسخههای متفاوتی از دات نت فریم ورک را شامل میشوند ...