رفتن به مطلب

ارسال های توصیه شده

سلام

خواهش می کنم.

ببین منظور از هیستوگرام رنگ اینه؟ چون حالت اول اگه تعداد رنگ ها خیلی زیاده، نمیشه با هستوگرام نمایششون داد:

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

می تونی فایلات رو زیپ کنی، تا 9 مگ میشه حجم هر فایل باشه، یا اینکه از

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.
استفاده کن.:a030:[/quote

سلام

شاید سایت زیر منظور من رو از هیستوگرام رنگ به صورت بهتری بیان کند البته یک کد طولانی هم داره که راستش ازش سردرنمی آرم:ws52:

شما یک نگاه بهش بنداز احتمالا شما متوچه میشی.:icon_gol:

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

به نظر می رسه که این کد خوبی برای بدست آوردن هیستوگرام باشه

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

function histogram_file%color histogram plot

 

global color_image;

load color_image;

 

I=color_image;

[x,map]=rgb2ind(I,256);

figure(2)

subplot(2,1,1)

imhist(x,map);

title('Histogram');

[freq,no]=imhist(x,map);

subplot(2,1,2);

stem(no,freq);

title('Histogram Plot');

save map;

شما هم نظر خودتون بگید

مرسی دوست عزیز

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

لینک به دیدگاه

به نظر می رسه که این کد خوبی برای بدست آوردن هیستوگرام باشه

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

function histogram_file%color histogram plot

 

شما هم نظر خودتون بگید

مرسی دوست عزیز

به نظر می رسه محدوده رنگهای کاهش یافته 25 تا هستند و ما باید به 64 تا تبدیلش کنیم

شما کمک کنید تا به 64 تا برسد

clear

global color_image

I = imread('2.1.jpg')

imshow(I)

[x,map]=rgb2ind(I,256)

figure(2)

subplot(2,1,1)

figure,imhist(x,map)

 

 

New_img = uint8(floor(double(I)/64)*64)

figure,imshow(New_img)

 

 

[x,map]=rgb2ind(New_img,256)

figure(2)

subplot(2,1,1)

figure,imhist(x,map)

لینک به دیدگاه
سلام

شاید سایت زیر منظور من رو از هیستوگرام رنگ به صورت بهتری بیان کند البته یک کد طولانی هم داره که راستش ازش سردرنمی آرم:ws52:

شما یک نگاه بهش بنداز احتمالا شما متوچه میشی.:icon_gol:

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

به نظر می رسه که این کد خوبی برای بدست آوردن هیستوگرام باشه

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

function histogram_file%color histogram plot

 

global color_image;

load color_image;

 

I=color_image;

[x,map]=rgb2ind(I,256);

figure(2)

subplot(2,1,1)

imhist(x,map);

title('Histogram');

[freq,no]=imhist(x,map);

subplot(2,1,2);

stem(no,freq);

title('Histogram Plot');

save map;

شما هم نظر خودتون بگید

مرسی دوست عزیز

 

به نظر می رسه محدوده رنگهای کاهش یافته 25 تا هستند و ما باید به 64 تا تبدیلش کنیم

شما کمک کنید تا به 64 تا برسد

clear

global color_image

I = imread('2.1.jpg')

imshow(I)

[x,map]=rgb2ind(I,256)

figure(2)

subplot(2,1,1)

figure,imhist(x,map)

 

 

New_img = uint8(floor(double(I)/64)*64)

figure,imshow(New_img)

 

 

[x,map]=rgb2ind(New_img,256)

figure(2)

subplot(2,1,1)

figure,imhist(x,map)

 

سلام

ببین سحر خانوم توی مقاله ت هم گفته که برای تصاویر RGB ابتدا تعداد رنگ ها رو کاهش میدن، بعد که امکان رسم هیستوگرام رنگ وجود داره اونو رسم می کنم، وگرنه با توجه به تعداد زیاد رنگا عملا امکان نمایششون نیست.

 

اون کد اولی هم که لینکش رو گذاشتی به نظر پیچیده تر از کار شما باشه. اینی که توی مقاله گفته شده خیلی ساده تر هست، اما در مورد rgb2ind اگه هلپ متلب رو نگاه کنی میاد به تعداد رنگ هایی که میدی (ورودی دومش)، رنگهای تصویرت رو به همون تعداد کاهش میده، مثلا 256 که بهش دادی یعنی تصویر خروجیش تنها 256 تا رنگ داره، برای همین می تونه برای اون 256 رنگ هیستوگرام رو رسم کنه. اما تصویر دومی که تعداد سطوح روشناییش حداکثر می تونه 64 تا باشه، وقتی بهش 256 هم بدی به تعداد رنگ های اون تصویر می تونه ستون توی هیستوگرامش داشته باشه، در نتیجه تعداد ستوناش به تعداد رنگ هایی که هست که تو تصویرت داری.

 

می خوای از هر روشی که برای خودت راحت تر هست، تعداد هر کدوم از این 64 تا رنگ رو حساب کن، بعد توی یه هیستوگرام نمایشش میدیم.

 

شروع کن با هم جلو میریم.:w16:

لینک به دیدگاه
سلام

ببین سحر خانوم توی مقاله ت هم گفته که برای تصاویر RGB ابتدا تعداد رنگ ها رو کاهش میدن، بعد که امکان رسم هیستوگرام رنگ وجود داره اونو رسم می کنم، وگرنه با توجه به تعداد زیاد رنگا عملا امکان نمایششون نیست.

 

اون کد اولی هم که لینکش رو گذاشتی به نظر پیچیده تر از کار شما باشه. اینی که توی مقاله گفته شده خیلی ساده تر هست، اما در مورد rgb2ind اگه هلپ متلب رو نگاه کنی میاد به تعداد رنگ هایی که میدی (ورودی دومش)، رنگهای تصویرت رو به همون تعداد کاهش میده، مثلا 256 که بهش دادی یعنی تصویر خروجیش تنها 256 تا رنگ داره، برای همین می تونه برای اون 256 رنگ هیستوگرام رو رسم کنه. اما تصویر دومی که تعداد سطوح روشناییش حداکثر می تونه 64 تا باشه، وقتی بهش 256 هم بدی به تعداد رنگ های اون تصویر می تونه ستون توی هیستوگرامش داشته باشه، در نتیجه تعداد ستوناش به تعداد رنگ هایی که هست که تو تصویرت داری.

 

می خوای از هر روشی که برای خودت راحت تر هست، تعداد هر کدوم از این 64 تا رنگ رو حساب کن، بعد توی یه هیستوگرام نمایشش میدیم.

 

شروع کن با هم جلو میریم.:w16:

سلام

ممنون با روشی که گفتید خصوصیات رنگ کاهش یافتند.

1- درسته ببخشید فراموش کردم استاد به ما گفت فرض کنید که سایز تصویرتون 256*256 است. پس ما 256 ستون خواهیم داشت و رنگها همان 256 به صورت پیش فرض خواهند بود

2- بله حق با شماس کد اول خیلی سخته

3- rgb2ind یعنی ورودی دوم را 64 زدم و تعداد رنگها کاهش یافتند:hapydancsmil:

4- به نظر می رسه اگه اشتباه نکنم گام بعدی استخراج خصوصیات رنگ است

5- روشی که بتونه تصویری را که رنگهای اون کاهش پیدا کردند را می تونیم دوباره ببینیم؟:5c6ipag2mnshmsf5ju3

6- استخراج خصوصیات رنگ؟:5c6ipag2mnshmsf5ju3

--- آیا جدا کردن کانالهای رنگ r,g,b هستند ؟:5c6ipag2mnshmsf5ju3

ممنون از اینکه در نوشتن پروژه به من کمک می کنید:icon_gol:

لینک به دیدگاه
سلام

ممنون با روشی که گفتید خصوصیات رنگ کاهش یافتند.

1- درسته ببخشید فراموش کردم استاد به ما گفت فرض کنید که سایز تصویرتون 256*256 است. پس ما 256 ستون خواهیم داشت و رنگها همان 256 به صورت پیش فرض خواهند بود

2- بله حق با شماس کد اول خیلی سخته

3- rgb2ind یعنی ورودی دوم را 64 زدم و تعداد رنگها کاهش یافتند:hapydancsmil:

4- به نظر می رسه اگه اشتباه نکنم گام بعدی استخراج خصوصیات رنگ است

5- روشی که بتونه تصویری را که رنگهای اون کاهش پیدا کردند را می تونیم دوباره ببینیم؟:5c6ipag2mnshmsf5ju3

6- استخراج خصوصیات رنگ؟:5c6ipag2mnshmsf5ju3

--- آیا جدا کردن کانالهای رنگ r,g,b هستند ؟:5c6ipag2mnshmsf5ju3

ممنون از اینکه در نوشتن پروژه به من کمک می کنید:icon_gol:

 

ببین سحر خانوم خصوصیات رنگ که توی مقاله اشاره شده، تعداد پیکسل ها از 64 رنگ خاص هستش، این 64 رنگ باید برای همه تصاویر ثابت باشه، اما rgb2ind همیشه 64 تا رنگ بهت میده که ممکنه از یه تصویر نسبت به تصویر دیگه رنگ ها متفاوت باشن. 64 تا رنگ همونایی هستن که خودت اول حساب می کردی، 4 سطح روشنایی برای هر کانال.:a030:

 

برای نمایش تصویر جدید هم می تونی از imshow استفاده کنی، البته باید map هم بهش بدی:

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

خواهش می کنم:icon_gol:

لینک به دیدگاه
ببین سحر خانوم خصوصیات رنگ که توی مقاله اشاره شده، تعداد پیکسل ها از 64 رنگ خاص هستش، این 64 رنگ باید برای همه تصاویر ثابت باشه، اما rgb2ind همیشه 64 تا رنگ بهت میده که ممکنه از یه تصویر نسبت به تصویر دیگه رنگ ها متفاوت باشن. 64 تا رنگ همونایی هستن که خودت اول حساب می کردی، 4 سطح روشنایی برای هر کانال.:a030:

 

برای نمایش تصویر جدید هم می تونی از imshow استفاده کنی، البته باید map هم بهش بدی:

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

خواهش می کنم:icon_gol:

سلام

سپاس از کمک های شما دوست عزیزم

بله راه حل شما منطقیه و درست ولی من نمی تونم اجراش کنم:sigh:

من برنامه نویسیم ضعیفه و همچنین از کدهای پردازش تصویر و متلب سردرنمی آرم متاسفانه:sigh:

و فرصت بسیار کمی واسه تحویل پروژه دارم خوب دیگه کار دقیقه 90 میشه

چطور می تونم خصوصیات رنگ رو جدا کنم و اونا رو داخل محیط اکسل وارد کنم این خصوصیات را از کدوم قسمت از برنامه باید بدست بیارم؟:ws52:

بعد از این هم باید برم و خصوصیات بافت رو بدست بیارم:5c6ipag2mnshmsf5ju3

مرسی دوست عزیزم

لینک به دیدگاه
سلام

سپاس از کمک های شما دوست عزیزم

بله راه حل شما منطقیه و درست ولی من نمی تونم اجراش کنم:sigh:

من برنامه نویسیم ضعیفه و همچنین از کدهای پردازش تصویر و متلب سردرنمی آرم متاسفانه:sigh:

و فرصت بسیار کمی واسه تحویل پروژه دارم خوب دیگه کار دقیقه 90 میشه

چطور می تونم خصوصیات رنگ رو جدا کنم و اونا رو داخل محیط اکسل وارد کنم این خصوصیات را از کدوم قسمت از برنامه باید بدست بیارم؟:ws52:

بعد از این هم باید برم و خصوصیات بافت رو بدست بیارم:5c6ipag2mnshmsf5ju3

مرسی دوست عزیزم

 

سلام سحر جان

خواهش می کنم، مهندس کامپیوتر مگه میشه برنامه نویسیش ضعیف باشه؟:w02:

 

متلبم کار کردن باهاش خیلی ساده هست. قرار شد تعداد پیکسل هر کدوم از اون 64 تا رنگ رو بشماریم دیگه. با کد خیلی ساده شروع می کنیم، خب تصویر رو بر 64 تقسیم کنیم و بعد با floor به پایین گردش کنیم، تصویر با سطوح روشنایی 0 تا 3بهمون میده. حالا می خوایم ببینیم چند تا پیکسل سیاه توی تصویرمون وجود داره، یعنی توی هر سه کانال باید مقدارش صفر باشه. پس هر کدوم از کانال ها رو با این مقدار مقایسه می کنیم و در آخر سه تا ماتریس رو با هم ضرب یا and می کنیم تا یک های مشترکشون که در واقع نشون دهنده رنگ مشکی میشه رو بهمون بده. با nnz رو هم تعداد غیر صفرها که نشون دنهده پیکسل هایی هست که هر سه شرط رو داشتن می شمریم. این میشه ویژگی اول رنگ شما، با چند تا حلقه خیلی راحت می تونی برای 64 تا هم همینطور حساب کنی.

 

در مورد اکسل هم فانکشن xlswrite برات فایل اکسل با دیتایی که بهش میدی تولید می کنه.

ویژگی بافت هم که از همون فانکشن glcm که گفته بودم می تونی استفاده کنی، توی هلپ هم در موردش توضیح داده.:a030:

لینک به دیدگاه
سلام سحر جان

خواهش می کنم، مهندس کامپیوتر مگه میشه برنامه نویسیش ضعیف باشه؟:w02:

 

متلبم کار کردن باهاش خیلی ساده هست. قرار شد تعداد پیکسل هر کدوم از اون 64 تا رنگ رو بشماریم دیگه. با کد خیلی ساده شروع می کنیم، خب تصویر رو بر 64 تقسیم کنیم و بعد با floor به پایین گردش کنیم، تصویر با سطوح روشنایی 0 تا 3بهمون میده. حالا می خوایم ببینیم چند تا پیکسل سیاه توی تصویرمون وجود داره، یعنی توی هر سه کانال باید مقدارش صفر باشه. پس هر کدوم از کانال ها رو با این مقدار مقایسه می کنیم و در آخر سه تا ماتریس رو با هم ضرب یا and می کنیم تا یک های مشترکشون که در واقع نشون دهنده رنگ مشکی میشه رو بهمون بده. با nnz رو هم تعداد غیر صفرها که نشون دنهده پیکسل هایی هست که هر سه شرط رو داشتن می شمریم. این میشه ویژگی اول رنگ شما، با چند تا حلقه خیلی راحت می تونی برای 64 تا هم همینطور حساب کنی.

 

در مورد اکسل هم فانکشن xlswrite برات فایل اکسل با دیتایی که بهش میدی تولید می کنه.

ویژگی بافت هم که از همون فانکشن glcm که گفته بودم می تونی استفاده کنی، توی هلپ هم در موردش توضیح داده.:a030:

سلام

واقعا از راهنمایی شما ممنونم دست شما درد نکنه

:icon_gol::icon_gol:

1- ؟ تصویر مگه تعداد پکسل های زیادی نداره ..:ws52:

2- سطوح روشنایی 0 تا 3 ok :hapydancsmil:معنیش رو الان فهمیدم

3- چرا باید تعداد پیکسل های سیاه رو داشته باشیم

4- چرا داخل هر سه کانال باید مقدار صفر داشته باشه؟:ws52:

5- چرا باید رنگ مشکی رو بدست بیاریم

6-nnz:ws52::ws52:

7- کد رو ندارم حلقه ها؟:ws52:

8- من تا حالا با این فانکشن کار نکردمxlswrite:ws37::ws37:

9- glcm هم بسیار سپاسگزارم دوست عزیزم

لینک به دیدگاه
سلام

واقعا از راهنمایی شما ممنونم دست شما درد نکنه

:icon_gol::icon_gol:

1- ؟ تصویر مگه تعداد پکسل های زیادی نداره ..:ws52:

2- سطوح روشنایی 0 تا 3 ok :hapydancsmil:معنیش رو الان فهمیدم

3- چرا باید تعداد پیکسل های سیاه رو داشته باشیم

4- چرا داخل هر سه کانال باید مقدار صفر داشته باشه؟:ws52:

5- چرا باید رنگ مشکی رو بدست بیاریم

6-nnz:ws52::ws52:

7- کد رو ندارم حلقه ها؟:ws52:

8- من تا حالا با این فانکشن کار نکردمxlswrite:ws37::ws37:

9- glcm هم بسیار سپاسگزارم دوست عزیزم

 

سوال تابع xlswrite من هیچ جا درباره این تابع توضیحی ندیدم

آیا کتاب خاصی داره

یا استخراج ویژگی های رنگ

:icon_gol:

 

خواهش می کنم، یادم رفت کدو برات بذارم.:ws3:

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

خب اینجا می خواد یه سری ویژگی از تصویر بدست بیاره دیگه، که تفاوت تصویرهای مختلف از روی این ویژگی ها قابل تشخیص باشه، یه دسته از این ویژگی ها همین تعداد پیکسل هایی که از این 64 رنگ توی هر تصویر وجود داره هستن. ما هم از رنگ اول یعنی سیاه ([0 0 0])شروع می کنیم، که توی هر سه تا کانال مقدار صفر داره.

 

متلب توی تکرارها کند عمل می کنه و برای کار با آرایه ها بهینه شده، یعنی تا جایی که امکان داره باید کمتر از حلقه ها استفاده کرد، اینجا هم مقایسه ها رو ماتریسی نوشتم. روی یه ماتری کوچیکتر ببینیم که دقیقا چه اتفاقی میفته:

 

یه ماتریس 3 در 3 دارم، میام با 2 مقایسه ش می کنم:

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

خروجیش میشه این، یه ماتریس منطقی:

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

با 2 مقایسه ش کرده، هر جا ماوی باشه 1 به جاش گذاشته. بخوام تعدادش هم بشمرم:

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

این فانکشن هم تعداد غیر صفرهای یه ماتریس (Number of NonZero) رو بهم میده، که همون در واقع تعداد 2 ها میشه.

 

حالا اگه بخوایم تعداد 3 ها رو هم داشته باشیم:

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

همونطور که گفتم ماتریسای خروجی منطقی هستن، می تونیم با هم and و orشون کنیم. حالا اگه 2 یا 3 رو بخوایم:

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

xlswrite هم فانکشن خیلی ساده ای هست، یه نگاهی به هلپم بندازی متوجه طرز کارش میشی، فعلا نگران اون نباش.:a030:

لینک به دیدگاه

سلام

کد بالا New_img = floor(double(img)/64) تعداد رنگ هاش کمتر از 64

ولی اگه به جاش New_img = uint8(floor(double(img)/32)*64) قرار بدیم 64 تا رنگ رو نشون میده

ویژگی ها کدوم هستند ؟:banel_smiley_4::ws52::sigh:

لینک به دیدگاه

ببخشید من کاملا گیج شدم

برنامه هام درست اجرا نمی شن

هیستوگرام و اون چیزی که مورد نظر من بود کار نمی کنند

نمی دونم ویژگی ها کجا هستند

فکر می کنم دارم دور خودم می چرخم

:ws52:

لینک به دیدگاه

به نظر می رسه محدوده رنگهای کاهش یافته 25 تا هستند و ما باید به 64 تا تبدیلش کنیم

شما کمک کنید تا به 64 تا برسد

clear

global color_image

I = imread('2.1.jpg')

imshow(I)

[x,map]=rgb2ind(I,256)

figure(2)

subplot(2,1,1)

figure,imhist(x,map)

 

 

New_img = uint8(floor(double(I)/64)*64)

figure,imshow(New_img)

 

 

[x,map]=rgb2ind(New_img,256)

figure(2)

subplot(2,1,1)

figure,imhist(x,map)

کد جدید را که با این ادغام می کنم مشکل داره

clear

I = imread('peppers.png');

 

clear;

img = imread('peppers.png');

New_img = floor(double(img)/64);

 

r = 0;

g = 0;

b = 0;

 

h = nnz((New_img(:,:,1) == r) & (New_img(:,:,2) == g) & (New_img(:,:,3) == b));نمیشه

به این دلیل که

New_img و x,map؟؟؟؟؟:ws52:

لطفا درستش کنید حسابی منو کلافه کرده

لینک به دیدگاه
سلام

کد بالا New_img = floor(double(img)/64) تعداد رنگ هاش کمتر از 64

ولی اگه به جاش New_img = uint8(floor(double(img)/32)*64) قرار بدیم 64 تا رنگ رو نشون میده

ویژگی ها کدوم هستند ؟:banel_smiley_4::ws52::sigh:

 

سلام

خب قرار نیست برای همه تصاویر که این 64 رنگ وجود داشته باشه که، طبیعی هست بعضی رنگا اصلا وجود نداشته باشن. باید ویژگی هامون ثابت باشن دیگه، گفتم همین تعداد پیکسل ها در 64 تا رنگ میشه ویژگی مون. یعنی ویژگی های رنگ این تصویر میشه، مثلا 2489 تا پیکسل به رنگ سیاه داخلش وجود داره، 4958 تا پیکسل به رنگ [0 0 1] وجود داره، 8764 تا پیکسل به رنگ [0 1 1] داخلش هست، همینطور تا آخر.

 

ببخشید من کاملا گیج شدم

برنامه هام درست اجرا نمی شن

هیستوگرام و اون چیزی که مورد نظر من بود کار نمی کنند

نمی دونم ویژگی ها کجا هستند

فکر می کنم دارم دور خودم می چرخم

:ws52:

 

کانالهای r,b,g خالی هستند و اصلا مقدار ندارند

 

کد جدید را که با این ادغام می کنم مشکل داره

clear

I = imread('peppers.png');

 

clear;

img = imread('peppers.png');

New_img = floor(double(img)/64);

 

r = 0;

g = 0;

b = 0;

 

h = nnz((New_img(:,:,1) == r) & (New_img(:,:,2) == g) & (New_img(:,:,3) == b));نمیشه

به این دلیل که

New_img و x,map؟؟؟؟؟:ws52:

لطفا درستش کنید حسابی منو کلافه کرده

 

برای چی می خوای ادغامشون کنی؟

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

لینک به دیدگاه

سلام پس من کد متلب خودم که تمام مراحل از ابتدا تا این قسمت است را برای شما می فرستم شما اجرا کنید و نظر خودتون را در مورد این کد بفرمایید.

بعد از این که شما کد را دریافت کردید من این کد را پاک می کنم چون ممکنه همکلاسی های من این کد را ببینند.:ws3:

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

لینک به دیدگاه
سلام پس من کد متلب خودم که تمام مراحل از ابتدا تا این قسمت است را برای شما می فرستم شما اجرا کنید و نظر خودتون را در مورد این کد بفرمایید.

بعد از این که شما کد را دریافت کردید من این کد را پاک می کنم چون ممکنه همکلاسی های من این کد را ببینند.:ws3:

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

 

اوکی با پیام خصوصی برام بفرست.:a030:

لینک به دیدگاه
دقیقا متوجه منظورت نمیشم، مثالی در موردش می تونی بزنی؟

 

 

 

تعداد رنگ های جدیدت حداکثر می تونه برابر 64 تا باشه، الزامی وجود نداره که همه رنگ ها رو داخل تصویرت داشته باشی.

 

اگه هیستوگرام خروجی هم حساب کنی، می بینی که فقط 4 تا ستون داره:

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

بیا یه کد بنویسیم ببینم چند تا رنگ توی تصویر جدیدمون داریم.:w02:

 

خب من اینجا می خوام از دستور unique متلب برای اینکار استفاده کنم تا خیلی سریع بتونیم به نتیجه برسیم، یه آپشنی داره به نام rows که سطرهای منحصر به فرد رو بهمون میده، اگه بتونیم ماتریس تصویرمون رو طوری تغییر شکل بدیم که مقادیر هر پیکسل توی یه سطر قرار بگیره می تونیم از همین ویژگی برای پیدا کردن تعداد رنگا استفاده کنیم. میام هر کانال رنگی رو ستوی می کنم و توی ستون های اول تا سوم یه ماتریس قرار میدم.

اگه UniqueColors رو توی ورک اسپیس چک کنی، یه ماتریس 36 در 3 هستش، یعنی توی تصویر جدید ما 36 رنگ داریم، این رنگا رو هم توی یه فیگور جدا نمایش میدیم.

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

سلام این کد فقط برای این تصویر جواب می دهد ولی برای تصاویر دیگر جواب نمی دهد

Untitled.jpg

لینک به دیدگاه

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...