PDA

View Full Version : سوال: پردازش تصویر با نرم افزار Matlab



mohi_ka2
سه شنبه 26 شهریور 1387, 09:59 صبح
با سلام به همه ی دوستان برنامه نویس
من پروژه ای دارم با موضوع بخش بندی تصاویر که با نرم افزار مطلب قراره روش کار کنم . تا یه جاهایی هم پیش رفتم. اما الان به یه مشکلی برخوردم
من روی پردازش تصویر رقمی کار می کنم و قراره که یکسری فیلتر ها رو روی تصاویرم اعمال کنم . و فرمت تصاویر هم از پیش تعیین شده نیست
مشکل من الان اینه که نمی دونم آیا برای اینکه روی هر تصویری با هر فرمتی کار کنم ، لازمه که حتما تمام فرمت ها رو بشناسم و جداگانه کار کنم ، یا اینکه تصویر با هر فرمتی هم که باشه می شه یه ماسک سه در سه رو روش پیاده کرد و لازم به شناسایی فرمت نیست؟؟:متفکر:
ممنون می شم پاسخ بدید
با تشکر

mehdad.koulab
سه شنبه 26 شهریور 1387, 11:08 صبح
سلام
دوست عزيز نميدونم گه فيلترهايي رو ميگين ولي من چون مطلاب بلد نبوده و نيستم اين كار رو با VB كردم پدرم در اومد ولي يه تاپيك بود كه راجع به نويز در پردازش تصوير بود جناب مدير چند تا الگوريتن راجع به اين گذاشتن تاپيك رو ببينيد.
نويز در پردازش تصوير (http://barnamenevis.org/forum/showthread.php?t=105987)

ali209
سه شنبه 26 شهریور 1387, 13:11 عصر
سلام
نه نیاز نیست که همه ی فرمتها رو بلد باشی
با دستور imread تصویر رو میخونی و
با دستور rgb2bw تصاویر رنگی رو به رقمی تبدیل میکنی.
موفق باشی

mohi_ka2
سه شنبه 26 شهریور 1387, 14:03 عصر
سلام
دوست عزيز نميدونم گه فيلترهايي رو ميگين ولي من چون مطلاب بلد نبوده و نيستم اين كار رو با VB كردم پدرم در اومد ولي يه تاپيك بود كه راجع به نويز در پردازش تصوير بود جناب مدير چند تا الگوريتن راجع به اين گذاشتن تاپيك رو ببينيد.
نويز در پردازش تصوير (http://barnamenevis.org/forum/showthread.php?t=105987)
ممنون از راهنماییتون :لبخندساده:
اونو قبلا دیدم . مشکم با اون حل نشد . اون کتاب ها رو خودم دارم. قبلا با سی شارپ شبیه این کار کرده بودم ولی اون موقع فقط رو تصاویر JPG الان می خوام بدونم تو مطلب لازمه فرمت رو جدا کنم یا خود توابع مطلب این مشکل رو حل کرده و آیا کلا لازمه رو فرمت ها مختلف تصاویر جداگانه کار کنم ؟؟:متفکر::افسرده:

mohi_ka2
سه شنبه 26 شهریور 1387, 14:07 عصر
سلام
نه نیاز نیست که همه ی فرمتها رو بلد باشی
با دستور imread تصویر رو میخونی و
با دستور rgb2bw تصاویر رنگی رو به رقمی تبدیل میکنی.
موفق باشی
جدی؟؟؟؟

واقعا لازم نیست ؟؟ آخه دستور imread فرمت تصویر رو می پرسه. می شه یه نمونه استفاده از این دستور رو بزنید. چون وقتی آدرس تصویر رو بهش می دم خطا می گیره!!:افسرده:

whitehat
سه شنبه 26 شهریور 1387, 15:06 عصر
بهتره یک بار دیگه تاپیک مذکور را بخوانید، imread نیازی به فرمت تصویر نداره


[FileName,PathName] = uigetfile('*.*','Open');
source_path=cat(2, PathName, FileName)
if(FileName == 0),
return;
end;
global a;
axes(handles.axes1);
a=imread(source_path);
imshow(a);

amir_saniyan
سه شنبه 26 شهریور 1387, 16:39 عصر
سلام.

این یک پروژه به زبان C# برای پردازش تصویر است:
http://code.google.com/p/aforge

این هم همون پروژه تو Codeproject:
http://www.codeproject.com/KB/recipes/aforge.aspx

این هم یک کتابخانه برای خواندن و نوشتن هر نوع پرونده گرافیکی با هر قالبی:
http://freeimage.sourceforge.net

این هم پروژه‌ای دیگر برای خواندن و نوشتن پرونده‌های گرافیکی:
http://www.imagemagick.org/script/index.php

برای آشنایی با قالب فایل‌های گرافیکی کتاب «آشنایی با قالب فایل‌های گرافیکی» (به فارسی) رو مطالعه نمایید.

موفق باشید.

mohi_ka2
سه شنبه 26 شهریور 1387, 22:50 عصر
برای آشنایی با قالب فایل‌های گرافیکی کتاب «آشنایی با قالب فایل‌های گرافیکی» (به فارسی) رو مطالعه نمایید.

موفق باشید.

سلام و تشکر از همگی :تشویق:
این کتاب تو اینتر نت هم یافت می شه؟؟؟ و اگه می شه اسم نویسنده و انتشارات رو هم بزنید ممنون می شم

از آقای مدیر هم ممنونم :چشمک:

خیلی لطف کردید:لبخندساده:

mohi_ka2
سه شنبه 26 شهریور 1387, 23:36 عصر
بهتره یک بار دیگه تاپیک مذکور را بخوانید، imread نیازی به فرمت تصویر نداره


[FileName,PathName] = uigetfile('*.*','Open');
source_path=cat(2, PathName, FileName)
if(FileName == 0),
return;
end;
global a;
axes(handles.axes1);
a=imread(source_path);
imshow(a);

می شه یه نمونه بیارین . چون من وقتی مسیر فایل رو می دم خطا می گیره !! :افسرده::عصبانی++:

whitehat
سه شنبه 26 شهریور 1387, 23:53 عصر
تک تک آنها را اجرا کنید ببینید آیا درست اجرا می شوند؟
چه پیغام خطایی دریافت می کنید؟
آیا مسیر را در دو ' می گذارید؟

mohi_ka2
پنج شنبه 28 شهریور 1387, 00:18 صبح
تک تک آنها را اجرا کنید ببینید آیا درست اجرا می شوند؟
چه پیغام خطایی دریافت می کنید؟
آیا مسیر را در دو ' می گذارید؟
کد من این هست :

>> f=imread('g:/c.png');
>> imshow(f);
w=[-1 -1 -1 ; -1 8 -1 ; -1 -1 -1];
>> g=abs(imfilter(double(f),w));
>> imshow(g);
>> T=max(g(:));
>> imshow(T);
>> g=g>=T;
>> imshow(g);

اینم اررورشه :

]??? Error using ==> imuitools\private\imageDisplayParseInputs>validateCData
If input is logical (binary), it must be two-dimensional.[/COLOR]
Error in ==> imuitools\private\imageDisplayParseInputs at 205
cdata = validateCData(cdata,image_type);
Error in ==> imshow at 151
[cdata, cdatamapping, clim, map, xdata, ydata, ...

البته اون ارروری که گفتم برطرف شد اما تو دموی مطلب اینطوری نوشته :


A = imread(filename,fmt) reads
a grayscale or color image from the file specified by the string filename,
where the string fmt specifies the format of the
file. If the file is not in the current directory or in a directory in the
MATLAB path, specify the full pathname of the location on your system. For
a list of all the possible values for fmt, see Supported Formats. If imread cannot
find a file named filename, it looks for a file named filename.fmt.


در هر صورت کاری رو که شما گفتید کردم ، اون مشکلش درست شد.کدی رو هم که الان زدم ، تا آخرین ایمیج شویی که ازش گرفتم درست کار می کرد اما آخرین بار اررو می ده .درضمن کد رو هم از روی کتاب گونزالس گرفتم.

اما من هنوز نمی دونم لازم هست که روی فرمت های تصویر کار کنم یا نه ؟؟؟؟:متفکر:

whitehat
جمعه 29 شهریور 1387, 12:18 عصر
اما من هنوز نمی دونم لازم هست که روی فرمت های تصویر کار کنم یا نه ؟؟؟؟
من دقیقا مطمئن نیستم اما این روش برای فایل های jpg و bmp و pcx , gif کار میکنه، با tff امتحان نکردم. روشی که دوستمون معرفی کردن هم برای تصاویر سیاه و سفید موثره ، البته من بیشتر ترجیح می دم با تصاویر grayscale کار بشه تا بار اطلاعاتی تصویر بیشتر باشه
موفق باشید

m_cmp80
یک شنبه 28 مهر 1387, 01:22 صبح
سلام
من نمی دونم کدوم قسمت می تونم سوالم رو بپرسم
سوالم در مورد نگاشت تصاویر در نرم افزار matlab هستش
میشه دوستان کمکم کنند؟من یه صفحه 1024*1024 دارم و می خوام اون رو روی یه استوانه به شعاع 489 و 120 درجه نگاشت کنم

ali ashna
یک شنبه 28 مهر 1387, 21:40 عصر
جناب mohi_ka2 كد زير نمونه از فيلتر كردن تصاوير را نشون ميده



originalRGB = imread('peppers.png');
imshow(originalRGB)
h = fspecial('motion', 50, 45);
filteredRGB = imfilter(originalRGB, h);
figure, imshow(filteredRGB)


اميدوارم مفيد باشه.

elhamnaghavi
سه شنبه 04 خرداد 1389, 10:07 صبح
[با سلام
دوستان من دارم روی تشخیص چهره با نرم افزار مطلب کار میکنم اگه کسی میتونه راهنماییم کنه .با تشکر

مصطفی ساتکی
سه شنبه 04 خرداد 1389, 10:47 صبح
تو این تاپیک توضیح داده شده: http://barnamenevis.org/forum/showth...87%D8%B1%D9%87 (http://barnamenevis.org/forum/showthread.php?t=218072&highlight=%D8%AA%D8%B4%D8%AE%DB%8C%D8%B5+%DA%86%D9 %87%D8%B1%D9%87)
در صورت یادگیری مطالب ذکر شده در این تاپیک می تونید سوال خودتون رو با جزئیات بیشتر در ادامه تاپیک فوق مطرح کنید