زمان کنونی: ۱۶ آبان ۱۴۰۳, ۰۳:۴۲ ق.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن می‌توانید عضو شوید.
گزینه‌های شما (ورودثبت نام)

متلب

ارسال:
  

mina001 پرسیده:

متلب

با سلام
من یه پروژه دارم که تو اون باید چند تا عکس بگیرم و تعداد پیکسل های سفید هر یک را شمرده و در یک ماتریس ذخیره کنم می خواستم بدونم این کارو چطوری می تونم تو متلب انجام بدم. خیلی ضروری
با تشکر

خواهش می کنم یک نفر جواب بده
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

gunnersregister پاسخ داده:

RE: متلب

(۱۹ خرداد ۱۳۹۵ ۰۷:۵۱ ب.ظ)mina001 نوشته شده توسط:  با سلام
من یه پروژه دارم که تو اون باید چند تا عکس بگیرم و تعداد پیکسل های سفید هر یک را شمرده و در یک ماتریس ذخیره کنم می خواستم بدونم این کارو چطوری می تونم تو متلب انجام بدم. خیلی ضروری
با تشکر

خواهش می کنم یک نفر جواب بده
تصاویر شما چه نوعی هستند؟ باینری(فقط سیاه و سفید)
خاکستری(طیف ۲۵۶ تایی بین سفید و سیاه)
رنگی

اگه فرض کنیم تصاویر شما خاکستری هستند، اون موقع کافیه حد خاصی(مثلا ۲۰۰) برای سفید تعیین کنید و هر جا که ماتریس اون تصویر تون بیشتر از شد رو سفید فرض کنید.
اگه تصویرتون هم باینریه: سفید مقدار ۱ رو میگیره و کافیه با دستور ساده متلب پیکسلهایی که مقدار ۱ رو دارن پیدا کنید.
نقل قول این ارسال در یک پاسخ

ارسال:
  

mina001 پاسخ داده:

RE: متلب

