|
|
متلب - نسخهی قابل چاپ |
|
متلب - mina001 - 19 خرداد ۱۳۹۵ ۰۷:۵۱ ب.ظ
با سلام من یه پروژه دارم که تو اون باید چند تا عکس بگیرم و تعداد پیکسل های سفید هر یک را شمرده و در یک ماتریس ذخیره کنم می خواستم بدونم این کارو چطوری می تونم تو متلب انجام بدم. خیلی ضروری با تشکر خواهش می کنم یک نفر جواب بده |
RE: متلب - gunnersregister - 19 خرداد ۱۳۹۵ ۰۸:۴۰ ب.ظ
(۱۹ خرداد ۱۳۹۵ ۰۷:۵۱ ب.ظ)mina001 نوشته شده توسط: با سلامتصاویر شما چه نوعی هستند؟ باینری(فقط سیاه و سفید) خاکستری(طیف ۲۵۶ تایی بین سفید و سیاه) رنگی اگه فرض کنیم تصاویر شما خاکستری هستند، اون موقع کافیه حد خاصی(مثلا ۲۰۰) برای سفید تعیین کنید و هر جا که ماتریس اون تصویر تون بیشتر از شد رو سفید فرض کنید. اگه تصویرتون هم باینریه: سفید مقدار ۱ رو میگیره و کافیه با دستور ساده متلب پیکسلهایی که مقدار ۱ رو دارن پیدا کنید. |
|
RE: متلب - Behnam - ۱۹ خرداد ۱۳۹۵ ۰۹:۴۸ ب.ظ
روش روتین کد: img = imread('ximagepixel140141_765.bmp');روش میانبر کد: img = imread('ximagepixel140141_765.bmp'); |
|
RE: متلب - mina001 - 19 خرداد ۱۳۹۵ ۱۰:۵۵ ب.ظ
[quote='gunnersregister' pid='406895' dateline='1465402221'] [quote='mina001' pid='406889' dateline='1465399319'] با سلام من یه پروژه دارم که تو اون باید چند تا عکس بگیرم و تعداد پیکسل های سفید هر یک را شمرده و در یک ماتریس ذخیره کنم می خواستم بدونم این کارو چطوری می تونم تو متلب انجام بدم. خیلی ضروری با تشکر خواهش می کنم یک نفر جواب بده [/quote] تصاویر شما چه نوعی هستند؟ باینری(فقط سیاه و سفید) خاکستری(طیف ۲۵۶ تایی بین سفید و سیاه) رنگی اگه فرض کنیم تصاویر شما خاکستری هستند، اون موقع کافیه حد خاصی(مثلا ۲۰۰) برای سفید تعیین کنید و هر جا که ماتریس اون تصویر تون بیشتر از شد رو سفید فرض کنید. اگه تصویرتون هم باینریه: سفید مقدار ۱ رو میگیره و کافیه با دستور ساده متلب پیکسلهایی که مقدار ۱ رو دارن پیدا کنید. [/quote] باینری هست [quote='behnam5670' pid='406904' dateline='1465406311'] روش روتین کد: img = imread('ximagepixel140141_765.bmp');count0 تعداد پیکسل های سیاه هست و count1 سفید؟ برای ۱۵۵ تصویر که من دارم باید دونه دونه آدرسشون رو بدم و تعداد پیکسل های سفید رو به دست بیارم و تو یه فایل اکسل ذخیره کنم و بعد به عنوان ورودی به شبکه عصبی بدم؟ این مقاله من ۳ تا متد داره Method 1) Based on Foreground Pixels Method 2) Based on Closed Foreground Pixels Method 3) Based on Closed Foreground Pixels and Ratio of Erosed Pixels over Foreground Pixels اگه بتونین برای مراحل ۲و ۳ هم راهنمایی کنین ممنون میشم |
RE: متلب - gunnersregister - 19 خرداد ۱۳۹۵ ۱۱:۵۲ ب.ظ
(۱۹ خرداد ۱۳۹۵ ۱۰:۵۵ ب.ظ)mina001 نوشته شده توسط: این مقاله من ۳ تا متد داره می تونید از یه کد ساده برای خوندن تموم عکسها استفاده کنید: کد: strPicture='scans\s';%\Documents\MATLABاین برنامه تموم عکسهای پوشه scans از مسیر \Documents\MATLAB رو یکی یکی میخونه. توضیحات بیشتری بدید که مراحل ۱ تا ۳ ازتون چی میخوان؟ |
RE: متلب - mina001 - 20 خرداد ۱۳۹۵ ۰۱:۰۶ ق.ظ
(۱۹ خرداد ۱۳۹۵ ۱۱:۵۲ ب.ظ)gunnersregister نوشته شده توسط: توضیحات بیشتری بدید که مراحل ۱ تا ۳ ازتون چی میخوان؟ متد اول که تعداد پیکسل های سفید رو می شمره و به عنوان ورودی به شبکه عصبی داده میشه و با dataset groundtruth مقایسه میشه متد دوم بعد از اینکه تصاویر رو close میکنیم تعداد پیکسل های سفید رو به دست می آوریم و مثل مرحله قبل مقایسه می کنیم در متد سوم بعد از close کردن و بعد هم erosed کردن میاد تعداد پیکسل های سفید رو به دست میاره. erosed کردن همون دستور open کردن هست؟؟ مقاله رو پیوست میکنم ممنون میشم کمکم کنید خیلی به کمکتون نیاز دارمم یه دنیا ممنون |
|
متلب - mina001 - 20 خرداد ۱۳۹۵ ۰۸:۵۵ ق.ظ
این کد تصویر ما رو close میکنه چیکار کنم که همه تصاویر رو باهم بخونه و تعداد پیکسل هایسفیدشون رو بشمره؟ کد: P=imread('C:\Users\mina\Documents\MATLAB\Dataset\ximagepixels\ximagepixel140141_765.BMP');این رو هم برای متد ۳ نوشتم که اول تصاویر رو close میکنه بعد هم open ولی این کد فقط برای یک تصویر تعداد پیکسل ها رو میشمره حالا من اون کدی که گذاشته بودین برای خوندن تمام پیکسل ها کجای این کد بزارم که تمام تصاویر پوشه که ۱۵۰ تا است رو باهم بخونه و تعداد پیکسل هاشونو بشمره و در یک فایل text ذخیره کنه؟ از راهنمایی هاتون بی نهایت ممنونم کد: clear all |
RE: متلب - gunnersregister - 20 خرداد ۱۳۹۵ ۰۲:۵۸ ب.ظ
(۲۰ خرداد ۱۳۹۵ ۰۱:۰۶ ق.ظ)mina001 نوشته شده توسط: متد اول که تعداد پیکسل های سفید رو می شمره و به عنوان ورودی به شبکه عصبی داده میشه و با dataset groundtruth مقایسه میشه در کل روشهایی که ازش اسم بردید برای Morphology تو تصاویر به کار میره. مثلا dilation برای پهنتر کردن erosion برای نازک تر کردن. opening که شامل یک مرحله dilation و بعد erosion هست و کاری که میکنه اینه که شکاف بین تصاویر رو باز میکنه. closing که شامل یک مرحله erosion و بعد dilation هست و کاری که میکنه اینه که شکاف بین تصاویر رو کم میکنه. هر کدومشون دستور خودشون رو تو متلب دارن. imclose-imerode-imdilate-imopen |
RE: متلب - mina001 - 20 خرداد ۱۳۹۵ ۰۴:۰۹ ب.ظ
(۲۰ خرداد ۱۳۹۵ ۰۲:۵۸ ب.ظ)gunnersregister نوشته شده توسط: در کل روشهایی که ازش اسم بردید برای Morphology تو تصاویر به کار میره.میتو نیم برای closing کردن همون imclose رو بنویسیم به جای اینکه یک مرحله erosion و بعد dilation کنیم؟ منظورم اینه که پاسخ هر دو تاشون یکی هست؟ imclose =erosion +dilation |
RE: متلب - gunnersregister - 20 خرداد ۱۳۹۵ ۰۵:۳۶ ب.ظ
(۲۰ خرداد ۱۳۹۵ ۰۴:۰۹ ب.ظ)mina001 نوشته شده توسط:بله پاسخ یکی هست.(20 خرداد ۱۳۹۵ ۰۲:۵۸ ب.ظ)gunnersregister نوشته شده توسط: در کل روشهایی که ازش اسم بردید برای Morphology تو تصاویر به کار میره.میتو نیم برای closing کردن همون imclose رو بنویسیم به جای اینکه یک مرحله erosion و بعد dilation کنیم؟ بله اون دستور همون کار رو انجام میده. من اونو نوشتم که بگم closing چطور بدست میاد. برای دستورات مورفولوژی قبلش باید یه ساختار(structure) درست کنید. اسمش رو بزارید B. این ساختار باید فررم خاصی داشته باشه. متلب خودش یه سری ساختار اماده داره. البته میتونید به کمک یه ماتریس ۲ بعدی هم یه ساختار جدید بسازید. مثلا کد: B=[1 1 1;1 1 1; 1 1 1];کد: NewImage=imerode(image,B); |
|
RE: متلب - mina001 - 25 خرداد ۱۳۹۵ ۰۳:۰۲ ب.ظ
جدول و نمودار مقاله |
RE: متلب - ارشد۹۵ - ۱۳ آبان ۱۳۹۵ ۱۲:۰۵ ق.ظ
(۱۹ خرداد ۱۳۹۵ ۰۸:۴۰ ب.ظ)gunnersregister نوشته شده توسط:(19 خرداد ۱۳۹۵ ۰۷:۵۱ ب.ظ)mina001 نوشته شده توسط: با سلامتصاویر شما چه نوعی هستند؟ باینری(فقط سیاه و سفید) |