[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');
[m n] = size(img);
count0 = 0;
count1 = 0;
for i = 1 : m
   for j = 1 : n
      if(img(i,j) == 0)
         count0 = count0 + 1;
      else
         count1 = count1 + 1;
      end
   end
end
fileID = fopen('out.txt','w');
fprintf(fileID, '%d\n', count0);
fprintf(fileID, '%d\n', count1);
fclose(fileID);
ممنون
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

اگه بتونین برای مراحل ۲و ۳ هم راهنمایی کنین ممنون میشم


فایل‌(های) پیوست شده
ximagepixel140141_765.bmp
اندازه فایل: ۶۹/۳۳ KB
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال:
  

gunnersregister پاسخ داده:

RE: متلب

(۱۹ خرداد ۱۳۹۵ ۱۰:۵۵ ب.ظ)mina001 نوشته شده توسط:  این مقاله من ۳ تا متد داره
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

اگه بتونین برای مراحل ۲و ۳ هم راهنمایی کنین ممنون میشم
برای ۱۵۵ تصویر که من دارم باید دونه دونه آدرسشون رو بدم و تعداد پیکسل های سفید رو به دست بیارم و تو یه فایل اکسل ذخیره کنم و بعد به عنوان ورودی به شبکه عصبی بدم؟

می تونید از یه کد ساده برای خوندن تموم عکسها استفاده کنید:
کد:
strPicture='scans\s';%\Documents\MATLAB
for i=1:10
    if(i<10)  
        str1Picture='0';
    else
        str1Picture='';
    end
    str2Picture=num2str(i);
    str3Picture='.jpg';
    AddressFinalPicture=[strPicture str1Picture str2Picture str3Picture];
Picture = imread(AddressFinalPicture);
end

این برنامه تموم عکسهای پوشه scans از مسیر \Documents\MATLAB
رو یکی یکی میخونه.

توضیحات بیشتری بدید که مراحل ۱ تا ۳ ازتون چی میخوان؟
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال:
  

mina001 پاسخ داده:

RE: متلب

(۱۹ خرداد ۱۳۹۵ ۱۱:۵۲ ب.ظ)gunnersregister نوشته شده توسط:  توضیحات بیشتری بدید که مراحل ۱ تا ۳ ازتون چی میخوان؟

متد اول که تعداد پیکسل های سفید رو می شمره و به عنوان ورودی به شبکه عصبی داده میشه و با dataset groundtruth مقایسه میشه
متد دوم بعد از اینکه تصاویر رو close میکنیم تعداد پیکسل های سفید رو به دست می آوریم و مثل مرحله قبل مقایسه می کنیم

در متد سوم بعد از close کردن و بعد هم erosed کردن میاد تعداد پیکسل های سفید رو به دست میاره.

erosed کردن همون دستور open کردن هست؟؟



مقاله رو پیوست میکنم ممنون میشم کمکم کنید خیلی به کمکتون نیاز دارمم
یه دنیا ممنون


فایل‌(های) پیوست شده
[Y Hou 2008] Automated people counting at a mass site.pdf
اندازه فایل: ۳۳۹/۳۳ KB
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال:
  

gunnersregister پاسخ داده:

RE: متلب

(۲۰ خرداد ۱۳۹۵ ۰۱:۰۶ ق.ظ)mina001 نوشته شده توسط:  متد اول که تعداد پیکسل های سفید رو می شمره و به عنوان ورودی به شبکه عصبی داده میشه و با dataset groundtruth مقایسه میشه
متد دوم بعد از اینکه تصاویر رو close میکنیم تعداد پیکسل های سفید رو به دست می آوریم و مثل مرحله قبل مقایسه می کنیم

در متد سوم بعد از close کردن و بعد هم erosed کردن میاد تعداد پیکسل های سفید رو به دست میاره.

erosed کردن همون دستور open کردن هست؟؟



مقاله رو پیوست میکنم ممنون میشم کمکم کنید خیلی به کمکتون نیاز دارمم
یه دنیا ممنون

در کل روشهایی که ازش اسم بردید برای Morphology تو تصاویر به کار میره.
مثلا
dilation برای پهنتر کردن
erosion برای نازک تر کردن.
opening که شامل یک مرحله dilation و بعد erosion هست و کاری که میکنه اینه که شکاف بین تصاویر رو باز میکنه.
closing که شامل یک مرحله erosion و بعد dilation هست و کاری که میکنه اینه که شکاف بین تصاویر رو کم میکنه.

هر کدومشون دستور خودشون رو تو متلب دارن.

imclose-imerode-imdilate-imopen
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال:
  

mina001 پاسخ داده:

RE: متلب

(۲۰ خرداد ۱۳۹۵ ۰۲:۵۸ ب.ظ)gunnersregister نوشته شده توسط:  در کل روشهایی که ازش اسم بردید برای Morphology تو تصاویر به کار میره.
مثلا
dilation برای پهنتر کردن
erosion برای نازک تر کردن.
opening که شامل یک مرحله dilation و بعد erosion هست و کاری که میکنه اینه که شکاف بین تصاویر رو باز میکنه.
closing که شامل یک مرحله erosion و بعد dilation هست و کاری که میکنه اینه که شکاف بین تصاویر رو کم میکنه.

هر کدومشون دستور خودشون رو تو متلب دارن.

imclose-imerode-imdilate-imopen
میتو نیم برای closing کردن همون imclose رو بنویسیم به جای اینکه یک مرحله erosion و بعد dilation کنیم؟
منظورم اینه که پاسخ هر دو تاشون یکی هست؟
imclose =erosion +dilation
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال:
  

gunnersregister پاسخ داده:

RE: متلب

(۲۰ خرداد ۱۳۹۵ ۰۴:۰۹ ب.ظ)mina001 نوشته شده توسط:  
(20 خرداد ۱۳۹۵ ۰۲:۵۸ ب.ظ)gunnersregister نوشته شده توسط:  در کل روشهایی که ازش اسم بردید برای Morphology تو تصاویر به کار میره.
مثلا
dilation برای پهنتر کردن
erosion برای نازک تر کردن.
opening که شامل یک مرحله dilation و بعد erosion هست و کاری که میکنه اینه که شکاف بین تصاویر رو باز میکنه.
closing که شامل یک مرحله erosion و بعد dilation هست و کاری که میکنه اینه که شکاف بین تصاویر رو کم میکنه.

هر کدومشون دستور خودشون رو تو متلب دارن.

imclose-imerode-imdilate-imopen
میتو نیم برای closing کردن همون imclose رو بنویسیم به جای اینکه یک مرحله erosion و بعد dilation کنیم؟
منظورم اینه که پاسخ هر دو تاشون یکی هست؟
imclose =erosion +dilation
بله پاسخ یکی هست.

بله اون دستور همون کار رو انجام میده. من اونو نوشتم که بگم closing چطور بدست میاد.
برای دستورات مورفولوژی قبلش باید یه ساختار(structure) درست کنید. اسمش رو بزارید B. این ساختار باید فررم خاصی داشته باشه. متلب خودش یه سری ساختار اماده داره. البته میتونید به کمک یه ماتریس ۲ بعدی هم یه ساختار جدید بسازید.
مثلا
کد:
B=[1 1 1;1 1 1; 1 1 1];
B=[0 1 0; 1 1 1 ; 0 1 0];
بعدش با دستور زیر خروجی تصویر حاصل از عملیات مورفولوژی بدست میاد.

کد:
NewImage=imerode(image,B);
حالا تصویر حاصل از erosion داخل NewImage ذخیره شده. که میتونید ازش استفاده کنید.
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال:
  

ارشد۹۵ پاسخ داده:

RE: متلب

(۱۹ خرداد ۱۳۹۵ ۰۸:۴۰ ب.ظ)gunnersregister نوشته شده توسط:  
(19 خرداد ۱۳۹۵ ۰۷:۵۱ ب.ظ)mina001 نوشته شده توسط:  با سلام
من یه پروژه دارم که تو اون باید چند تا عکس بگیرم و تعداد پیکسل های سفید هر یک را شمرده و در یک ماتریس ذخیره کنم می خواستم بدونم این کارو چطوری می تونم تو متلب انجام بدم. خیلی ضروری
با تشکر

خواهش می کنم یک نفر جواب بده
تصاویر شما چه نوعی هستند؟ باینری(فقط سیاه و سفید)
خاکستری(طیف ۲۵۶ تایی بین سفید و سیاه)
رنگی

اگه فرض کنیم تصاویر شما خاکستری هستند، اون موقع کافیه حد خاصی(مثلا ۲۰۰) برای سفید تعیین کنید و هر جا که ماتریس اون تصویر تون بیشتر از شد رو سفید فرض کنید.
اگه تصویرتون هم باینریه: سفید مقدار ۱ رو میگیره و کافیه با دستور ساده متلب پیکسلهایی که مقدار ۱ رو دارن پیدا کنید.


فایل‌(های) پیوست شده

یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

۰
ارسال: #۱۰
  

Behnam‌ پاسخ داده:

RE: متلب

روش روتین
کد:
img = imread('ximagepixel140141_765.bmp');
[m n] = size(img);
count0 = 0;
count1 = 0;
for i = 1 : m
   for j = 1 : n
      if(img(i,j) == 0)
         count0 = count0 + 1;
      else
         count1 = count1 + 1;
      end
   end
end
fileID = fopen('out.txt','w');
fprintf(fileID, '%d\n', count0);
fprintf(fileID, '%d\n', count1);
fclose(fileID);

روش میانبر
کد:
img = imread('ximagepixel140141_765.bmp');
fileID = fopen('out.txt','w');
fprintf(fileID, '%d\n', sum(sum(img == 0)));
fprintf(fileID, '%d\n', numel(img) - sum(sum(img == 0)));
fclose(fileID);
نقل قول این ارسال در یک پاسخ

۰
ارسال: #۱۱
  

mina001 پاسخ داده:

متلب

این کد تصویر ما رو close میکنه چیکار کنم که همه تصاویر رو باهم بخونه و تعداد پیکسل هایسفیدشون رو بشمره؟
کد:
P=imread('C:\Users\mina\Documents\MATLAB\Dataset\ximagepixels\ximagepixel140141_​765.BMP');
P=im2bw(P);
X=strel('diamond',4);
T=imclose(P,X);
subplot(1,2,1), imshow(P);
subplot(1,2,2), imshow(T);

این رو هم برای متد ۳ نوشتم که اول تصاویر رو close میکنه بعد هم open ولی این کد فقط برای یک تصویر تعداد پیکسل ها رو میشمره حالا من اون کدی که گذاشته بودین برای خوندن تمام پیکسل ها کجای این کد بزارم که تمام تصاویر پوشه که ۱۵۰ تا است رو باهم بخونه و تعداد پیکسل هاشونو بشمره و در یک فایل text ذخیره کنه؟
از راهنمایی هاتون بی نهایت ممنونم
کد:
clear all
close all
clc
P=imread('C:\Users\mina\Documents\MATLAB\Dataset\ximagepixels\ximagepixel140141_​765.BMP');
P=im2bw(P);
X=strel('diamond',4);
T=imclose(P,X);

P=im2bw(T);
X=strel('diamond',4);
A=imopen(T,X);

[m n] = size(A);
count0 = 0;
count1 = 0;
for i = 1 : m
   for j = 1 : n
      if(A(i,j) == 0)
         count0 = count0 + 1;
      else
         count1 = count1 + 1;
      end
   end
end
fileID = fopen('out.txt','w');
fprintf(fileID, '%d\n', count0);
fprintf(fileID, '%d\n', count1);
fclose(fileID);
نقل قول این ارسال در یک پاسخ

۰
ارسال: #۱۲
  

mina001 پاسخ داده:

RE: متلب

جدول و نمودار مقاله


فایل‌(های) پیوست شده


نقل قول این ارسال در یک پاسخ



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  شبکه عصبی مک کلاچ برای یک مورد کاربردی با متلب Sanazzzz.mi ۰ ۲,۲۱۰ ۲۶ مهر ۱۳۹۸ ۰۱:۲۰ ق.ظ
آخرین ارسال: Sanazzzz.mi
  مجموعه آموزشی رایگان برنامه نویسی متلب net work ۰ ۲,۱۲۹ ۲۲ فروردین ۱۳۹۸ ۰۳:۲۱ ب.ظ
آخرین ارسال: net work
  نیاز به دیتاست برای شبکه عصبی مصنوعی در متلب MATLAB ghasemkh ۰ ۲,۸۸۲ ۲۵ دى ۱۳۹۷ ۰۳:۳۲ ق.ظ
آخرین ارسال: ghasemkh
  مشکل لایسنس متلب αɾια ۱۳ ۱۶,۱۱۹ ۲۱ آذر ۱۳۹۷ ۱۰:۴۷ ق.ظ
آخرین ارسال: αɾια
  پردازش تصویر با متلب Baran15 ۰ ۱,۹۲۳ ۱۷ آبان ۱۳۹۷ ۰۱:۱۵ ق.ظ
آخرین ارسال: Baran15
  ماتریس ها در متلب safoora s ۱ ۲,۱۲۸ ۱۲ مرداد ۱۳۹۷ ۱۲:۲۲ ب.ظ
آخرین ارسال: BBumir
  کمک در یادگیری شبیه سازی شبکه در متلب atefe73 ۲ ۲,۸۸۱ ۲۹ تیر ۱۳۹۷ ۰۱:۵۹ ب.ظ
آخرین ارسال: The BesT
  کمک در یادگیری شبیه سازی شبکه های هوشمند در متلب atefe73 ۱ ۳,۷۸۱ ۲۵ تیر ۱۳۹۷ ۰۶:۴۸ ب.ظ
آخرین ارسال: atefe73
Sad جایگزین goto در متلب! αɾια ۵ ۱۰,۶۴۵ ۲۲ تیر ۱۳۹۷ ۰۳:۵۱ ب.ظ
آخرین ارسال: Riemann
  خطای نتیجه در متلب The BesT ۶ ۴,۷۶۰ ۲۰ تیر ۱۳۹۷ ۱۰:۳۹ ق.ظ
آخرین ارسال: Behnam‌

پرش به انجمن:

Can I see some ID?

به خاطر سپاری رمز Cancel

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close

رمزت رو فراموش کردی؟

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. close